diff --git a/api.lua b/api.lua index 7086224..f6832f2 100644 --- a/api.lua +++ b/api.lua @@ -217,7 +217,14 @@ function vehicles.object_drive(entity, dtime, def) --destroy node if destroy_node ~= nil and node == destroy_node then - minetest.remove_node(pos) + minetest.dig_node(pos) + local item = minetest.get_node_drops(destroy_node) + if item[1] ~= nil then + minetest.add_item(pos, item[1]) + end + if item[2] ~= nil then + minetest.add_item(pos, item[1]) + end end --face the right way diff --git a/init.lua b/init.lua index 1f772d7..46284a4 100644 --- a/init.lua +++ b/init.lua @@ -472,6 +472,37 @@ minetest.register_entity("vehicles:firetruck", { vehicles.register_spawner("vehicles:firetruck", S("Fire truck"), "vehicles_firetruck_inv.png") +minetest.register_entity("vehicles:tractor", { + visual = "mesh", + mesh = "tractor.b3d", + textures = {"vehicles_tractor.png"}, + velocity = 15, + acceleration = -5, + stepheight = 1.5, + hp_max = 200, + physical = true, + collisionbox = {-0.8, 0, -0.8, 0.8, 1.4, 0.8}, + on_rightclick = function(self, clicker) + if self.driver and clicker == self.driver then + vehicles.object_detach(self, clicker, {x=1, y=0, z=1}) + elseif not self.driver then + vehicles.object_attach(self, clicker, {x=0, y=14, z=-10}, true, {x=0, y=2, z=-5}) + end + end, + on_punch = vehicles.on_punch, + on_step = function(self, dtime) + return vehicles.on_step(self, dtime, { + speed = 8, + decell = 0.5, + driving_sound = "engine", + sound_duration = 11, + destroy_node = "farming:wheat_5", + }) + end, +}) + +vehicles.register_spawner("vehicles:tractor", S("Tractor"), "vehicles_tractor_inv.png") + minetest.register_entity("vehicles:geep", { visual = "mesh", mesh = "geep.b3d", diff --git a/models/tractor.b3d b/models/tractor.b3d new file mode 100644 index 0000000..2f9dde4 Binary files /dev/null and b/models/tractor.b3d differ diff --git a/textures/vehicles_tractor.png b/textures/vehicles_tractor.png new file mode 100644 index 0000000..19f9465 Binary files /dev/null and b/textures/vehicles_tractor.png differ diff --git a/textures/vehicles_tractor_inv.png b/textures/vehicles_tractor_inv.png new file mode 100644 index 0000000..f3fc93c Binary files /dev/null and b/textures/vehicles_tractor_inv.png differ