diff --git a/mods/deco/init.lua b/mods/deco/init.lua index 97c75e1..a24d104 100644 --- a/mods/deco/init.lua +++ b/mods/deco/init.lua @@ -158,6 +158,17 @@ minetest.register_node("deco:chest", { tiles = {"deco_chest_top.png", "deco_chest_top.png", "deco_chest_side.png", "deco_chest_side.png", "deco_chest_side.png", "deco_chest_front.png"}, paramtype2 = "facedir", + drawtype = "nodebox", + paramtype = "light", + node_box = { + type = "fixed", + fixed = { + {-0.4375, -0.5, -0.4375, 0.4375, 0.4375, 0.4375}, -- MainBody + {-0.125, -0.0625, -0.5, -0.0625, 0.0625, -0.4375}, -- LockingPinP1 + {0.0625, -0.125, -0.4375, -0.0625, 0.0625, -0.5}, -- LockingPinP2 + {0.0625, -0.0625, -0.5, 0.125, 0.0625, -0.4375}, -- LockingPinP3 + } + }, groups = {choppy=2,oddly_breakable_by_hand=2}, legacy_facedir_simple = true, is_ground_content = false, @@ -203,6 +214,17 @@ end minetest.register_node("deco:chest_locked", { description = "Locked Chest", + drawtype = "nodebox", + paramtype = "light", + node_box = { + type = "fixed", + fixed = { + {-0.4375, -0.5, -0.4375, 0.4375, 0.4375, 0.4375}, -- MainBody + {-0.125, -0.0625, -0.5, -0.0625, 0.25, -0.4375}, -- LockingPinP1 + {0.0625, -0.125, -0.4375, -0.0625, 0.1875, -0.5}, -- LockingPinP2 + {0.0625, -0.0625, -0.5, 0.125, 0.25, -0.4375}, -- LockingPinP3 + } + }, tiles = {"deco_chest_top.png", "deco_chest_top.png", "deco_chest_side.png", "deco_chest_side.png", "deco_chest_side.png", "deco_chest_lock.png"}, paramtype2 = "facedir", diff --git a/mods/deco/textures/deco_chest_front.png b/mods/deco/textures/deco_chest_front.png index c5a76c3..72b1052 100644 Binary files a/mods/deco/textures/deco_chest_front.png and b/mods/deco/textures/deco_chest_front.png differ diff --git a/mods/deco/textures/deco_chest_lock.png b/mods/deco/textures/deco_chest_lock.png index 368a60b..0c1779e 100644 Binary files a/mods/deco/textures/deco_chest_lock.png and b/mods/deco/textures/deco_chest_lock.png differ diff --git a/mods/deco/textures/deco_chest_side.png b/mods/deco/textures/deco_chest_side.png index 83f4861..17c7021 100644 Binary files a/mods/deco/textures/deco_chest_side.png and b/mods/deco/textures/deco_chest_side.png differ diff --git a/mods/deco/textures/deco_chest_top.png b/mods/deco/textures/deco_chest_top.png index ba5e2f4..0a817b5 100644 Binary files a/mods/deco/textures/deco_chest_top.png and b/mods/deco/textures/deco_chest_top.png differ diff --git a/mods/deco_textures/textures/deco_meteoric_iron_block.png b/mods/deco_textures/textures/deco_meteoric_iron_block.png deleted file mode 100644 index abbad9b..0000000 Binary files a/mods/deco_textures/textures/deco_meteoric_iron_block.png and /dev/null differ diff --git a/mods/mapgen/mapgen.lua b/mods/mapgen/mapgen.lua index 0416f41..c131322 100644 --- a/mods/mapgen/mapgen.lua +++ b/mods/mapgen/mapgen.lua @@ -33,6 +33,21 @@ minetest.register_biome({ humidity_point = 45, }) +minetest.register_biome({ + name = "soapstone", + + node_top = "mapgen:grass", + depth_top = 1, + node_filler = "mapgen:soap_stone", + depth_filler = 40, + node_dust = "air", + + height_min = 10, + height_max = 30000, + heat_point = 35, + humidity_point = 34, +}) + minetest.register_biome({ name = "snowy_plains", diff --git a/mods/mapgen/nodes.lua b/mods/mapgen/nodes.lua index 26dc6f2..c29a610 100644 --- a/mods/mapgen/nodes.lua +++ b/mods/mapgen/nodes.lua @@ -871,6 +871,18 @@ minetest.register_node("mapgen:wheat_grass_5", { end, }) +-- +-- don't drop the *soap*stone +-- + +minetest.register_node("mapgen:soap_stone", { + description = "Soap Stone", + tiles = {"mapgen_soap_stone.png"}, + groups = {cracky=2, stone=1}, + is_ground_content = true, + sounds = default.node_sound_stone_defaults(), +}) + --- --- Stuff --- diff --git a/mods/mapgen/textures/mapgen_soap_stone.png b/mods/mapgen/textures/mapgen_soap_stone.png new file mode 100644 index 0000000..3e68460 Binary files /dev/null and b/mods/mapgen/textures/mapgen_soap_stone.png differ diff --git a/mods/ores/init.lua b/mods/ores/init.lua index 64725dd..729dd91 100644 --- a/mods/ores/init.lua +++ b/mods/ores/init.lua @@ -290,7 +290,7 @@ minetest.register_node("ores:oil_flowing", { liquid_alternative_source = "ores:oil_source", liquid_viscosity = 12, post_effect_color = {a=250, r=10, g=10, b=10}, - groups = {water=3, liquid=3, flammable=1}, + groups = {liquid=3, flammable=1}, }) minetest.register_node("ores:oil_source", { @@ -323,5 +323,5 @@ minetest.register_node("ores:oil_source", { liquid_alternative_source = "ores:oil_source", liquid_viscosity = 12, post_effect_color = {a=250, r=10, g=10, b=10}, - groups = {water=3, liquid=3, flammable=1}, + groups = {liquid=3, flammable=1}, }) \ No newline at end of file diff --git a/mods/tanks/init.lua b/mods/tanks/init.lua index a731c53..22ed03a 100644 --- a/mods/tanks/init.lua +++ b/mods/tanks/init.lua @@ -146,98 +146,491 @@ register_tank("o", 1) -- black magic here --- minetest.register_on_punchnode(function(pos, node, puncher) - -- if not puncher then return end - - -- tnodename = minetest.get_node(pos) - -- bname = puncher:get_wielded_item():get_name() - - -- for level=1,8 do - -- if tnodename.name == "tanks:level_0" then - -- if bname == "bucket:oil" then - -- puncher:set_wielded_item("bucket:bucket_empty 1") - -- minetest.set_node(pos, {name="tanks:o_level_1"}) - -- end - -- end - - -- if tnodename.name == "tanks:o_level_"..level then - -- if bname == "bucket:bucket_empty" then - -- puncher:set_wielded_item("bucket:oil 1") - -- if tnodename.name == "tanks:o_level_1" then - -- minetest.set_node(pos, {name="tanks:level_0"}) - -- else - -- minetest.set_node(pos, {name="tanks:o_level_"..level-1}) - -- end - -- end - -- if bname == "bucket:oil" then - -- if tnodename.name == "tanks:o_level_8" then - -- --nothing - -- else - -- minetest.set_node(pos, {name="tanks:o_level_"..level+1}) - -- puncher:set_wielded_item("bucket:bucket_empty 1") - -- end - -- end - -- --level = level + 1 - -- end - -- end - - -- for level=1,8 do - -- if tnodename.name == "tanks:level_0" then - -- if bname == "bucket:bucket_water" then - -- puncher:set_wielded_item("bucket:bucket_empty 1") - -- minetest.set_node(pos, {name="tanks:w_level_1"}) - -- end - -- end - -- if tnodename.name == "tanks:w_level_"..level then - -- if bname == "bucket:bucket_empty" then - -- puncher:set_wielded_item("bucket:bucket_water 1") - -- if tnodename.name == "tanks:w_level_1" then - -- minetest.set_node(pos, {name="tanks:level_0"}) - -- else - -- minetest.set_node(pos, {name="tanks:w_level_"..level-1}) - -- end - -- end - -- end - - -- if bname == "bucket:bucket_water" then - -- if tnodename.name == "tanks:w_level_8" then - -- --do nothing - -- else - -- minetest.set_node(pos, {name="tanks:w_level_"..level+1}) - -- puncher:set_wielded_item("bucket:bucket_empty 1") - -- end - -- end - -- end - -- end +minetest.register_on_punchnode(function(pos, node, puncher) + if not puncher then return end + tnodepos = pos - -- for level=1,8 do - -- if tnodename.name == "tanks:level_0" then - -- if bname == "bucket:bucket_lava" then - -- puncher:set_wielded_item("bucket:bucket_empty 1") - -- minetest.set_node(pos, {name="tanks:l_level_1"}) - -- end - -- end - - -- if tnodename.name == "tanks:l_level_"..level then - -- if bname == "bucket:bucket_empty" then - -- puncher:set_wielded_item("bucket:bucket_lava 1") - -- if tnodename.name == "tanks:l_level_1" then - -- minetest.set_node(pos, {name="tanks:level_0"}) - -- else - -- minetest.set_node(pos, {name="tanks:l_level_"..level-1}) - -- end - -- end - - -- if bname == "bucket:bucket_lava" then - -- if tnodename.name == "tanks:l_level_8" then - -- --do nothing - -- else - -- minetest.set_node(pos, {name="tanks:l_level_"..level+1}) - -- puncher:set_wielded_item("bucket:bucket_empty 1") - -- end - -- end - -- end - -- end + --store the highest tank point to be drained + highpoint = 1 --- end) + tnodename = minetest.get_node(pos) + bname = puncher:get_wielded_item():get_name() + + for level=1,8 do + if tnodename.name == "tanks:level_0" then + if bname == "bucket:oil" then + puncher:set_wielded_item("bucket:bucket_empty 1") + minetest.set_node(pos, {name="tanks:o_level_1"}) + end + end + + if tnodename.name == "tanks:o_level_"..level then + if bname == "bucket:bucket_empty" then + + if tnodename.name == "tanks:o_level_1" then + minetest.set_node(pos, {name="tanks:level_0"}) + puncher:set_wielded_item("bucket:oil 1") + else + nodeset = "false" + for nodeup=1,16 do + tnodepos.y = tnodepos.y + 1 + abovenode = minetest.get_node(tnodepos) + --print (abovenode.name) + if abovenode.name == "tanks:o_level_8" or abovenode.name == "tanks:o_level_1" or abovenode.name == "tanks:o_level_2" or abovenode.name == "tanks:o_level_3" or abovenode.name == "tanks:o_level_4" or abovenode.name == "tanks:o_level_5" or abovenode.name == "tanks:o_level_6" or abovenode.name == "tanks:o_level_7" then + --do nothing + else + highpoint = nodeup + print ('high point found at '..highpoint) + tnodepos.y = tnodepos.y-nodeup --reset tnodepos + break + end + end + + abovenode = minetest.get_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}) + + nodeset = "false" + + if abovenode.name == "tanks:o_level_1" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:level_0"}) + puncher:set_wielded_item("bucket:oil 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_2" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:o_level_1"}) + puncher:set_wielded_item("bucket:oil 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_3" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:o_level_2"}) + puncher:set_wielded_item("bucket:oil 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_4" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:o_level_3"}) + puncher:set_wielded_item("bucket:oil 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_5" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:o_level_4"}) + puncher:set_wielded_item("bucket:oil 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_6" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:o_level_5"}) + puncher:set_wielded_item("bucket:oil 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_7" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:o_level_6"}) + puncher:set_wielded_item("bucket:oil 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_8" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:o_level_7"}) + puncher:set_wielded_item("bucket:oil 1") + nodeset = "true" + end + + abovenode = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}) + + if abovenode.name:find("tanks:level_0", 1, true) ~= nil and nodeset == "false" then + minetest.set_node(pos, {name="tanks:o_level_"..level-1}) + puncher:set_wielded_item("bucket:oil 1") + nodeset = "true" + end + end + end + if bname == "bucket:oil" then + if tnodename.name == "tanks:o_level_8" then + nodeset = "false" + for nodeup=1,16 do + tnodepos.y = tnodepos.y + 1 + abovenode = minetest.get_node(tnodepos) + + if abovenode.name == "tanks:level_0" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:o_level_1"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_1" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:o_level_2"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_2" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:o_level_3"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_3" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:o_level_4"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_4" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:o_level_5"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_5" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:o_level_6"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_6" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:o_level_7"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:o_level_7" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:o_level_8"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + --return + end + + if abovenode.name:find("level_0", 1, true) == true then + print 'broke loop, tank not found' + break + end + end + else + minetest.set_node(pos, {name="tanks:o_level_"..level+1}) + puncher:set_wielded_item("bucket:bucket_empty 1") + end + end + end + end + + for level=1,8 do + if tnodename.name == "tanks:level_0" then + if bname == "bucket:bucket_water" then + puncher:set_wielded_item("bucket:bucket_empty 1") + minetest.set_node(pos, {name="tanks:w_level_1"}) + end + end + + if tnodename.name == "tanks:w_level_"..level then + if bname == "bucket:bucket_empty" then + + if tnodename.name == "tanks:w_level_1" then + minetest.set_node(pos, {name="tanks:level_0"}) + puncher:set_wielded_item("bucket:bucket_water 1") + else + nodeset = "false" + for nodeup=1,16 do + tnodepos.y = tnodepos.y + 1 + abovenode = minetest.get_node(tnodepos) + --print (abovenode.name) + if abovenode.name == "tanks:w_level_8" or abovenode.name == "tanks:w_level_1" or abovenode.name == "tanks:w_level_2" or abovenode.name == "tanks:w_level_3" or abovenode.name == "tanks:w_level_4" or abovenode.name == "tanks:w_level_5" or abovenode.name == "tanks:w_level_6" or abovenode.name == "tanks:w_level_7" then + --do nothing + else + highpoint = nodeup + print ('high point found at '..highpoint) + tnodepos.y = tnodepos.y-nodeup --reset tnodepos + break + end + end + + abovenode = minetest.get_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}) + + nodeset = "false" + + if abovenode.name == "tanks:w_level_1" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:level_0"}) + puncher:set_wielded_item("bucket:bucket_water 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_2" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:w_level_1"}) + puncher:set_wielded_item("bucket:bucket_water 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_3" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:w_level_2"}) + puncher:set_wielded_item("bucket:bucket_water 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_4" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:w_level_3"}) + puncher:set_wielded_item("bucket:bucket_water 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_5" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:w_level_4"}) + puncher:set_wielded_item("bucket:bucket_water 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_6" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:w_level_5"}) + puncher:set_wielded_item("bucket:bucket_water 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_7" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:w_level_6"}) + puncher:set_wielded_item("bucket:bucket_water 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_8" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:w_level_7"}) + puncher:set_wielded_item("bucket:bucket_water 1") + nodeset = "true" + end + + abovenode = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}) + + if abovenode.name:find("tanks:level_0", 1, true) ~= nil and nodeset == "false" then + minetest.set_node(pos, {name="tanks:w_level_"..level-1}) + puncher:set_wielded_item("bucket:bucket_water 1") + nodeset = "true" + end + end + end + if bname == "bucket:bucket_water" then + if tnodename.name == "tanks:w_level_8" then + nodeset = "false" + for nodeup=1,16 do + tnodepos.y = tnodepos.y + 1 + abovenode = minetest.get_node(tnodepos) + + if abovenode.name == "tanks:level_0" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:w_level_1"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_1" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:w_level_2"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_2" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:w_level_3"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_3" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:w_level_4"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_4" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:w_level_5"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_5" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:w_level_6"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_6" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:w_level_7"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:w_level_7" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:w_level_8"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + --return + end + + if abovenode.name:find("level_0", 1, true) == true then + print 'broke loop, tank not found' + break + end + end + else + minetest.set_node(pos, {name="tanks:w_level_"..level+1}) + puncher:set_wielded_item("bucket:bucket_empty 1") + end + end + end + end + + for level=1,8 do + if tnodename.name == "tanks:level_0" then + if bname == "bucket:bucket_lava" then + puncher:set_wielded_item("bucket:bucket_empty 1") + minetest.set_node(pos, {name="tanks:l_level_1"}) + end + end + + if tnodename.name == "tanks:l_level_"..level then + if bname == "bucket:bucket_empty" then + + if tnodename.name == "tanks:l_level_1" then + minetest.set_node(pos, {name="tanks:level_0"}) + puncher:set_wielded_item("bucket:bucket_lava 1") + else + nodeset = "false" + for nodeup=1,16 do + tnodepos.y = tnodepos.y + 1 + abovenode = minetest.get_node(tnodepos) + --print (abovenode.name) + if abovenode.name == "tanks:l_level_8" or abovenode.name == "tanks:l_level_1" or abovenode.name == "tanks:l_level_2" or abovenode.name == "tanks:l_level_3" or abovenode.name == "tanks:l_level_4" or abovenode.name == "tanks:l_level_5" or abovenode.name == "tanks:l_level_6" or abovenode.name == "tanks:l_level_7" then + --do nothing + else + highpoint = nodeup + print ('high point found at '..highpoint) + tnodepos.y = tnodepos.y-nodeup --reset tnodepos + break + end + end + + abovenode = minetest.get_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}) + + nodeset = "false" + + if abovenode.name == "tanks:l_level_1" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:level_0"}) + puncher:set_wielded_item("bucket:bucket_lava 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_2" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:l_level_1"}) + puncher:set_wielded_item("bucket:bucket_lava 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_3" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:l_level_2"}) + puncher:set_wielded_item("bucket:bucket_lava 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_4" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:l_level_3"}) + puncher:set_wielded_item("bucket:bucket_lava 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_5" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:l_level_4"}) + puncher:set_wielded_item("bucket:bucket_lava 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_6" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:l_level_5"}) + puncher:set_wielded_item("bucket:bucket_lava 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_7" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:l_level_6"}) + puncher:set_wielded_item("bucket:bucket_lava 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_8" and nodeset == "false" then + minetest.set_node({x=pos.x, y=pos.y+highpoint-1, z=pos.z}, {name="tanks:l_level_7"}) + puncher:set_wielded_item("bucket:bucket_lava 1") + nodeset = "true" + end + + abovenode = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}) + + if abovenode.name:find("tanks:level_0", 1, true) ~= nil and nodeset == "false" then + minetest.set_node(pos, {name="tanks:l_level_"..level-1}) + puncher:set_wielded_item("bucket:bucket_lava 1") + nodeset = "true" + end + end + end + if bname == "bucket:bucket_lava" then + if tnodename.name == "tanks:l_level_8" then + nodeset = "false" + for nodeup=1,16 do + tnodepos.y = tnodepos.y + 1 + abovenode = minetest.get_node(tnodepos) + + if abovenode.name == "tanks:level_0" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:l_level_1"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_1" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:l_level_2"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_2" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:l_level_3"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_3" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:l_level_4"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_4" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:l_level_5"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_5" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:l_level_6"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_6" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:l_level_7"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + nodeset = "true" + end + + if abovenode.name == "tanks:l_level_7" and nodeset == "false" then + minetest.set_node(tnodepos, {name="tanks:l_level_8"}) + puncher:set_wielded_item("bucket:bucket_empty 1") + --return + end + + if abovenode.name:find("level_0", 1, true) == true then + print 'broke loop, tank not found' + break + end + end + else + minetest.set_node(pos, {name="tanks:l_level_"..level+1}) + puncher:set_wielded_item("bucket:bucket_empty 1") + end + end + end + end +end) diff --git a/mods/tools/crafts.lua b/mods/tools/crafts.lua deleted file mode 100644 index 9e0946a..0000000 --- a/mods/tools/crafts.lua +++ /dev/null @@ -1,2 +0,0 @@ ---crafts.lua ---tools mod for BFD. \ No newline at end of file diff --git a/mods/tools/init.lua b/mods/tools/init.lua index b792ba1..81dc9a4 100644 --- a/mods/tools/init.lua +++ b/mods/tools/init.lua @@ -19,7 +19,7 @@ -- You should have received a copy of the GNU General Public License -- along with BFD. If not, see . -dofile(minetest.get_modpath("tools").."/crafts.lua") +--dofile(minetest.get_modpath("tools").."/custom_tools.lua") minetest.register_craft({ type = "toolrepair", @@ -707,3 +707,98 @@ minetest.register_craft({ {'', 'tools:stick', ''}, } }) + +-- mese stuff + +--mese pick + +minetest.register_tool("tools:pick_mese", { + description = "Mese Pickaxe", + inventory_image = "tool_mesepick.png", + tool_capabilities = { + full_punch_interval = 1.67, + max_drop_level = 0, + groupcaps = { + cracky = {times={[1]=1.7, [2]=1.7/2, [3]=1.7/4}, uses=128, maxlevel=1}, + hardness = {times={[1]=27, [2]=18, [3]=9}, uses=64, maxlevel=1}, + }, + damage_groups = {fleshy=7}, + } +}) + +minetest.register_tool("tools:shovel_mese", { + description = "Mese Shovel", + inventory_image = "tool_meseshovel.png^[transformR90", + tool_capabilities = { + full_punch_interval = 1.67, + max_drop_level = 0, + groupcaps = { + crumbly = {times={[1]=1.55/2, [2]=0.75/2, [3]=0.75/4}, uses = 122, maxlevel=1}, + }, + damage_groups = {fleshy=5}, + } +}) + +minetest.register_tool("tools:axe_mese", { + description = "Mese Axe", + inventory_image = "tool_meseaxe.png", + tool_capabilities = { + full_punch_interval = 1.67, + max_drop_level = 0, + groupcaps = { + choppy = {times={[1]=4.2/2, [2]=3.1/2, [1]=1.55/2}, uses = 42, maxlevel=1}, + }, + damage_groups = {fleshy=8}, + } +}) + +minetest.register_tool("tools:sword_mese", { + description = "Mese Sword", + inventory_image = "tool_mesesword.png", + tool_capabilities = { + full_punch_interval = 1.78, + max_drop_level = 0, + groupcaps = { + snappy = {times={[1]=0.3/2, [2]=0.15/2, [3]=0.7/2}, uses = 32, maxlevel=1}, + }, + damage_groups = {fleshy = 12}, + } +}) + +-- mese tool crafting + +minetest.register_craft({ + output = 'tools:pick_mese', + recipe = { + {'ores:mese_crystal', 'ores:mese_crystal', 'ores:mese_crystal'}, + {'', 'tools:stick', ''}, + {'', 'tools:stick', ''}, + } +}) + +minetest.register_craft({ + output = 'tools:shovel_mese', + recipe = { + {'ores:mese_crystal'}, + {'tools:stick'}, + {'tools:stick'}, + } +}) + +minetest.register_craft({ + output = 'tools:axe_mese', + recipe = { + {'ores:mese_crystal', 'ores:mese_crystal'}, + {'ores:mese_crystal', 'tools:stick'}, + {'', 'tools:stick'}, + } +}) + +minetest.register_craft({ + output = 'tools:sword_mese', + recipe = { + {'ores:mese_crystal'}, + {'ores:mese_crystal'}, + {'tools:stick'}, + } +}) \ No newline at end of file diff --git a/mods/xgui/depends.txt b/mods/xgui/depends.txt new file mode 100644 index 0000000..331d858 --- /dev/null +++ b/mods/xgui/depends.txt @@ -0,0 +1 @@ +default \ No newline at end of file diff --git a/mods/xgui/init.lua b/mods/xgui/init.lua new file mode 100644 index 0000000..5088bcb --- /dev/null +++ b/mods/xgui/init.lua @@ -0,0 +1,20 @@ +local default = "inventory.png" + +local function getFormSize(formspec) + +end + +local function setFormspec(player, formspec) + local size = getFormSize(formspec) + player:set_inventory_formspec(formspec.."background[-0.25,-0.5;8.5,8.5;"..default.."]") +end + +minetest.register_on_joinplayer(function(player) + minetest.after(0.5, function() end) + setFormspec(player, player:get_inventory_formspec()) +end) + +minetest.register_on_player_receive_fields(function(player, formname, fields) + minetest.after(0.5, function() end) + setFormspec(player, player:get_inventory_formspec()) +end) \ No newline at end of file diff --git a/mods/xgui/textures/inventory.png b/mods/xgui/textures/inventory.png new file mode 100644 index 0000000..d11087b Binary files /dev/null and b/mods/xgui/textures/inventory.png differ diff --git a/mods/xgui/textures/inventory.xcf b/mods/xgui/textures/inventory.xcf new file mode 100644 index 0000000..46d7ac1 Binary files /dev/null and b/mods/xgui/textures/inventory.xcf differ diff --git a/mods/xgui/textures/inventory_alternate.png b/mods/xgui/textures/inventory_alternate.png new file mode 100644 index 0000000..ca88b39 Binary files /dev/null and b/mods/xgui/textures/inventory_alternate.png differ diff --git a/mods/xgui/textures/inventory_default.xcf b/mods/xgui/textures/inventory_default.xcf new file mode 100644 index 0000000..c77a536 Binary files /dev/null and b/mods/xgui/textures/inventory_default.xcf differ diff --git a/mods/xgui/textures/inventory_template.png b/mods/xgui/textures/inventory_template.png new file mode 100644 index 0000000..2729f99 Binary files /dev/null and b/mods/xgui/textures/inventory_template.png differ diff --git a/mods/xgui/textures/inventory_template.xcf b/mods/xgui/textures/inventory_template.xcf new file mode 100644 index 0000000..a0abee6 Binary files /dev/null and b/mods/xgui/textures/inventory_template.xcf differ