local modname = minetest.get_current_modname() local modpath = minetest.get_modpath(modname) vl_held_item = {} local mod = vl_held_item local held_item_entity = { initial_properties = { hp_max = 1, physical = true, pointable = false, collide_with_objects = true, static_save = false, -- TODO remove/change later when needed to persist -- WARNING persisting held items not recommended, mob can recreate it after_activate collision_box = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }, }, visual = "wielditem", textures = { "mcl_core:dirt_with_grass" }, } function held_item_entity:on_activate(staticdata, dtime_unloaded) local staticdata = minetest.deserialize(staticdata) self._staticdata = staticdata local props = { visual = "wielditem", textures = { staticdata.itemname }, } self.object:set_properties(props) end function held_item_entity:get_staticdata() return minetest.serialize(self._staticdata) end minetest.register_entity("vl_held_item:held_item_entity", held_item_entity) function mod.create_item_entity(pos, itemname) local staticdata = { itemname = itemname } return minetest.add_entity(pos, "vl_held_item:held_item_entity", minetest.serialize(staticdata)) end