diff options
Diffstat (limited to 'mods/vzxv_itemstacks/loose.lua')
-rw-r--r-- | mods/vzxv_itemstacks/loose.lua | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/mods/vzxv_itemstacks/loose.lua b/mods/vzxv_itemstacks/loose.lua new file mode 100644 index 0000000..58952f8 --- /dev/null +++ b/mods/vzxv_itemstacks/loose.lua @@ -0,0 +1,33 @@ +minetest.register_entity("vzxv_itemstacks:loose_itemstack",{ + initial_properties = { + physical = true, + pointable = false, + visual = "wielditem", + visual_size = {x = 0.4, y = 0.4}, + }, + on_activate = function(self,staticdata) + local luaent = self + staticdata = staticdata~="" and staticdata or "vzxv:apioform" + luaent._stack = staticdata + self.object:set_properties { + wield_item=ItemStack(luaent._stack):get_name() + } + end, + on_step = function(self,dt) + local npos = vzxv.round_pos(self.object:get_pos()) + npos.y = npos.y - 1 + if minetest.get_node(npos).name ~= "air" then + npos.y = npos.y + 1 + if minetest.get_node(npos).name == "air" then + vzxv.drop(npos, ItemStack(self._stack)) + self.object:remove() + end + end + end, + get_staticdata = function(self) + local luaent = self + return luaent._stack + end +}) + +vzxv.register_gravity("vzxv_itemstacks:loose_itemstack")
\ No newline at end of file |