72 lines
3.0 KiB
Lua
72 lines
3.0 KiB
Lua
function assets_warehouse.item(name,mesh,texture,wield,selectionbox,collisionbox,description)
|
|
minetest.register_entity("assets_warehouse:"..name.."_entity", {
|
|
physical = true,
|
|
visual = "mesh",
|
|
visual_size = {x = 10, y = 10, z = 10},
|
|
mesh = mesh,
|
|
textures = texture,
|
|
velocity = 1,
|
|
drop = "asset_warehouse:entitynode",
|
|
selection_box = selectionbox,
|
|
--collisionbox = collisionbox,
|
|
|
|
collisionbox = {-0.15,0.0,-0.1,0.15,-0.5,0.1},
|
|
timer = 0,
|
|
on_step = function(self, dtime, moveresult)
|
|
if moveresult.touching_ground == true then
|
|
self.object:set_velocity({x=0.0, y=0.0, z=0.0})
|
|
else
|
|
self.object:set_acceleration({x = 0, y = -1, z = 0})
|
|
end
|
|
end,
|
|
})
|
|
minetest.register_tool('assets_warehouse:'..name..'_item', {
|
|
drawtype = 'mesh',
|
|
mesh = mesh,
|
|
tiles =texture,
|
|
inventory_image = texture,
|
|
description= description,
|
|
stack_max = 1,
|
|
wield_image = wield,
|
|
inventory_image = wield,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
|
|
range=5.0,
|
|
on_place = function(itemstack, user, pointed_thing)
|
|
if pointed_thing.type == "node" then
|
|
pos = pointed_thing.above
|
|
minetest.add_entity(pos, "assets_warehouse:"..name.."_entity")
|
|
--end
|
|
elseif pointed_thing.type == "object" then
|
|
return
|
|
end
|
|
--minetest.chat_send_player(player_name, player_name.. meta:get_int("days"))
|
|
end,
|
|
on_use = function(itemstack, player, pointed_thing)
|
|
local playerpos = player:get_pos()
|
|
local pos = player:get_pos()
|
|
local dir = player:get_look_dir()
|
|
local yaw = player:get_look_horizontal()
|
|
local power = 50
|
|
if pointed_thing.type == "node" then
|
|
obj = minetest.add_entity({x=pos.x,y=pos.y+1.5,z=pos.z},"assets_warehouse:"..name.."_entity")
|
|
obj:set_acceleration({x=dir.x*power, y=dir.y*power, z=dir.z*power})
|
|
obj:set_yaw(yaw)--math.pi/2)
|
|
else
|
|
obj = minetest.add_entity({x=pos.x,y=pos.y+1.5,z=pos.z},"assets_warehouse:"..name.."_entity")
|
|
obj:set_acceleration({x=dir.x*power, y=dir.y*power, z=dir.z*power})
|
|
obj:set_yaw(yaw)--math.pi/2)
|
|
end
|
|
end,
|
|
sunlight_propagates=true,
|
|
use_texture_alpha=false,
|
|
walkable=true,
|
|
pointable=true,
|
|
})
|
|
end
|
|
|
|
assets_warehouse.item("krutchy",'krutchyMD'..model_detail..'.obj',{'krutchy.png'},"krutchypreview.png",{type = "fixed", fixed = {{-0.01,0.0,-0.01,0.01,-0.05,0.01},},},{type = "fixed",fixed = {{-0.15,0.0,-0.1,0.15,-0.5,0.1},},},"krutchy is a doll whith a dangerous content")
|
|
|
|
|
|
--selection_box = {
|
|
|
|
-- collisionbox = , |