2022-11-20 20:43:58 +01:00
|
|
|
minetest.register_node("poop:box", {
|
|
|
|
description = "cardboard box",
|
|
|
|
tiles = {"BOX.png"},
|
|
|
|
|
|
|
|
drop = 'poop:box',
|
|
|
|
legacy_mineral = true,
|
2022-11-20 22:47:32 +01:00
|
|
|
drawtype = "nodebox",
|
|
|
|
paramtype = "light",
|
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {
|
|
|
|
{-0.3125, -0.5, -0.375, 0.3125, -0.0625, 0.375}, -- NodeBox1
|
|
|
|
}
|
|
|
|
}
|
2022-11-20 20:43:58 +01:00
|
|
|
})
|
|
|
|
minetest.register_node("poop:floor", {
|
|
|
|
description = "Floor",
|
|
|
|
tiles = {"floor.png"},
|
|
|
|
|
|
|
|
drop = 'poop:floor',
|
|
|
|
legacy_mineral = true,
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("poop:Poop", {
|
|
|
|
description = "Just Shit",
|
|
|
|
tiles = {"Poop.png"},
|
|
|
|
drop = 'poop:PoopItem',
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("poop:tv", {
|
2022-11-20 22:38:05 +01:00
|
|
|
description = "CRT TV",
|
2022-11-20 20:43:58 +01:00
|
|
|
tiles = {"PC2.png", "PC2.png","PC2.png","PC.png","PC2.png","PC2.png"},
|
|
|
|
|
|
|
|
drop = 'poop:Poop',
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("poop:bricks", {
|
|
|
|
description = "Bricks",
|
|
|
|
tiles = {"Bricks.png"},
|
|
|
|
|
|
|
|
drop = 'poop:grey_bricks',
|
|
|
|
})
|
|
|
|
minetest.register_node("poop:grey_bricks", {
|
|
|
|
description = "Bricks 2",
|
|
|
|
tiles = {"Bricks2.png"},
|
|
|
|
|
|
|
|
drop = 'poop:grey_bricks',
|
|
|
|
})
|
|
|
|
minetest.register_node("poop:planks", {
|
|
|
|
description = "Planks",
|
|
|
|
tiles = {"Planks.png"},
|
|
|
|
|
|
|
|
drop = 'poop:planks',
|
|
|
|
})
|
|
|
|
minetest.register_node("poop:purpleblock", {
|
|
|
|
description = "Purple Block",
|
|
|
|
tiles = {"purpleblock.png"},
|
|
|
|
|
|
|
|
drop = 'poop:purpleblock',
|
|
|
|
})
|
|
|
|
minetest.register_node("poop:purpleblock", {
|
|
|
|
description = "Purple Block",
|
|
|
|
tiles = {"purpleblock.png"},
|
|
|
|
|
|
|
|
drop = 'poop:purpleblock',
|
|
|
|
})
|
|
|
|
minetest.register_node("poop:redblock", {
|
|
|
|
description = "Red Block",
|
|
|
|
tiles = {"redblock.png"},
|
|
|
|
|
|
|
|
drop = 'poop:redblock',
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("poop:aquablock", {
|
|
|
|
description = "Aqua Block",
|
|
|
|
tiles = {"aquablock.png"},
|
|
|
|
|
|
|
|
drop = 'poop:aquablock',
|
|
|
|
})
|
|
|
|
minetest.register_node("poop:glass", {
|
|
|
|
description = "Glass",
|
|
|
|
tiles = {"glass.png"},
|
|
|
|
|
|
|
|
drop = 'poop:glass',
|
|
|
|
})
|
|
|
|
minetest.register_node("poop:Poop2", {
|
|
|
|
description = "Poop with more density",
|
|
|
|
tiles = {"sraka.png"},
|
|
|
|
|
|
|
|
drop = 'poop:Poop',
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("poop:flux_capacitor", {
|
|
|
|
description = "Flux Capacitor from Back to the Future",
|
|
|
|
tiles = {"fluxcap2.png", "fluxcap2.png","fluxcap2.png","fluxcap.png","fluxcap2.png","fluxcap2.png"},
|
|
|
|
|
|
|
|
drop = 'poop:Poop',
|
|
|
|
})
|
2022-11-20 21:59:55 +01:00
|
|
|
minetest.register_alias("mapgen_stone", "poop:floor")
|
|
|
|
|
|
|
|
local pooped_things = 0
|
|
|
|
|
|
|
|
minetest.register_craftitem("poop:plumba", {
|
|
|
|
description = "Plumba",
|
|
|
|
inventory_image = "plumba.png",
|
|
|
|
on_use = function(itemstack, user, pointed_thing)
|
|
|
|
-- check if pointing at a node
|
|
|
|
if pointed_thing.type ~= "node" then
|
|
|
|
return
|
|
|
|
end
|
2022-11-20 22:47:32 +01:00
|
|
|
-- get node at pointed thing position
|
|
|
|
local node = minetest.get_node(pointed_thing.under)
|
|
|
|
-- check if node is poop
|
|
|
|
if node.name == "poop:Poop" then
|
|
|
|
minetest.remove_node(pointed_thing.under)
|
|
|
|
minetest.add_node(pointed_thing.under, {name="poop:box"}) -- display GUI that tells user how much poop he has pooped
|
|
|
|
formspec = "size[8,8]"..
|
|
|
|
"label[0,0;You packed "..pooped_things.." shits!]"..
|
|
|
|
"button_exit[0,1;2,2;exit;Exit]"
|
|
|
|
minetest.show_formspec(user:get_player_name(), "poop:gui", formspec)
|
|
|
|
pooped_things = pooped_things + 1
|
|
|
|
return itemstack
|
|
|
|
else if node.name == "poop:Poop2" then
|
|
|
|
minetest.remove_node(pointed_thing.under)
|
|
|
|
minetest.add_node(pointed_thing.under, {name="poop:box"})
|
|
|
|
-- display GUI that tells user how much poop he has pooped
|
|
|
|
formspec = "size[8,8]"..
|
|
|
|
"label[0,0;You packed "..pooped_things.." shits!]"..
|
|
|
|
"button_exit[0,1;2,2;exit;Exit]"
|
|
|
|
minetest.show_formspec(user:get_player_name(), "poop:gui", formspec)
|
|
|
|
pooped_things = pooped_things + 1
|
|
|
|
return itemstack
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
})
|
2022-11-20 21:59:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
minetest.register_craftitem("poop:pooper", {
|
|
|
|
description = "Pooper",
|
|
|
|
inventory_image = "SHITitem.png",
|
|
|
|
on_use = function(itemstack, user, pointed_thing)
|
|
|
|
-- check if pointing at a node
|
|
|
|
if pointed_thing.type ~= "node" then
|
|
|
|
return
|
|
|
|
end
|
|
|
|
-- make a random number between 1 and 10
|
|
|
|
local random_number = math.random(1, 10)
|
|
|
|
if random_number < 5 then
|
2022-11-20 22:47:32 +01:00
|
|
|
local node = minetest.get_node(pointed_thing.above)
|
|
|
|
if node.name == "air" then
|
|
|
|
minetest.add_node(pointed_thing.above, {name="poop:Poop"})
|
|
|
|
else
|
|
|
|
minetest.add_node(pointed_thing.under, {name="poop:Poop"})
|
|
|
|
end
|
2022-11-20 21:59:55 +01:00
|
|
|
else
|
2022-11-20 22:47:32 +01:00
|
|
|
local node = minetest.get_node(pointed_thing.above)
|
|
|
|
if node.name == "air" then
|
|
|
|
minetest.add_node(pointed_thing.above, {name="poop:Poop2"})
|
|
|
|
else
|
|
|
|
minetest.add_node(pointed_thing.under, {name="poop:Poop2"})
|
|
|
|
end
|
2022-11-20 21:59:55 +01:00
|
|
|
end
|
|
|
|
return itemstack
|
|
|
|
end,
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_on_joinplayer(function(player)
|
|
|
|
player:get_inventory():set_list("main", {})
|
|
|
|
|
|
|
|
player:setpos({x=0, y=10, z=0})
|
|
|
|
-- set time to day
|
|
|
|
minetest.set_timeofday(0.5)
|
|
|
|
minetest.sound_play("pooping_together", {
|
|
|
|
gain = 1,
|
|
|
|
pitch = 1,
|
|
|
|
loop = true,
|
|
|
|
})
|
|
|
|
player:get_inventory():add_item("main", "poop:plumba")
|
|
|
|
player:get_inventory():add_item("main", "poop:pooper")
|
2022-11-20 20:43:58 +01:00
|
|
|
|
2022-11-20 21:59:55 +01:00
|
|
|
-- give the player all the possible nodes in this mod 2000 times
|
|
|
|
--for i = 1, 2000 do
|
|
|
|
-- player:get_inventory():add_item("main", "poop:floor")
|
|
|
|
-- player:get_inventory():add_item("main", "poop:tv")
|
|
|
|
-- player:get_inventory():add_item("main", "poop:bricks")
|
|
|
|
-- player:get_inventory():add_item("main", "poop:grey_bricks")
|
|
|
|
--player:get_inventory():add_item("main", "poop:planks")
|
|
|
|
-- player:get_inventory():add_item("main", "poop:purpleblock")
|
|
|
|
-- player:get_inventory():add_item("main", "poop:redblock")
|
|
|
|
-- player:get_inventory():add_item("main", "poop:aquablock")
|
|
|
|
-- player:get_inventory():add_item("main", "poop:glass")
|
|
|
|
-- player:get_inventory():add_item("main", "poop:flux_capacitor")
|
|
|
|
--end
|
|
|
|
end)
|