Fix crash in boats mod
authorsfan5 <sfan5@live.de>
Sun, 6 Jul 2014 07:53:54 +0000 (09:53 +0200)
committerBlockMen <nmuelll@web.de>
Sun, 6 Jul 2014 08:30:59 +0000 (10:30 +0200)
mods/boats/init.lua

index d5be6143b529312062f43bcfdfff01f04cb74215..cc38d420e32847f85c2f9b86d34da722d6088e91 100644 (file)
@@ -36,7 +36,7 @@ local boat = {
        visual = "mesh",
        mesh = "boat.x",
        textures = {"default_wood.png"},
-       
+
        driver = nil,
        v = 0,
        last_v = 0,
@@ -76,6 +76,7 @@ function boat:get_staticdata()
 end
 
 function boat:on_punch(puncher, time_from_last_punch, tool_capabilities, direction)
+       puncher:set_detach()
        self.object:remove()
        if puncher and puncher:is_player() and not minetest.setting_getbool("creative_mode") then
                puncher:get_inventory():add_item("main", "boats:boat")
@@ -94,14 +95,14 @@ function boat:on_step(dtime)
                        self.v = self.v-0.08
                end
                if ctrl.left then
-                       if ctrl.down then 
+                       if ctrl.down then
                                self.object:setyaw(yaw-math.pi/120-dtime*math.pi/120)
                        else
                                self.object:setyaw(yaw+math.pi/120+dtime*math.pi/120)
                        end
                end
                if ctrl.right then
-                       if ctrl.down then 
+                       if ctrl.down then
                                self.object:setyaw(yaw+math.pi/120+dtime*math.pi/120)
                        else
                                self.object:setyaw(yaw-math.pi/120-dtime*math.pi/120)
@@ -122,7 +123,7 @@ function boat:on_step(dtime)
        if math.abs(self.v) > 4.5 then
                self.v = 4.5*get_sign(self.v)
        end
-       
+
        local p = self.object:getpos()
        p.y = p.y-0.5
        local new_velo = {x=0,y=0,z=0}
@@ -170,7 +171,7 @@ minetest.register_craftitem("boats:boat", {
        wield_image = "boat_wield.png",
        wield_scale = {x=2, y=2, z=1},
        liquids_pointable = true,
-       
+
        on_place = function(itemstack, placer, pointed_thing)
                if pointed_thing.type ~= "node" then
                        return