if not objs then return end
for _, obj in pairs(objs) do
- if obj and obj:get_luaentity() and
- obj:get_luaentity().name == "xdecor:f_item" then
+ local ent = obj:get_luaentity()
+ if obj and ent and ent.name == "xdecor:f_item" then
obj:remove() break
end
end
end
local facedir = {
- [0] = {x=0, y=0, z=1}, {x=1, y=0, z=0}, {x=0, y=0, z=-1}, {x=-1, y=0, z=0}
+ [0] = {x = 0, y = 0, z = 1},
+ {x = 1, y = 0, z = 0},
+ {x = 0, y = 0, z = -1},
+ {x = -1, y = 0, z = 0}
}
local function update_item(pos, node)
tmp.texture = ItemStack(itemstring):get_name()
local entity = minetest.add_entity(pos, "xdecor:f_item")
- local yaw = math.pi*2 - node.param2 * math.pi/2
- entity:setyaw(yaw)
+ local yaw = (math.pi * 2) - node.param2 * (math.pi / 2)
+ entity:set_yaw(yaw)
local timer = minetest.get_node_timer(pos)
timer:start(15.0)
local meta = minetest.get_meta(pos)
local name = placer:get_player_name()
meta:set_string("owner", name)
- meta:set_string("infotext", "Item Frame (owned by "..name..")")
+ meta:set_string("infotext", "Item Frame (owned by " .. name .. ")")
end
function itemframe.timer(pos)
if num == 0 and meta:get_string("item") ~= "" then
update_item(pos, node)
end
+
return true
end
local owner = meta:get_string("owner")
local admin = minetest.check_player_privs(player_name, "protection_bypass")
- if not admin and player_name ~= owner then return end
- drop_item(pos, node)
+ if admin and player_name == owner then
+ drop_item(pos, node)
+ end
end
function itemframe.dig(pos, player)
xdecor.register("itemframe", {
description = "Item Frame",
- groups = {choppy=3, oddly_breakable_by_hand=2, flammable=3},
+ groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.disallow,
sunlight_propagates = true,
inventory_image = "xdecor_itemframe.png",
node_box = xdecor.nodebox.slab_z(0.9375),
- tiles = {"xdecor_wood.png", "xdecor_wood.png", "xdecor_wood.png",
- "xdecor_wood.png", "xdecor_wood.png", "xdecor_itemframe.png"},
+ tiles = {
+ "xdecor_wood.png", "xdecor_wood.png", "xdecor_wood.png",
+ "xdecor_wood.png", "xdecor_wood.png", "xdecor_itemframe.png"
+ },
after_place_node = itemframe.after_place,
on_timer = itemframe.timer,
on_rightclick = itemframe.rightclick,
minetest.register_entity("xdecor:f_item", {
visual = "wielditem",
- visual_size = {x=0.33, y=0.33},
+ visual_size = {x = 0.33, y = 0.33},
collisionbox = {0},
physical = false,
textures = {"air"},
on_activate = function(self, staticdata)
- local pos = self.object:getpos()
+ local pos = self.object:get_pos()
if minetest.get_node(pos).name ~= "xdecor:itemframe" then
self.object:remove()
end
end
end
if self.texture then
- self.object:set_properties({textures={self.texture}})
+ self.object:set_properties({
+ textures = {self.texture}
+ })
end
end,
get_staticdata = function(self)
if self.nodename and self.texture then
- return self.nodename..";"..self.texture
+ return self.nodename .. ";" .. self.texture
end
+
return ""
end
})