diff --git a/mods/sponge/README.txt b/mods/sponge/README.txt new file mode 100644 index 00000000..c6ed5516 --- /dev/null +++ b/mods/sponge/README.txt @@ -0,0 +1,16 @@ +Minetest 0.4 mod: flowers +========================= + +License of source code: +----------------------- +Copyright (C) 2012-2013 + +This program is free software. It comes without any warranty, to +the extent permitted by applicable law. You can redistribute it +and/or modify it under the terms of the Do What The Fuck You Want +To Public License, Version 2, as published by Sam Hocevar. See +http://sam.zoy.org/wtfpl/COPYING for more details. + +License of media (textures and sounds) +-------------------------------------- +WTFPL diff --git a/mods/sponge/depends.txt b/mods/sponge/depends.txt new file mode 100644 index 00000000..4ad96d51 --- /dev/null +++ b/mods/sponge/depends.txt @@ -0,0 +1 @@ +default diff --git a/mods/sponge/init.lua b/mods/sponge/init.lua new file mode 100644 index 00000000..dc7f2ce1 --- /dev/null +++ b/mods/sponge/init.lua @@ -0,0 +1,147 @@ + +if minetest.setting_get("liquid_finite") then + +minetest.register_node("sponge:sponge", { + description = "Sponge", + drawtype = "normal", + tiles = {"sponge.png"}, + paramtype = 'light', + sunlight_propagates = true, + walkable = true, + pointable = true, + diggable = true, + buildable_to = false, + groups = {snappy=2, flammable=1}, +}) + +minetest.register_node("sponge:iron_sponge", { + description = "Iron Sponge", + drawtype = "normal", + tiles = {"iron_sponge.png"}, + paramtype = 'light', + sunlight_propagates = true, + walkable = true, + pointable = true, + diggable = true, + buildable_to = false, + groups = {cracky=2}, +}) + + +--[[ +minetest.register_node("sponge:fake_air", { + description = "Fake Air", + drawtype = "airlike", + paramtype = 'light', + sunlight_propagates = true, + walkable = false, + pointable = false, + diggable = false, + buildable_to = true, + groups = {not_in_creative_inventory=1}, +}) + +local replacewith = "sponge:fake_air" +if minetest.setting_get("liquid_finite") and minetest.setting_get("liquid_relax") > "0" then + replacewith = "air" +end +]] + +local replacewith = "air" + +minetest.register_abm({ + nodenames = {"default:water_source", "default:water_flowing"}, + neighbors = {"sponge:sponge", "sponge:iron_sponge"}, + interval = 1.0, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + minetest.env:add_node(pos, {name=replacewith}) + end +}) + +minetest.register_abm( +{nodenames = {"sponge:sponge"}, +interval = 1.0, +chance = 1, +action = function(pos, node, active_object_count, active_object_count_wider) + for i=-1,1 do + for j=-1,1 do + for k=-1,1 do + p = {x=pos.x+i, y=pos.y+j, z=pos.z+k} + n = minetest.env:get_node(p) + if (n.name=="default:water_flowing") + or (n.name == "default:water_source") then + minetest.env:add_node(p, {name=replacewith}) + end + end + end + end +end +}) + +minetest.register_abm( +{nodenames = {"sponge:iron_sponge"}, +interval = 1.0, +chance = 1, +action = function(pos, node, active_object_count, active_object_count_wider) + for i=-2,2 do + for j=-2,2 do + for k=-2,2 do + p = {x=pos.x+i, y=pos.y+j, z=pos.z+k} + n = minetest.env:get_node(p) + if (n.name == "default:water_flowing") + or (n.name == "default:water_source") + or (n.name == "default:lava_source") + or (n.name == "default:lava_flowing") then + minetest.env:add_node(p, {name=replacewith}) + end + end + end + end +end +}) + +--[[ +minetest.register_abm( +{nodenames = {"sponge:fake_air"}, +interval = 1.0, +chance = 1, +action = function(pos, node, active_object_count, active_object_count_wider) + spongecount=0 + for i=-2,2 do + for j=-2,2 do + for k=-2,2 do + p = {x=pos.x+i, y=pos.y+j, z=pos.z+k} + n = minetest.env:get_node(p) + if (n.name=="sponge:iron_sponge") or (n.name == "sponge:sponge") then + spongecount=spongecount+1 + end + end + end + end + if (spongecount==0) then + minetest.env:add_node(pos, {name="air"}) + end +end +}) +]] + +minetest.register_craft({ + output = "sponge:sponge", + recipe = { + {'default:leaves', 'default:leaves', 'default:leaves'}, + {'default:leaves', 'default:mese', 'default:leaves'}, + {'default:leaves', 'default:leaves', 'default:leaves'}, + } +}) + +minetest.register_craft({ + output = "sponge:iron_sponge", + recipe = { + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + {'default:steel_ingot', 'sponge:sponge', 'default:steel_ingot'}, + {'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, + } +}) + +end diff --git a/mods/sponge/textures/iron_sponge.png b/mods/sponge/textures/iron_sponge.png new file mode 100644 index 00000000..55296b0c Binary files /dev/null and b/mods/sponge/textures/iron_sponge.png differ diff --git a/mods/sponge/textures/sponge.png b/mods/sponge/textures/sponge.png new file mode 100644 index 00000000..2f04fed7 Binary files /dev/null and b/mods/sponge/textures/sponge.png differ