]> git.lizzy.rs Git - Crafter.git/commitdiff
Set minecarts rotation when turning
authoroilboi <47129783+oilboi@users.noreply.github.com>
Sat, 4 Jul 2020 12:44:18 +0000 (08:44 -0400)
committeroilboi <47129783+oilboi@users.noreply.github.com>
Sat, 4 Jul 2020 12:44:18 +0000 (08:44 -0400)
mods/minecart/init.lua

index 83733fddde22fbcf23d98f252b15d98383ee714a..bea16f3881de515c969716fed58a04bac533ecea 100644 (file)
@@ -67,7 +67,11 @@ local function collision_detect(self)
        end
 end
 
-
+local function direction_snap(self)
+       local dir = self.dir
+       local yaw = minetest.dir_to_yaw(dir)
+       self.object:set_rotation(vector.new(0,yaw,0))
+end
 
 local function rail_brain(self,pos)
        if not self.dir then return end
@@ -103,6 +107,7 @@ local function rail_brain(self,pos)
                                        self.dir = dir2
                                        self.axis_lock = "z"
                                        self.object:set_pos(pos)
+                                       direction_snap(self)
                                        break
                                elseif dir.z ~= 0 and dir2.x ~= 0 then
                                        local intertia = math.abs(self.object:get_velocity().z)
@@ -110,6 +115,7 @@ local function rail_brain(self,pos)
                                        self.dir = dir2
                                        self.axis_lock = "x"
                                        self.object:set_pos(pos)
+                                       direction_snap(self)
                                        break
                                end
                        end