assets_warehouse/stuff.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 = ,