1
0
mirror of https://codeberg.org/minenux/minetest-mod-xdecor synced 2023-10-20 21:43:39 -07:00

Add Ender Chest and Trash Can

This commit is contained in:
jp 2015-07-05 16:40:33 +02:00
parent e9e255908f
commit 7c15c0b75e
7 changed files with 94 additions and 4 deletions

View File

@ -97,6 +97,15 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "xdecor:enderchest",
recipe = {
{"", "default:obsidian", ""},
{"default:obsidian", "default:chest", "default:obsidian"},
{"", "default:obsidian", ""}
}
})
minetest.register_craft({
output = "xdecor:fence_wrought_iron 2",
recipe = {
@ -285,6 +294,15 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "xdecor:trash_can",
recipe = {
{"group:wood", "", "group:wood"},
{"group:wood", "", "group:wood"},
{"group:wood", "group:wood", "group:wood"}
}
})
minetest.register_craft({
output = "xdecor:tv",
recipe = {

View File

@ -42,9 +42,9 @@ xdecor.register("hive", {
allow_metadata_inventory_put = function(pos, listname, index, stack, player)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local to_stack = inv:get_stack(listname, index)
if listname == "honey" then return 0 end
return stack:get_count()
end,
})

View File

@ -222,6 +222,32 @@ xdecor.register("empty_shelf", {
sounds = xdecor.wood
})
xdecor.register("enderchest", {
description = "Ender Chest",
tiles = {
"xdecor_enderchest_top.png",
"xdecor_enderchest_top.png",
"xdecor_enderchest_side.png",
"xdecor_enderchest_side.png",
"xdecor_enderchest_side.png",
"xdecor_enderchest_front.png"
},
groups = {cracky=2},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec",
"size[8,9]"..xdecor.fancy_gui..
"list[current_player;enderchest;0,0;8,4;]"..
"list[current_player;main;0,5;8,4;]")
meta:set_string("infotext", "Ender Chest")
end
})
minetest.register_on_joinplayer(function(player)
local inv = player:get_inventory()
inv:set_size("enderchest", 8*4)
end)
local fence_sbox = {
type = "fixed",
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}
@ -472,6 +498,47 @@ xdecor.register("tatami", {
}
})
xdecor.register("trash_can", {
description = "Trash Can",
tiles = {"xdecor_wood.png"},
groups = {choppy=3, flammable=2},
sounds = xdecor.wood,
node_box = {
type = "fixed",
fixed = {
{-0.3125, -0.5, 0.3125, 0.3125, 0.5, 0.375},
{0.3125, -0.5, -0.375, 0.375, 0.5, 0.375},
{-0.3125, -0.5, -0.375, 0.3125, 0.5, -0.3125},
{-0.375, -0.5, -0.375, -0.3125, 0.5, 0.375},
{-0.3125, -0.5, -0.3125, 0.3125, -0.4375, 0.3125}
}
},
collision_box = {
type = "fixed",
fixed = {
{-0.375, -0.5, 0.375, 0.375, 0.25, 0.375},
{0.375, -0.5, -0.375, 0.375, 0.25, 0.375},
{-0.375, -0.5, -0.375, 0.375, 0.25, -0.375},
{-0.375, -0.5, -0.375, -0.375, 0.25, 0.375},
{-0.375, -0.5, -0.375, 0.375, -0.4375, 0.375}
}
},
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", "Trash Can - throw your waste here!")
end
})
-- Thanks to Evergreen for this code.
local old_on_step = minetest.registered_entities["__builtin:item"].on_step
minetest.registered_entities["__builtin:item"].on_step = function(self, dtime)
if minetest.get_node(self.object:getpos()).name == "xdecor:trash_can" then
self.object:remove()
return
end
old_on_step(self, dtime)
end
xdecor.register("tv", {
description = "Television",
light_source = 11,

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

View File

@ -108,13 +108,18 @@ end
local function xput(pos, listname, index, stack, player)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local to_stack = inv:get_stack(listname, index)
if listname == "output" then
return 0
else
return 99
end
if listname == "fuel" then
if stack:get_name() == "xdecor:hammer" then
return stack:get_count()
else
return 0
end
end
return stack:get_count()
end
xdecor.register("worktable", {