From 8396dfe7e3c9da0dd7d2bd3f5de9b29c7dabccfb Mon Sep 17 00:00:00 2001 From: AFCMS Date: Thu, 21 Apr 2022 21:02:43 +0200 Subject: [PATCH 01/25] enderdragon egg: check for protection on punch --- mods/ITEMS/mcl_end/building.lua | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/mods/ITEMS/mcl_end/building.lua b/mods/ITEMS/mcl_end/building.lua index 3c8f7f66c..06c6722c4 100644 --- a/mods/ITEMS/mcl_end/building.lua +++ b/mods/ITEMS/mcl_end/building.lua @@ -166,18 +166,20 @@ minetest.register_node("mcl_end:dragon_egg", { selection_box = { type = "regular", }, - groups = {handy=1, falling_node = 1, deco_block = 1, not_in_creative_inventory = 1, dig_by_piston = 1 }, + groups = {handy = 1, falling_node = 1, deco_block = 1, not_in_creative_inventory = 1, dig_by_piston = 1 }, sounds = mcl_sounds.node_sound_stone_defaults(), _mcl_blast_resistance = 9, _mcl_hardness = 3, - on_punch = function(pos, node) - local max_dist = vector.new(15, 7, 15) - local positions = minetest.find_nodes_in_area(vector.subtract(pos, max_dist), vector.add(pos, max_dist), "air", false) - if #positions > 0 then - local tpos = positions[math.random(#positions)] - minetest.remove_node(pos) - minetest.set_node(tpos, node) - minetest.check_for_falling(tpos) + on_punch = function(pos, node, puncher) + if not minetest.is_protected(pos, puncher:get_player_name()) then + local max_dist = vector.new(15, 7, 15) + local positions = minetest.find_nodes_in_area(vector.subtract(pos, max_dist), vector.add(pos, max_dist), "air", false) + if #positions > 0 then + local tpos = positions[math.random(#positions)] + minetest.remove_node(pos) + minetest.set_node(tpos, node) + minetest.check_for_falling(tpos) + end end end, }) From a83a2e9aba122d0fb4f1c120252a0d4eb07a1f10 Mon Sep 17 00:00:00 2001 From: cora Date: Wed, 20 Apr 2022 15:17:29 +0200 Subject: [PATCH 02/25] generate podzol under huge spruce trees --- mods/ITEMS/mcl_core/functions.lua | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_core/functions.lua b/mods/ITEMS/mcl_core/functions.lua index 6cb727d51..fc08a0957 100644 --- a/mods/ITEMS/mcl_core/functions.lua +++ b/mods/ITEMS/mcl_core/functions.lua @@ -620,6 +620,30 @@ function mcl_core.generate_spruce_tree(pos) minetest.place_schematic({ x = pos.x - 3, y = pos.y - 1, z = pos.z - 3 }, path, "0", nil, false) end +local function find_necorner(p) + local n=minetest.get_node_or_nil(vector.offset(p,0,1,1)) + local e=minetest.get_node_or_nil(vector.offset(p,1,1,0)) + if n and n.name == "mcl_core:sprucetree" then + p=vector.offset(p,0,0,1) + end + if e and e.name == "mcl_core:sprucetree" then + p=vector.offset(p,1,0,0) + end + return p +end + +local function generate_spruce_podzol(ps) + local pos=find_necorner(ps) + local pos1=vector.offset(pos,-6,-6,-6) + local pos2=vector.offset(pos,6,6,6) + local nn=minetest.find_nodes_in_area_under_air(pos1, pos2, {"group:dirt"}) + for k,v in pairs(nn) do + if math.random(vector.distance(pos,v)) < 4 and not (math.abs(pos.x-v.x) == 6 and math.abs(pos.z-v.z) == 6) then --leave out the corners + minetest.set_node(v,{name="mcl_core:podzol"}) + end + end +end + function mcl_core.generate_huge_spruce_tree(pos) local r1 = math.random(1, 2) local r2 = math.random(1, 4) @@ -636,6 +660,7 @@ function mcl_core.generate_huge_spruce_tree(pos) path = modpath.."/schematics/mcl_core_spruce_huge_up_"..r2..".mts" end minetest.place_schematic(vector.add(pos, offset), path, "0", nil, false) + generate_spruce_podzol(pos) end -- END of spruce tree functions -- @@ -1673,4 +1698,3 @@ function mcl_core.after_snow_destruct(pos) local node = minetest.get_node(npos) mcl_core.clear_snow_dirt(npos, node) end - From b6ab815adccf8d08e4c5b95f0441ea9da424c634 Mon Sep 17 00:00:00 2001 From: cora Date: Fri, 22 Apr 2022 01:02:20 +0200 Subject: [PATCH 03/25] Fix endermen dropping node AND taking it --- mods/ENTITIES/mobs_mc/enderman.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mods/ENTITIES/mobs_mc/enderman.lua b/mods/ENTITIES/mobs_mc/enderman.lua index 6ab376366..2af96b726 100644 --- a/mods/ENTITIES/mobs_mc/enderman.lua +++ b/mods/ENTITIES/mobs_mc/enderman.lua @@ -395,8 +395,9 @@ mobs:register_mob("mobs_mc:enderman", { local node = minetest.get_node(take_pos) -- Don't destroy protected stuff. if not minetest.is_protected(take_pos, "") then - local dug = minetest.dig_node(take_pos) - if dug then + minetest.remove_node(take_pos) + local dug = minetest.get_node_or_nil(take_pos) + if dug and dug.name == "air" then if mobs_mc.enderman_replace_on_take[node.name] then self._taken_node = mobs_mc.enderman_replace_on_take[node.name] else From faf3f60cffef0298662904044ae680df340e56cb Mon Sep 17 00:00:00 2001 From: Alexander Minges Date: Sat, 2 May 2020 21:04:03 +0200 Subject: [PATCH 04/25] Use uncarved pumpkin instead of carved in mapgen --- mods/MAPGEN/mcl_biomes/init.lua | 2 +- mods/MAPGEN/mcl_mapgen_core/init.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/MAPGEN/mcl_biomes/init.lua b/mods/MAPGEN/mcl_biomes/init.lua index a04822439..f198e09fa 100644 --- a/mods/MAPGEN/mcl_biomes/init.lua +++ b/mods/MAPGEN/mcl_biomes/init.lua @@ -3538,7 +3538,7 @@ local function register_decorations() -- Pumpkin minetest.register_decoration({ deco_type = "simple", - decoration = "mcl_farming:pumpkin_face", + decoration = "mcl_farming:pumpkin", param2 = 0, param2_max = 3, place_on = {"group:grass_block_no_snow"}, diff --git a/mods/MAPGEN/mcl_mapgen_core/init.lua b/mods/MAPGEN/mcl_mapgen_core/init.lua index 259cee88b..69132927c 100644 --- a/mods/MAPGEN/mcl_mapgen_core/init.lua +++ b/mods/MAPGEN/mcl_mapgen_core/init.lua @@ -828,7 +828,7 @@ local function register_mgv6_decorations() -- Pumpkin minetest.register_decoration({ deco_type = "simple", - decoration = "mcl_farming:pumpkin_face", + decoration = "mcl_farming:pumpkin", param2 = 0, param2_max = 3, place_on = {"group:grass_block_no_snow"}, From 9b614c115c48fb717db36b59def309bde1ed0a08 Mon Sep 17 00:00:00 2001 From: Alexander Minges Date: Tue, 28 Apr 2020 16:32:28 +0200 Subject: [PATCH 05/25] Grow uncarved pumpkin from seeds instead of carved Carved pumpkin has to be explicitly registered as a separate node, as registering a carved pumpkin node happened as a side effect of invoking mcl_farming:add_gourd() for the carved pumpkin. The iron / snow golem spawning checks that trigger whenever a carved pumpkin is placed had to be moved out of the mcl_farming:add_gourd() invocation to preserve the existing behaviour. Note that uncarved pumpkin must not be registered as a separate node, as invoking mcl_farming:add_gourd() for a registered node name leads to stems not updating when an adjacent node is manually placed or mined. --- mods/ITEMS/mcl_farming/pumpkin.lua | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/mods/ITEMS/mcl_farming/pumpkin.lua b/mods/ITEMS/mcl_farming/pumpkin.lua index a38f11862..6c8f83537 100644 --- a/mods/ITEMS/mcl_farming/pumpkin.lua +++ b/mods/ITEMS/mcl_farming/pumpkin.lua @@ -108,7 +108,6 @@ local pumpkin_base_def = { _mcl_blast_resistance = 1, _mcl_hardness = 1, } -minetest.register_node("mcl_farming:pumpkin", pumpkin_base_def) local pumpkin_face_base_def = table.copy(pumpkin_base_def) pumpkin_face_base_def.description = S("Pumpkin") @@ -121,10 +120,17 @@ pumpkin_face_base_def.groups.armor_head=1 pumpkin_face_base_def.groups.non_combat_armor_head=1 pumpkin_face_base_def._mcl_armor_mob_range_factor = 0 pumpkin_face_base_def._mcl_armor_mob_range_mob = "mobs_mc:enderman" + pumpkin_face_base_def._mcl_armor_element = "head" pumpkin_face_base_def._mcl_armor_texture = "mcl_farming_pumpkin_face.png" pumpkin_face_base_def._mcl_armor_preview = "mcl_farming_pumpkin_face_preview.png" +pumpkin_face_base_def.on_construct = function(pos) + -- Attempt to spawn iron golem or snow golem + mobs_mc.tools.check_iron_golem_summon(pos) + mobs_mc.tools.check_snow_golem_summon(pos) +end + if minetest.get_modpath("mcl_armor") then local pumpkin_hud = {} local function add_pumpkin_hud(player) @@ -173,17 +179,13 @@ if minetest.get_modpath("mcl_armor") then pumpkin_hud[player] = nil end) end +minetest.register_node("mcl_farming:pumpkin_face", pumpkin_face_base_def) -- Register stem growth mcl_farming:add_plant("plant_pumpkin_stem", "mcl_farming:pumpkintige_unconnect", {"mcl_farming:pumpkin_1", "mcl_farming:pumpkin_2", "mcl_farming:pumpkin_3", "mcl_farming:pumpkin_4", "mcl_farming:pumpkin_5", "mcl_farming:pumpkin_6", "mcl_farming:pumpkin_7"}, 30, 5) -- Register actual pumpkin, connected stems and stem-to-pumpkin growth -mcl_farming:add_gourd("mcl_farming:pumpkintige_unconnect", "mcl_farming:pumpkintige_linked", "mcl_farming:pumpkintige_unconnect", stem_def, stem_drop, "mcl_farming:pumpkin_face", pumpkin_face_base_def, 30, 15, "mcl_farming_pumpkin_stem_connected.png^[colorize:#FFA800:127", -function(pos) - -- Attempt to spawn iron golem or snow golem - mobs_mc.tools.check_iron_golem_summon(pos) - mobs_mc.tools.check_snow_golem_summon(pos) -end) +mcl_farming:add_gourd("mcl_farming:pumpkintige_unconnect", "mcl_farming:pumpkintige_linked", "mcl_farming:pumpkintige_unconnect", stem_def, stem_drop, "mcl_farming:pumpkin", pumpkin_base_def, 30, 15, "mcl_farming_pumpkin_stem_connected.png^[colorize:#FFA800:127") -- Jack o'Lantern minetest.register_node("mcl_farming:pumpkin_face_light", { From 9a53761b08bf6738f19320270791a38ba449188d Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Sat, 31 Jul 2021 19:47:30 +0200 Subject: [PATCH 06/25] Remove pumpkin seeds recipe with carved pumpkin Shearing an uncarved pumpkin turns it into a carved pumpkin and drops four pumpkin seeds. As map generation and growing mechanics have been changed to generate uncarved pumpkins instead of carved, preserving a recipe to get seeds from carved pumpkins enables players to get twice the amount of seeds as intended. Because of this, the recipe must go. --- mods/ITEMS/mcl_farming/pumpkin.lua | 5 ----- 1 file changed, 5 deletions(-) diff --git a/mods/ITEMS/mcl_farming/pumpkin.lua b/mods/ITEMS/mcl_farming/pumpkin.lua index 6c8f83537..14792448f 100644 --- a/mods/ITEMS/mcl_farming/pumpkin.lua +++ b/mods/ITEMS/mcl_farming/pumpkin.lua @@ -222,11 +222,6 @@ minetest.register_craft({ recipe = {{"mcl_farming:pumpkin"}} }) -minetest.register_craft({ - output = "mcl_farming:pumpkin_seeds 4", - recipe = {{"mcl_farming:pumpkin_face"}} -}) - minetest.register_craftitem("mcl_farming:pumpkin_pie", { description = S("Pumpkin Pie"), _doc_items_longdesc = S("A pumpkin pie is a tasty food item which can be eaten."), From 4fda54b0d1541a895c87b2da0470f6458b5e6524 Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Sat, 31 Jul 2021 19:58:21 +0200 Subject: [PATCH 07/25] Remove pumpkin pie recipe with carved pumpkin Shearing an uncarved pumpkin turns it into a carved pumpkin and drops four pumpkin seeds. As map generation and growing mechanics have been changed to generate uncarved pumpkins instead of carved, preserving a recipe to get pumpkin pie from carved pumpkins enabled players to get both seeds and pumpkin pie from grown pumpkins, which was unintended. --- mods/ITEMS/mcl_farming/pumpkin.lua | 5 ----- 1 file changed, 5 deletions(-) diff --git a/mods/ITEMS/mcl_farming/pumpkin.lua b/mods/ITEMS/mcl_farming/pumpkin.lua index 14792448f..fcfe3bd1a 100644 --- a/mods/ITEMS/mcl_farming/pumpkin.lua +++ b/mods/ITEMS/mcl_farming/pumpkin.lua @@ -239,11 +239,6 @@ minetest.register_craft({ output = "mcl_farming:pumpkin_pie", recipe = {"mcl_farming:pumpkin", "mcl_core:sugar", "mcl_throwing:egg"}, }) -minetest.register_craft({ - type = "shapeless", - output = "mcl_farming:pumpkin_pie", - recipe = {"mcl_farming:pumpkin_face", "mcl_core:sugar", "mcl_throwing:egg"}, -}) if minetest.get_modpath("doc") then From a2dd8c935d5195a17eedffa5b41efb48d809239f Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Sat, 31 Jul 2021 20:12:26 +0200 Subject: [PATCH 08/25] Make villagers accept uncarved pumpkin in trades As map generation and growing mechanics have been changed to generate uncarved pumpkins instead of carved, requiring players to shear every pumpkin before trading it with villagers seems like useless busywork. --- mods/ENTITIES/mobs_mc/villager.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ENTITIES/mobs_mc/villager.lua b/mods/ENTITIES/mobs_mc/villager.lua index 7fed4cbf8..a2b828e09 100644 --- a/mods/ENTITIES/mobs_mc/villager.lua +++ b/mods/ENTITIES/mobs_mc/villager.lua @@ -74,7 +74,7 @@ local professions = { }, { - { { "mcl_farming:pumpkin_face", 8, 13 }, E1 }, + { { "mcl_farming:pumpkin", 8, 13 }, E1 }, { E1, { "mcl_farming:pumpkin_pie", 2, 3} }, }, From e1d67a20959d1249277afcb05db40eb2f5c28495 Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Wed, 23 Feb 2022 17:15:40 +0100 Subject: [PATCH 09/25] Disconnect stems from carved pumpkins after dig MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Carved pumpkins can end up being connected to a stem – either if they were grown in a previous version of MineClone2 or Mineclonia, or if a player carves them before harvesting them. This patch makes sure that stems turn into unconnected stems after such a carved pumpkin is dug. --- mods/ITEMS/mcl_farming/pumpkin.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_farming/pumpkin.lua b/mods/ITEMS/mcl_farming/pumpkin.lua index fcfe3bd1a..78883626c 100644 --- a/mods/ITEMS/mcl_farming/pumpkin.lua +++ b/mods/ITEMS/mcl_farming/pumpkin.lua @@ -179,7 +179,6 @@ if minetest.get_modpath("mcl_armor") then pumpkin_hud[player] = nil end) end -minetest.register_node("mcl_farming:pumpkin_face", pumpkin_face_base_def) -- Register stem growth mcl_farming:add_plant("plant_pumpkin_stem", "mcl_farming:pumpkintige_unconnect", {"mcl_farming:pumpkin_1", "mcl_farming:pumpkin_2", "mcl_farming:pumpkin_3", "mcl_farming:pumpkin_4", "mcl_farming:pumpkin_5", "mcl_farming:pumpkin_6", "mcl_farming:pumpkin_7"}, 30, 5) @@ -187,6 +186,10 @@ mcl_farming:add_plant("plant_pumpkin_stem", "mcl_farming:pumpkintige_unconnect", -- Register actual pumpkin, connected stems and stem-to-pumpkin growth mcl_farming:add_gourd("mcl_farming:pumpkintige_unconnect", "mcl_farming:pumpkintige_linked", "mcl_farming:pumpkintige_unconnect", stem_def, stem_drop, "mcl_farming:pumpkin", pumpkin_base_def, 30, 15, "mcl_farming_pumpkin_stem_connected.png^[colorize:#FFA800:127") +-- Steal function to properly disconnect a carved pumpkin +pumpkin_face_base_def.after_dig_node = minetest.registered_nodes["mcl_farming:pumpkin"].after_dig_node +minetest.register_node("mcl_farming:pumpkin_face", pumpkin_face_base_def) + -- Jack o'Lantern minetest.register_node("mcl_farming:pumpkin_face_light", { description = S("Jack o'Lantern"), From 56db8773601c09e7334567e54977398a63e09f41 Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Wed, 23 Feb 2022 18:14:44 +0100 Subject: [PATCH 10/25] Disconnect gourd stems after destruct While testing the previous commit, it became clear that gourd stems do not disconnect properly if the gourd disappears while not being dug. A simple method to create illegal curved stems was to explode the gourd. This patch changes gourds so that the stem curves back after a gourd is destroyed, regardless of reason. This hopefully makes curved stems that are not connected to matching gourds a relict of the past. --- mods/ITEMS/mcl_farming/pumpkin.lua | 2 +- mods/ITEMS/mcl_farming/shared_functions.lua | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mods/ITEMS/mcl_farming/pumpkin.lua b/mods/ITEMS/mcl_farming/pumpkin.lua index 78883626c..45ac2f611 100644 --- a/mods/ITEMS/mcl_farming/pumpkin.lua +++ b/mods/ITEMS/mcl_farming/pumpkin.lua @@ -187,7 +187,7 @@ mcl_farming:add_plant("plant_pumpkin_stem", "mcl_farming:pumpkintige_unconnect", mcl_farming:add_gourd("mcl_farming:pumpkintige_unconnect", "mcl_farming:pumpkintige_linked", "mcl_farming:pumpkintige_unconnect", stem_def, stem_drop, "mcl_farming:pumpkin", pumpkin_base_def, 30, 15, "mcl_farming_pumpkin_stem_connected.png^[colorize:#FFA800:127") -- Steal function to properly disconnect a carved pumpkin -pumpkin_face_base_def.after_dig_node = minetest.registered_nodes["mcl_farming:pumpkin"].after_dig_node +pumpkin_face_base_def.after_destruct = minetest.registered_nodes["mcl_farming:pumpkin"].after_destruct minetest.register_node("mcl_farming:pumpkin_face", pumpkin_face_base_def) -- Jack o'Lantern diff --git a/mods/ITEMS/mcl_farming/shared_functions.lua b/mods/ITEMS/mcl_farming/shared_functions.lua index e942415f5..7b9784503 100644 --- a/mods/ITEMS/mcl_farming/shared_functions.lua +++ b/mods/ITEMS/mcl_farming/shared_functions.lua @@ -185,7 +185,7 @@ end - stem_def: Partial node definition of the fully-grown unconnected stem node. Many fields are already defined. You need to add `tiles` and `description` at minimum. Don't define on_construct without good reason - stem_drop: Drop probability table for all stem - gourd_itemstring: Desired itemstring of the full gourd node -- gourd_def: (almost) full definition of the gourd node. This function will add on_construct and after_dig_node to the definition for unconnecting any connected stems +- gourd_def: (almost) full definition of the gourd node. This function will add on_construct and after_destruct to the definition for unconnecting any connected stems - grow_interval: Will attempt to grow a gourd periodically at this interval in seconds - grow_chance: Chance of 1/grow_chance to grow a gourd next to the full unconnected stem after grow_interval has passed. Must be a natural number - connected_stem_texture: Texture of the connected stem @@ -235,8 +235,8 @@ function mcl_farming:add_gourd(full_unconnected_stem, connected_stem_basename, s end -- Register gourd - if not gourd_def.after_dig_node then - function gourd_def.after_dig_node(blockpos, oldnode, oldmetadata, user) + if not gourd_def.after_destruct then + gourd_def.after_destruct = function(blockpos, oldnode) -- Disconnect any connected stems, turning them back to normal stems for n=1, #neighbors do local offset = neighbors[n] From 5ba36c08b6007ec21d71b7bb539f153bf2aff160 Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Wed, 23 Feb 2022 18:54:03 +0100 Subject: [PATCH 11/25] Drop carved pumpkin when shearing snow golem --- mods/ENTITIES/mobs_mc/snowman.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mods/ENTITIES/mobs_mc/snowman.lua b/mods/ENTITIES/mobs_mc/snowman.lua index 93f91c330..a5aaaac0f 100644 --- a/mods/ENTITIES/mobs_mc/snowman.lua +++ b/mods/ENTITIES/mobs_mc/snowman.lua @@ -124,6 +124,10 @@ mobs:register_mob("mobs_mc:snowman", { local pos = self.object:get_pos() minetest.sound_play("mcl_tools_shears_cut", {pos = pos}, true) + if minetest.registered_items["mcl_farming:pumpkin_face"] then + minetest.add_item({x=pos.x, y=pos.y+1.4, z=pos.z}, "mcl_farming:pumpkin_face") + end + -- Wear out if not minetest.is_creative_enabled(clicker:get_player_name()) then item:add_wear(mobs_mc.misc.shears_wear) From 67ae203772199b4b96bb5f189c7ee90e43178db3 Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Thu, 14 Apr 2022 18:52:31 +0200 Subject: [PATCH 12/25] Trigger node callbacks when pumpkin is sheared The code for shearing a pumpkin used minetest.swap_node() to replace a faceless pumpkin with a carved pumpkin. This did not trigger the node callbacks of the carved pumpkin, which meant that shearing a pumpkin would not check for the snow golem or iron golem spawn conditions. This patch replaces minetest.swap_node() in the code for shearing a pumpkin with minetest.set_node(), which does trigger the callbacks; therefore snow and iron golems can now spawn as a pumpkin is carved. --- mods/ITEMS/mcl_tools/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_tools/init.lua b/mods/ITEMS/mcl_tools/init.lua index 1d68a0973..e1fdf7aba 100644 --- a/mods/ITEMS/mcl_tools/init.lua +++ b/mods/ITEMS/mcl_tools/init.lua @@ -238,7 +238,7 @@ if minetest.get_modpath("mcl_farming") then minetest.sound_play({name="default_grass_footstep", gain=1}, {pos = pointed_thing.above}, true) local dir = vector.subtract(pointed_thing.under, pointed_thing.above) local param2 = minetest.dir_to_facedir(dir) - minetest.swap_node(pointed_thing.under, {name="mcl_farming:pumpkin_face", param2 = param2}) + minetest.set_node(pointed_thing.under, {name="mcl_farming:pumpkin_face", param2 = param2}) minetest.add_item(pointed_thing.above, "mcl_farming:pumpkin_seeds 4") end return itemstack From 5f126c468650577ea0baefb5d79b81835fe33579 Mon Sep 17 00:00:00 2001 From: cora Date: Sun, 24 Apr 2022 00:19:15 +0200 Subject: [PATCH 13/25] add hypercopyrighted end crystal beam texture This texture has the following poem written by me, cora, encoded in its pixeldata. I the author hereby release both the texture file and the poem as cc0. Additionally I explicitly consent with its inclusion into MineClone2, MineClone5 and Mineclonia as well as any other minetest game for this day and all the days to come. Shall though betray me with a texture, mate I'll smile at though just like a summer's day The raindrop particles - no laggy state But spring is coming, really, soon it's may As If the seasons meant a damn to us They do not exist in mineclone at all unreal water flow, iron never rusts but copper does in summer and in fall But what this literally is about because this damn thing is really silly you see somehow they had to say it loud I would bring that quote with painting lilys but plagerism everywhere you see so this will just be good enough for me --- .../mcl_end/textures/mcl_end_crystal_beam.png | Bin 635 -> 1315 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/mods/ITEMS/mcl_end/textures/mcl_end_crystal_beam.png b/mods/ITEMS/mcl_end/textures/mcl_end_crystal_beam.png index a671de7ac406fed4f9df08e76219704ead7ed3dc..b1b74265d4712be40af84388ac3021155f893170 100644 GIT binary patch delta 1308 zcmV+%1>^er1fvR&7=Ho-0002TJRaQu000b7OjJbx008|!@QtB=0002PhU$d?0004W zQchCILpae8HvzE= zBq&h0yo%1ZF5j^1%Ji}qJxxUNE%h?(PV; z3dKoVS)N2Mf;77|1ZKZlujQooAn;DCu)?(yI&bddkz|2t%XvUktWpU#taWl;;GkNN z+E^oIjhg!)%YPIj#a3ZXBNY3T=-C2sg#hyE(;xCfcjC9;WQ&5xGve=T?AV>V7sUf) z$KcADFxyfIDi?Q{o(ll-%KAn0L{u z0(4%GfrpP&yU{xhwVk>oDenpQU`c#Zv>( zjpt;@)!vI>r{&%Wl=epTp~pm6D%#gh+=g4jYB%gV7Tt^%mw=S$ZQsfFF>5u-m0u;G z${weLj}6Xs=uCOM6vTHGD_EwuRp439(cR?k*H5tKS>x~61{^Hks-+|?td(F??<*?~c@I{z`TnwAE@q6kfX>KAD2VlE!L!Mw zQc5!KsE7Q4bVPIFro-qze549PuZJw*1vdHv;@tXm=%+ts$5lSTp6J#U-VT9R-i!px zt@`J%p|<%x7gFxUvi-h$eQ=I27z5^0%!C0YN`JsaE$5`{*N(&S@&~8cI+bJ*X1~D} zvNYwBG(2j$>_mQQ#tJy;9P#G`=DZ7(7rtLa%iGaAn1O$>4>KovmT~!J={8irQw^9| zlLaePn~&3z4sHO&K#h*mwlOuE&7=kR%?z(0Chmb4j12e52d%CA3I+%lB;a;s{{W8Z zOn;3I&6D^l>FEQvZmX5 zgx1m)ETtO@F)ds5Bf`y~AUG=x|B|N#41dMZ@{O-77&NlxJWg$`%psdbd5M$>>S+Wm ztxEW1zO@h1<@gA@rZ;TC&#y*#f_2v7N=l3hJp+q5 zPo}3VgDY>+29xG2j%KEm!5QUmeQc#{u?oex#s|>zS)79(ava?N6BQ9&;1#^-41e(p zY6}>Hn;5WSLE!EIfy=O5XA(%suRF>3SJt0kOE9HFc73`WZVdCaz{ypKzO|3+;L2Xz z4AzvpHe!vb@z|L#@epL}VFDdBjntyEdHfpiV8bq6#AH|TWz@w&D5irwFlMPN;zdT* zj8(RmVW=w4IZr;h`D*k~HPn(RB!46t_slI}5K><M~p|$oJB7)C@J(k;A5)iMq3H0{tI!{}l(Dq0d#V S{LhyF0000q z`kqmT1l$1Q$tv7)tjwdv0cca6LGuQee+7(*slVr+Cv|*{(VA7m_&Y};8RMa1=vd?{ z%7csP(qE)p3BS}svW!SHWB41~Q%#!y){3q{7ibsm?J4dZJ43u2T+p$WA5}`v)D?;c zXhS>VvxHniS$`5wX+XmZbVN_$MdSn2HS*n{U={9+L^G#?S6wVTw_sXWji45vVApBR zN*Ye&9g^?BT`EvhB!+0fsiE8@6|z|D@jBzMVB;-wfy9R8aG!FMOJ8sX?~yk2p_(xh zQHyA0JccuPrP&<72i79Y21SGC7cP>&Tg7?0DsW{MO@GlfC=)KlG&|>9U@NSzF|&tB z(APQ2m}p@aC ztRpU{Z_$;3W^hc_2~qPS%wiabtI#{6n}%k(9?Q_tp$VzyO~OaWn@m0loAAkpLXJ-` zIpa3@JZEi7S>wJ&HBbfpK7S0RM)MAOg3>b7^$TZHo0;ezfCpz54i7ax1TWKmjD0&07*qo IM6N<$f>aC{od5s; From 6bc676545bc7b1e64fdfd91123953aa456e43720 Mon Sep 17 00:00:00 2001 From: cora Date: Wed, 13 Apr 2022 12:59:05 +0200 Subject: [PATCH 14/25] Allow saplings to grow on coarse d. and mycelium --- mods/ITEMS/mcl_core/nodes_base.lua | 4 ++-- mods/ITEMS/mcl_core/nodes_trees.lua | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mods/ITEMS/mcl_core/nodes_base.lua b/mods/ITEMS/mcl_core/nodes_base.lua index b4edc5045..7473ab849 100644 --- a/mods/ITEMS/mcl_core/nodes_base.lua +++ b/mods/ITEMS/mcl_core/nodes_base.lua @@ -426,7 +426,7 @@ minetest.register_node("mcl_core:mycelium", { tiles = {"mcl_core_mycelium_top.png", "default_dirt.png", {name="mcl_core_mycelium_side.png", tileable_vertical=false}}, is_ground_content = true, stack_max = 64, - groups = {handy=1,shovely=1, dirt=2,spreading_dirt_type=1, enderman_takable=1, building_block=1}, + groups = { handy = 1, shovely = 1, dirt = 2, spreading_dirt_type = 1, enderman_takable = 1, building_block = 1, soil_sapling = 2}, drop = "mcl_core:dirt", sounds = mcl_sounds.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.1}, @@ -476,7 +476,7 @@ minetest.register_node("mcl_core:coarse_dirt", { tiles = {"mcl_core_coarse_dirt.png"}, is_ground_content = true, stack_max = 64, - groups = {handy=1,shovely=1, dirt=3,soil=1, soil_sugarcane=1, cultivatable=1, enderman_takable=1, building_block=1}, + groups = { handy = 1,shovely = 1, dirt = 3, soil = 1, soil_sugarcane = 1, cultivatable = 1, enderman_takable = 1, building_block = 1, soil_sapling = 2}, sounds = mcl_sounds.node_sound_dirt_defaults(), _mcl_blast_resistance = 0.5, _mcl_hardness = 0.5, diff --git a/mods/ITEMS/mcl_core/nodes_trees.lua b/mods/ITEMS/mcl_core/nodes_trees.lua index e4903958e..54a43d6bf 100644 --- a/mods/ITEMS/mcl_core/nodes_trees.lua +++ b/mods/ITEMS/mcl_core/nodes_trees.lua @@ -201,9 +201,9 @@ local function register_sapling(subname, description, longdesc, tt_help, texture local node_below = minetest.get_node_or_nil({x=pos.x,y=pos.y-1,z=pos.z}) if not node_below then return false end local nn = node_below.name - return ((minetest.get_item_group(nn, "grass_block") == 1) or - nn=="mcl_core:podzol" or nn=="mcl_core:podzol_snow" or - nn=="mcl_core:dirt") + return minetest.get_item_group(nn, "grass_block") == 1 or + nn == "mcl_core:podzol" or nn == "mcl_core:podzol_snow" or + nn == "mcl_core:dirt" or nn == "mcl_core:mycelium" or nn == "mcl_core:coarse_dirt" end), node_placement_prediction = "", _mcl_blast_resistance = 0, From cbf3dc49aa85c5e371ff15bc4314370528f64a08 Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Wed, 8 Sep 2021 14:34:58 +0200 Subject: [PATCH 15/25] Replace grass path with dirt path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If a player wants to make a path when there is no dirt with grass on the ground it means they need to either have silk touch to collect dirt with grass or place dirt beside dirt with grass and wait for the grass cover to spread before they can create the new paths … Since the former is not possible early in the game and the latter is not easy, this patch imitates Minecraft 1.17 behaviour; the following nodes can now be turned into path nodes by right-clicking them with a shovel: • Dirt (mcl_core:dirt) • Coarse Dirt (mcl_core:coarse_dirt) • Dirt with Grass (mcl_core:dirt_with_grass) • Mycelium (mcl_core:mycelium) • Podzol (mcl_core:podzol) A group “path_creation_possible” has been added to mark nodes that can be turned into a dirt path with a shovel. One obvious objection to that addition might be that the “dirt” group already exists. Even though all existing nodes that can be turned into a dirt path do indeed belong to the “dirt” group, it is not a good idea: Changing what “dirt” means to “any node that can be turned into a dirt path” would make it harder to maintain the code. --- GROUPS.md | 1 + mods/HELP/mcl_doc/init.lua | 8 ++++++++ mods/ITEMS/mcl_core/nodes_base.lua | 11 +++++------ mods/ITEMS/mcl_tools/init.lua | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/GROUPS.md b/GROUPS.md index b2c009b47..04ec7e33c 100644 --- a/GROUPS.md +++ b/GROUPS.md @@ -41,6 +41,7 @@ Please read to learn how digging times * `flammable=-1` Does not get destroyed by fire * `fire_encouragement`: How quickly this block catches fire * `fire_flammability`: How fast the block will burn away +* `path_creation_possible=1`: Node can be turned into grass path by using a shovel on it * `spreading_dirt_type=1`: A dirt-type block with a cover (e.g. grass) which may spread to neighbor dirt blocks * `dirtifies_below_solid=1`: This node turns into dirt immediately when a solid or dirtifier node is placed on top * `dirtifier=1`: This node turns nodes the above group into dirt when placed above diff --git a/mods/HELP/mcl_doc/init.lua b/mods/HELP/mcl_doc/init.lua index 9be688ec2..4ba387e12 100644 --- a/mods/HELP/mcl_doc/init.lua +++ b/mods/HELP/mcl_doc/init.lua @@ -31,6 +31,14 @@ doc.sub.items.register_factoid("nodes", "groups", function(itemstring, def) return "" end) +-- usable by shovels +doc.sub.items.register_factoid("nodes", "groups", function(itemstring, def) + if def.groups.path_creation_possible then + return S("This block can be turned into grass path with a shovel.") + end + return "" +end) + -- soil doc.sub.items.register_factoid("nodes", "groups", function(itemstring, def) local datastring = "" diff --git a/mods/ITEMS/mcl_core/nodes_base.lua b/mods/ITEMS/mcl_core/nodes_base.lua index 7473ab849..2827cf840 100644 --- a/mods/ITEMS/mcl_core/nodes_base.lua +++ b/mods/ITEMS/mcl_core/nodes_base.lua @@ -372,7 +372,7 @@ minetest.register_node("mcl_core:dirt_with_grass", { handy = 1, shovely = 1, dirt = 2, grass_block = 1, grass_block_no_snow = 1, soil = 1, soil_sapling = 2, soil_sugarcane = 1, cultivatable = 2, spreading_dirt_type = 1, enderman_takable = 1, building_block = 1, - compostability = 30 + compostability = 30, path_creation_possible=1 }, drop = "mcl_core:dirt", sounds = mcl_sounds.node_sound_dirt_defaults({ @@ -426,7 +426,7 @@ minetest.register_node("mcl_core:mycelium", { tiles = {"mcl_core_mycelium_top.png", "default_dirt.png", {name="mcl_core_mycelium_side.png", tileable_vertical=false}}, is_ground_content = true, stack_max = 64, - groups = { handy = 1, shovely = 1, dirt = 2, spreading_dirt_type = 1, enderman_takable = 1, building_block = 1, soil_sapling = 2}, + groups = { handy = 1, shovely = 1, dirt = 2, spreading_dirt_type = 1, enderman_takable = 1, building_block = 1, soil_sapling = 2, path_creation_possible=1}, drop = "mcl_core:dirt", sounds = mcl_sounds.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.1}, @@ -446,7 +446,7 @@ minetest.register_node("mcl_core:podzol", { tiles = {"mcl_core_dirt_podzol_top.png", "default_dirt.png", {name="mcl_core_dirt_podzol_side.png", tileable_vertical=false}}, is_ground_content = true, stack_max = 64, - groups = {handy=1,shovely=3, dirt=2,soil=1, soil_sapling=2, soil_sugarcane=1, enderman_takable=1, building_block=1}, + groups = {handy=1,shovely=3, dirt=2,soil=1, soil_sapling=2, soil_sugarcane=1, enderman_takable=1, building_block=1,path_creation_possible=1}, drop = "mcl_core:dirt", sounds = mcl_sounds.node_sound_dirt_defaults(), on_construct = mcl_core.on_snowable_construct, @@ -464,7 +464,7 @@ minetest.register_node("mcl_core:dirt", { tiles = {"default_dirt.png"}, is_ground_content = true, stack_max = 64, - groups = {handy=1,shovely=1, dirt=1,soil=1, soil_sapling=2, soil_sugarcane=1, cultivatable=2, enderman_takable=1, building_block=1}, + groups = {handy=1,shovely=1, dirt=1,soil=1, soil_sapling=2, soil_sugarcane=1, cultivatable=2, enderman_takable=1, building_block=1, path_creation_possible=1}, sounds = mcl_sounds.node_sound_dirt_defaults(), _mcl_blast_resistance = 0.5, _mcl_hardness = 0.5, @@ -476,7 +476,7 @@ minetest.register_node("mcl_core:coarse_dirt", { tiles = {"mcl_core_coarse_dirt.png"}, is_ground_content = true, stack_max = 64, - groups = { handy = 1,shovely = 1, dirt = 3, soil = 1, soil_sugarcane = 1, cultivatable = 1, enderman_takable = 1, building_block = 1, soil_sapling = 2}, + groups = { handy = 1,shovely = 1, dirt = 3, soil = 1, soil_sugarcane = 1, cultivatable = 1, enderman_takable = 1, building_block = 1, soil_sapling = 2, path_creation_possible=1}, sounds = mcl_sounds.node_sound_dirt_defaults(), _mcl_blast_resistance = 0.5, _mcl_hardness = 0.5, @@ -1073,4 +1073,3 @@ if minetest.get_modpath("doc") then doc.add_entry_alias("nodes", "mcl_core:water_source", "nodes", "mcl_core:water_flowing") doc.add_entry_alias("nodes", "mcl_core:lava_source", "nodes", "mcl_core:lava_flowing") end - diff --git a/mods/ITEMS/mcl_tools/init.lua b/mods/ITEMS/mcl_tools/init.lua index e1fdf7aba..48515dc3c 100644 --- a/mods/ITEMS/mcl_tools/init.lua +++ b/mods/ITEMS/mcl_tools/init.lua @@ -191,7 +191,7 @@ local function make_grass_path(itemstack, placer, pointed_thing) return itemstack end - if (minetest.get_item_group(node.name, "grass_block") == 1) then + if (minetest.get_item_group(node.name, "path_creation_possible") == 1) then local above = table.copy(pointed_thing.under) above.y = above.y + 1 if minetest.get_node(above).name == "air" then From deb2c4ab508099662ae979b4fcb38c0a5a3daa41 Mon Sep 17 00:00:00 2001 From: cora Date: Tue, 26 Apr 2022 05:53:20 +0200 Subject: [PATCH 16/25] change version to 0.74 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 555a2f490..c05d9ec4f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ An unofficial Minecraft-like game for Minetest. Forked from MineClone by davedevils. Developed by many people. Not developed or endorsed by Mojang AB. -Version: 0.74 (in development) +Version: 0.74 ### Gameplay You start in a randomly-generated world made entirely of cubes. You can explore From deb2e1c50ba952e074fb7e23868c487a3747e140 Mon Sep 17 00:00:00 2001 From: cora Date: Tue, 26 Apr 2022 11:50:11 +0200 Subject: [PATCH 17/25] set version to 0.75 (indev) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c05d9ec4f..908769438 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ An unofficial Minecraft-like game for Minetest. Forked from MineClone by davedevils. Developed by many people. Not developed or endorsed by Mojang AB. -Version: 0.74 +Version: 0.75 (in development) ### Gameplay You start in a randomly-generated world made entirely of cubes. You can explore From 057051aa6d814e80fbebeb94003ca972a6a5242d Mon Sep 17 00:00:00 2001 From: Nils Dagsson Moskopp Date: Wed, 24 Nov 2021 06:06:26 +0100 Subject: [PATCH 18/25] Add packed ice crafting recipe --- mods/ITEMS/mcl_core/crafting.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_core/crafting.lua b/mods/ITEMS/mcl_core/crafting.lua index 3ff2b142c..eb65b6ead 100644 --- a/mods/ITEMS/mcl_core/crafting.lua +++ b/mods/ITEMS/mcl_core/crafting.lua @@ -382,8 +382,14 @@ minetest.register_craft({ } }) --- TODO: Add crafting recipe: 9 ice → 1 packed ice --- Add it when silk touch tools work. +minetest.register_craft({ + output = 'mcl_core:packed_ice 1', + recipe = { + {'mcl_core:ice', 'mcl_core:ice', 'mcl_core:ice'}, + {'mcl_core:ice', 'mcl_core:ice', 'mcl_core:ice'}, + {'mcl_core:ice', 'mcl_core:ice', 'mcl_core:ice'}, + } +}) -- -- Crafting (tool repair) From f9d8b61dc1b878721aa49f4d58a0849e6373e5f4 Mon Sep 17 00:00:00 2001 From: chmodsayshello Date: Sat, 30 Apr 2022 08:57:03 +0000 Subject: [PATCH 19/25] update mcl_compass init.lua --- mods/ITEMS/mcl_compass/init.lua | 140 +++++++++++++++++++++++++++----- 1 file changed, 119 insertions(+), 21 deletions(-) diff --git a/mods/ITEMS/mcl_compass/init.lua b/mods/ITEMS/mcl_compass/init.lua index 458ee8fdb..f9fc8bb61 100644 --- a/mods/ITEMS/mcl_compass/init.lua +++ b/mods/ITEMS/mcl_compass/init.lua @@ -1,9 +1,34 @@ +local stereotype_frame = 18 + + local S = minetest.get_translator(minetest.get_current_modname()) mcl_compass = {} local compass_frames = 32 +local function get_far_node(pos, itemstack) --code from minetest dev wiki: https://dev.minetest.net/minetest.get_node, some edits have been made to add a cooldown for force loads + local node = minetest.get_node(pos) + if node.name == "ignore" then + tstamp = tonumber(itemstack:get_meta():get_string("last_forceload")) + if tstamp == nil then --this is only relevant for new lodestone compasses, the ones that have never performes a forceload yet + itemstack:get_meta():set_string("last_forceload", tostring(os.time(os.date("!*t")))) + tstamp = tonumber(os.time(os.date("!*t"))) + end + if tonumber(os.time(os.date("!*t"))) - tstamp > 180 then --current time in secounds - old time in secounds, if it is over 180 (3 mins): forceload + itemstack:get_meta():set_string("last_forceload", tostring(os.time(os.date("!*t")))) + minetest.get_voxel_manip():read_from_map(pos, pos) + node = minetest.get_node(pos) + minetest.log("forceloaded, cooldown reset!") + else + minetest.log("cooldown not over yet") + node = {name="mcl_compass:lodestone"} --cooldown not over yet, pretend like there is something... + end + end + return node +end + + --Not sure spawn point should be dymanic (is it in mc?) --local default_spawn_settings = minetest.settings:get("static_spawnpoint") @@ -13,10 +38,34 @@ local random_timer_trigger = 0.5 -- random compass spinning tick in seconds. Inc local random_frame = math.random(0, compass_frames-1) -function mcl_compass.get_compass_image(pos, dir) - -- Compasses do not work in certain zones - if mcl_worlds.compass_works(pos) then - local spawn = {x=0,y=0,z=0} +function mcl_compass.get_compass_image(pos, dir, itemstack) + if not itemstack then + minetest.log("WARNING: mcl_compass.get_compass_image() was called without itemstack, returning random frame!") + return random_frame + end + + local lodestone_pos = minetest.string_to_pos(itemstack:get_meta():get_string("pointsto")) + + if lodestone_pos then --lodestone meta present + local _, dim = mcl_worlds.y_to_layer(lodestone_pos.y) + local _, playerdim = mcl_worlds.y_to_layer(pos.y) + + if dim == playerdim then --Check if player and compass target are in the same dimension, above check is just if the diemension is valid for the non lodestone compass + + if get_far_node(lodestone_pos, itemstack).name == "mcl_compass:lodestone" then --check if lodestone still exists + local angle_north = math.deg(math.atan2(lodestone_pos.x - pos.x, lodestone_pos.z - pos.z)) + if angle_north < 0 then angle_north = angle_north + 360 end + local angle_dir = -math.deg(dir) + local angle_relative = (angle_north - angle_dir + 180) % 360 + return math.floor((angle_relative/11.25) + 0.5) % compass_frames .. "_lodestone" + else -- lodestone got destroyed + return random_frame .. "_lodestone" + end + else + return random_frame .. "_lodestone" + end + else --no lodestone meta, normal compass.... + local spawn = {x = 0, y=0, z=0} --before you guys tell me that the normal compass no points to real spawn, it always pointed to 0 0 local ssp = minetest.setting_get_pos("static_spawnpoint") if ssp then spawn = ssp @@ -24,13 +73,17 @@ function mcl_compass.get_compass_image(pos, dir) spawn = {x=0,y=0,z=0} end end - local angle_north = math.deg(math.atan2(spawn.x - pos.x, spawn.z - pos.z)) - if angle_north < 0 then angle_north = angle_north + 360 end - local angle_dir = -math.deg(dir) - local angle_relative = (angle_north - angle_dir + 180) % 360 - return math.floor((angle_relative/11.25) + 0.5) % compass_frames - else - return random_frame + + if mcl_worlds.compass_works(pos) then --is the player in the overworld? + local angle_north = math.deg(math.atan2(spawn.x - pos.x, spawn.z - pos.z)) + if angle_north < 0 then angle_north = angle_north + 360 end + local angle_dir = -math.deg(dir) + local angle_relative = (angle_north - angle_dir + 180) % 360 + return math.floor((angle_relative/11.25) + 0.5) % compass_frames + else + return random_frame + end + end end @@ -41,7 +94,7 @@ minetest.register_globalstep(function(dtime) random_frame = (random_frame + math.random(-1, 1)) % compass_frames random_timer = 0 end - for i,player in pairs(minetest.get_connected_players()) do + for _,player in pairs(minetest.get_connected_players()) do local function has_compass(player) for _,stack in pairs(player:get_inventory():get_list("main")) do if minetest.get_item_group(stack:get_name(), "compass") ~= 0 then @@ -52,15 +105,18 @@ minetest.register_globalstep(function(dtime) end if has_compass(player) then local pos = player:get_pos() - local compass_image = mcl_compass.get_compass_image(pos, player:get_look_horizontal()) for j,stack in pairs(player:get_inventory():get_list("main")) do - if minetest.get_item_group(stack:get_name(), "compass") ~= 0 and - minetest.get_item_group(stack:get_name(), "compass")-1 ~= compass_image then - local itemname = "mcl_compass:"..compass_image - stack:set_name(itemname) - player:get_inventory():set_stack("main", j, stack) + if minetest.get_item_group(stack:get_name(), "compass") ~= 0 then + local compass_image = mcl_compass.get_compass_image(pos, player:get_look_horizontal(), stack) + if minetest.get_item_group(stack:get_name(), "compass")-1 ~= compass_image and minetest.get_item_group(stack:get_name(), "compass")-1 .. "_lodestone" ~=compass_image then --Explaination: First check for normal compasses, secound check for lodestone ones + local itemname = "mcl_compass:"..compass_image + --minetest.log(os.time(os.date("!*t"))) + stack:set_name(itemname) + player:get_inventory():set_stack("main", j, stack) + end end + end end end @@ -74,15 +130,14 @@ end local doc_mod = minetest.get_modpath("doc") -local stereotype_frame = 18 for i,img in ipairs(images) do local inv = 1 if i == stereotype_frame then inv = 0 end local use_doc, longdesc, tt - --Why is there no usage help? This should be fixed. - --local usagehelp + --Why is there no usage help? This should be fixed. + --local usagehelp use_doc = i == stereotype_frame if use_doc then tt = S("Points to the world origin") @@ -100,6 +155,18 @@ for i,img in ipairs(images) do stack_max = 64, groups = {not_in_creative_inventory=inv, compass=i, tool=1, disable_repair=1 } }) + + minetest.register_craftitem(itemstring .. "_lodestone", { + description = S("Lodestone Compass"), + _tt_help = tt, + _doc_items_create_entry = use_doc, + _doc_items_longdesc = longdesc, + --_doc_items_usagehelp = usagehelp, + inventory_image = img .. "^[colorize:purple:50", + wield_image = img .. "^[colorize:purple:50", + stack_max = 64, + groups = {not_in_creative_inventory=1, compass=i, tool=1, disable_repair=1 } + }) -- Help aliases. Makes sure the lookup tool works correctly if not use_doc and doc_mod then @@ -116,9 +183,40 @@ minetest.register_craft({ } }) +minetest.register_craft({ + output = "mcl_compass:lodestone", + recipe = { + {"mcl_core:stonebrickcarved","mcl_core:stonebrickcarved","mcl_core:stonebrickcarved"}, + {"mcl_core:stonebrickcarved", "mcl_core:diamondblock", "mcl_core:stonebrickcarved"}, + {"mcl_core:stonebrickcarved", "mcl_core:stonebrickcarved", "mcl_core:stonebrickcarved"} + } +}) + minetest.register_alias("mcl_compass:compass", "mcl_compass:"..stereotype_frame) -- Export stereotype item for other mods to use mcl_compass.stereotype = "mcl_compass:"..tostring(stereotype_frame) +minetest.register_node("mcl_compass:lodestone",{ + description=S("Lodestone"), + on_rightclick = function(pos, node, player, itemstack) + if itemstack.get_name(itemstack).match(itemstack.get_name(itemstack),"mcl_compass:") then + if itemstack.get_name(itemstack) ~= "mcl_compass:lodestone" then + itemstack:get_meta():set_string("pointsto", minetest.pos_to_string(pos)) + end + end + end, + tiles = { + "lodestone_top.png", + "lodestone_bottom.png", + "lodestone_side1.png", + "lodestone_side2.png", + "lodestone_side3.png", + "lodestone_side4.png" + }, + groups = {pickaxey=1, material_stone=1}, + _mcl_hardness = 1.5, + _mcl_blast_resistance = 6, + sounds = mcl_sounds.node_sound_stone_defaults() +}) From ba8e07226561d79af1d1db61cd3323530775b1f8 Mon Sep 17 00:00:00 2001 From: chmodsayshello Date: Sat, 30 Apr 2022 08:58:04 +0000 Subject: [PATCH 20/25] update mcl_compass dependencies --- mods/ITEMS/mcl_compass/mod.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_compass/mod.conf b/mods/ITEMS/mcl_compass/mod.conf index 41266222b..f63a6f307 100644 --- a/mods/ITEMS/mcl_compass/mod.conf +++ b/mods/ITEMS/mcl_compass/mod.conf @@ -1,4 +1,4 @@ name = mcl_compass description = A compass item which points towards the world origin. -depends = mcl_core, mcl_worlds, mesecons -optional_depends = doc +depends = mcl_core, mcl_worlds, mesecons, mcl_sounds +optional_depends = doc \ No newline at end of file From f7a5862df2eff6dd21504c805aff2146cbe98c90 Mon Sep 17 00:00:00 2001 From: chmodsayshello Date: Sat, 30 Apr 2022 08:59:25 +0000 Subject: [PATCH 21/25] update mcl_itemframes to use get_compass_image correctly --- mods/ITEMS/mcl_itemframes/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_itemframes/init.lua b/mods/ITEMS/mcl_itemframes/init.lua index d46a393b8..e2cf9da62 100644 --- a/mods/ITEMS/mcl_itemframes/init.lua +++ b/mods/ITEMS/mcl_itemframes/init.lua @@ -222,7 +222,7 @@ minetest.register_node("mcl_itemframes:item_frame",{ put_itemstack:set_count(1) local itemname = put_itemstack:get_name() if minetest.get_item_group(itemname, "compass") > 0 then - put_itemstack:set_name("mcl_compass:" .. mcl_compass.get_compass_image(pos, minetest.dir_to_yaw(minetest.facedir_to_dir(node.param2)))) + put_itemstack:set_name("mcl_compass:" .. mcl_compass.get_compass_image(pos, minetest.dir_to_yaw(minetest.facedir_to_dir(node.param2)), put_itemstack)) end if minetest.get_item_group(itemname, "clock") > 0 then minetest.get_node_timer(pos):start(1.0) From 92cd3381adc5cea49c66f88fab123929defbcfce Mon Sep 17 00:00:00 2001 From: chmodsayshello Date: Sat, 30 Apr 2022 09:01:57 +0000 Subject: [PATCH 22/25] upload textures 1/2 --- .../mcl_compass/textures/lodestone_bottom.png | Bin 0 -> 6333 bytes .../mcl_compass/textures/lodestone_side1.png | Bin 0 -> 6600 bytes .../mcl_compass/textures/lodestone_side2.png | Bin 0 -> 6583 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 mods/ITEMS/mcl_compass/textures/lodestone_bottom.png create mode 100644 mods/ITEMS/mcl_compass/textures/lodestone_side1.png create mode 100644 mods/ITEMS/mcl_compass/textures/lodestone_side2.png diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_bottom.png b/mods/ITEMS/mcl_compass/textures/lodestone_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..64ddb76ce2135dcf8cbeba1cae22baa169a3e465 GIT binary patch literal 6333 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_side2.png b/mods/ITEMS/mcl_compass/textures/lodestone_side2.png new file mode 100644 index 0000000000000000000000000000000000000000..fd9a1a2a5d6952131e7c8c7812d54eb8d96f89a7 GIT binary patch literal 6583 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 T;E(~FIt1O()1k_KTjGBM%)j|~ literal 0 HcmV?d00001 From c97fc42b685bd4d4c2d54721f8adc55415419fa4 Mon Sep 17 00:00:00 2001 From: chmodsayshello Date: Sat, 30 Apr 2022 09:02:17 +0000 Subject: [PATCH 23/25] upload textures 2/2 --- .../mcl_compass/textures/lodestone_side3.png | Bin 0 -> 6617 bytes .../mcl_compass/textures/lodestone_side4.png | Bin 0 -> 6589 bytes .../ITEMS/mcl_compass/textures/lodestone_top.png | Bin 0 -> 6404 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 mods/ITEMS/mcl_compass/textures/lodestone_side3.png create mode 100644 mods/ITEMS/mcl_compass/textures/lodestone_side4.png create mode 100644 mods/ITEMS/mcl_compass/textures/lodestone_top.png diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_side3.png b/mods/ITEMS/mcl_compass/textures/lodestone_side3.png new file mode 100644 index 0000000000000000000000000000000000000000..43224083df1a2011f4ff7281200642b88bfb3b7f GIT binary patch literal 6617 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_side4.png b/mods/ITEMS/mcl_compass/textures/lodestone_side4.png new file mode 100644 index 0000000000000000000000000000000000000000..21dadc9f7db72265e79ec6a3d6b3692f45a1fdfb GIT binary patch literal 6589 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_compass/textures/lodestone_top.png b/mods/ITEMS/mcl_compass/textures/lodestone_top.png new file mode 100644 index 0000000000000000000000000000000000000000..77c2064e1f85bf9429fa4138a68a6865395c8ceb GIT binary patch literal 6404 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 literal 0 HcmV?d00001 From f1c60a48e0872868372d8479995c14c817a923ef Mon Sep 17 00:00:00 2001 From: chmodsayshello Date: Sat, 30 Apr 2022 10:02:04 +0000 Subject: [PATCH 24/25] remove debug logging --- mods/ITEMS/mcl_compass/init.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/mods/ITEMS/mcl_compass/init.lua b/mods/ITEMS/mcl_compass/init.lua index f9fc8bb61..91e9eb607 100644 --- a/mods/ITEMS/mcl_compass/init.lua +++ b/mods/ITEMS/mcl_compass/init.lua @@ -19,9 +19,7 @@ local function get_far_node(pos, itemstack) --code from minetest dev wiki: https itemstack:get_meta():set_string("last_forceload", tostring(os.time(os.date("!*t")))) minetest.get_voxel_manip():read_from_map(pos, pos) node = minetest.get_node(pos) - minetest.log("forceloaded, cooldown reset!") else - minetest.log("cooldown not over yet") node = {name="mcl_compass:lodestone"} --cooldown not over yet, pretend like there is something... end end From ed8995acec2077296d9cc7cbddd434ab66da1589 Mon Sep 17 00:00:00 2001 From: kabou Date: Sat, 30 Apr 2022 23:30:58 +0200 Subject: [PATCH 25/25] Fix `add_large_plant()` argument mismatch. * In commit 86b2cd70f907dccb161bbdbb99e1770647ba2a76 an extra argument was added to the `add_large_plant()` function in order to handle silk touch. For some reason, the callers for "double_grass" and "double_fern" were updated with two new arguments. Because of this, silk touch likely never worked on these nodes. This commit removes the unused `nil` argument from both callers. * This commit fixes #2155. --- mods/ITEMS/mcl_flowers/init.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/ITEMS/mcl_flowers/init.lua b/mods/ITEMS/mcl_flowers/init.lua index d5112a36d..33ea531c5 100644 --- a/mods/ITEMS/mcl_flowers/init.lua +++ b/mods/ITEMS/mcl_flowers/init.lua @@ -386,8 +386,8 @@ add_large_plant("sunflower", S("Sunflower"), S("A sunflower is a large plant whi local longdesc_grass = S("Double tallgrass a variant of tall grass and occupies two blocks. It can be harvested for wheat seeds.") local longdesc_fern = S("Large fern is a variant of fern and occupies two blocks. It can be harvested for wheat seeds.") -add_large_plant("double_grass", S("Double Tallgrass"), longdesc_grass, "mcl_flowers_double_plant_grass_bottom.png", "mcl_flowers_double_plant_grass_top.png", "mcl_flowers_double_plant_grass_inv.png", 6/16, 4/16, wheat_seed_drop, {"mcl_flowers:tallgrass 2"}, false, true, nil, fortune_wheat_seed_drop) -add_large_plant("double_fern", S("Large Fern"), longdesc_fern, "mcl_flowers_double_plant_fern_bottom.png", "mcl_flowers_double_plant_fern_top.png", "mcl_flowers_double_plant_fern_inv.png", 5/16, 5/16, wheat_seed_drop, {"mcl_flowers:fern 2"}, false, true, nil, fortune_wheat_seed_drop) +add_large_plant("double_grass", S("Double Tallgrass"), longdesc_grass, "mcl_flowers_double_plant_grass_bottom.png", "mcl_flowers_double_plant_grass_top.png", "mcl_flowers_double_plant_grass_inv.png", 6/16, 4/16, wheat_seed_drop, {"mcl_flowers:tallgrass 2"}, false, true, fortune_wheat_seed_drop) +add_large_plant("double_fern", S("Large Fern"), longdesc_fern, "mcl_flowers_double_plant_fern_bottom.png", "mcl_flowers_double_plant_fern_top.png", "mcl_flowers_double_plant_fern_inv.png", 5/16, 5/16, wheat_seed_drop, {"mcl_flowers:fern 2"}, false, true, fortune_wheat_seed_drop) minetest.register_abm({ label = "Pop out flowers",