vehicle owner can remove it
This commit is contained in:
parent
cd1a45034b
commit
acc2814c58
11
api.lua
11
api.lua
@ -664,13 +664,24 @@ minetest.register_tool(vehicle.."_spawner", {
|
||||
local playerpos = placer:getpos();
|
||||
if pointed_thing.type == "node" and not is_boat then
|
||||
local obj = minetest.env:add_entity(pointed_thing.above, vehicle)
|
||||
local object = obj:get_luaentity()
|
||||
object.owner = placer
|
||||
item:take_item()
|
||||
return item
|
||||
elseif pointed_thing.type == "node" and minetest.get_item_group(pointed_thing.name, "water")then
|
||||
local obj = minetest.env:add_entity(pointed_thing.under, vehicle)
|
||||
obj.owner = placer
|
||||
item:take_item()
|
||||
return item
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
function vehicle_drop(ent, player, name)
|
||||
if ent.owner == player then
|
||||
local pos = ent.object:getpos()
|
||||
minetest.env:add_item(pos, name.."_spawner")
|
||||
ent.object:remove()
|
||||
end
|
||||
end
|
62
init.lua
62
init.lua
@ -16,6 +16,8 @@ dofile(minetest.get_modpath("vehicles").."/api.lua")
|
||||
-- end
|
||||
-- end)
|
||||
|
||||
|
||||
|
||||
minetest.register_entity("vehicles:missile", {
|
||||
visual = "mesh",
|
||||
mesh = "missile.b3d",
|
||||
@ -221,6 +223,9 @@ minetest.register_entity("vehicles:tank", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:tank")
|
||||
end,
|
||||
on_step = function(self, dtime)
|
||||
if self.driver then
|
||||
object_drive(self, dtime, 6, 0.5, true, "vehicles:missile_2", 1, nil, nil, false)
|
||||
@ -247,6 +252,9 @@ minetest.register_entity("vehicles:turret", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, true, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:turret")
|
||||
end,
|
||||
on_step = function(self, dtime)
|
||||
self.object:setvelocity({x=0, y=-1, z=0})
|
||||
if self.driver then
|
||||
@ -277,6 +285,9 @@ minetest.register_entity("vehicles:firetruck", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:firetruck")
|
||||
end,
|
||||
on_step = function(self, dtime)
|
||||
if self.driver then
|
||||
object_drive(self, dtime, 7, 0.5, true, "vehicles:water", 0.2, nil, nil, false)
|
||||
@ -311,6 +322,9 @@ minetest.register_entity("vehicles:ute", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:ute")
|
||||
end,
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
@ -365,6 +379,9 @@ minetest.register_entity("vehicles:ute2", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:ute2")
|
||||
end,
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
@ -396,6 +413,9 @@ minetest.register_entity("vehicles:astonmaaton", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:astonmaaton")
|
||||
end,
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
@ -427,6 +447,9 @@ minetest.register_entity("vehicles:nizzan", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:nizzan")
|
||||
end,
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
@ -478,6 +501,9 @@ minetest.register_entity("vehicles:nizzan2", {
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:nizzan2")
|
||||
end,
|
||||
on_step = function(self, dtime)
|
||||
if self.driver then
|
||||
object_drive_car(self, dtime, 14, 0.8, 5)
|
||||
@ -523,6 +549,9 @@ minetest.register_entity("vehicles:lambogoni", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:lambogoni")
|
||||
end,
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
@ -554,6 +583,9 @@ minetest.register_entity("vehicles:masda", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:masda")
|
||||
end,
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
@ -588,6 +620,9 @@ minetest.register_entity("vehicles:musting", {
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:musting")
|
||||
end,
|
||||
on_step = function(self, dtime)
|
||||
if self.driver then
|
||||
object_drive_car(self, dtime, 15, 0.95, 4)
|
||||
@ -616,6 +651,9 @@ minetest.register_entity("vehicles:musting2", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:musting2")
|
||||
end,
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
@ -658,6 +696,9 @@ minetest.register_entity("vehicles:fewawi", {
|
||||
end
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:fewawi")
|
||||
end,
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
@ -700,6 +741,9 @@ minetest.register_entity("vehicles:fewawi2", {
|
||||
end
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:fewawi2")
|
||||
end,
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
@ -734,6 +778,9 @@ minetest.register_entity("vehicles:pooshe", {
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:pooshe")
|
||||
end,
|
||||
on_step = function(self, dtime)
|
||||
if self.driver then
|
||||
object_drive_car(self, dtime, 15, 0.95, 4)
|
||||
@ -762,6 +809,9 @@ minetest.register_entity("vehicles:pooshe2", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:pooshe2")
|
||||
end,
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
@ -796,6 +846,9 @@ minetest.register_entity("vehicles:masda2", {
|
||||
on_activate = function(self)
|
||||
self.nitro = true
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:masda2")
|
||||
end,
|
||||
on_step = function(self, dtime)
|
||||
if self.driver then
|
||||
object_drive_car(self, dtime, 15, 0.85, 4)
|
||||
@ -824,6 +877,9 @@ minetest.register_entity("vehicles:boat", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=4}, false, {x=0, y=2, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:boat")
|
||||
end,
|
||||
on_step = function(self, dtime)
|
||||
if self.driver then
|
||||
object_float(self, dtime, 10, 0.85)
|
||||
@ -857,6 +913,9 @@ minetest.register_entity("vehicles:jet", {
|
||||
object_attach(self, clicker, {x=0, y=5, z=5}, false, {x=0, y=3, z=4})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:jet")
|
||||
end,
|
||||
on_step = function(self, dtime)
|
||||
if self.driver then
|
||||
object_fly(self, dtime, 14, 0.2, 0.95, true, "vehicles:missile_2", 1, {x=1, y=1}, {x=10, y=10})
|
||||
@ -889,6 +948,9 @@ minetest.register_entity("vehicles:plane", {
|
||||
object_attach(self, clicker, {x=0, y=8, z=3}, false, {x=0, y=9, z=0})
|
||||
end
|
||||
end,
|
||||
on_punch = function(self, puncher)
|
||||
vehicle_drop(self, puncher, "vehicles:plane")
|
||||
end,
|
||||
on_step = function(self, dtime)
|
||||
if self.anim and not self.driver then
|
||||
self.object:set_animation({x=1, y=1}, 5, 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user