]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/collision.cpp
Merge branch 'master' of https://github.com/minetest/minetest
[dragonfireclient.git] / src / collision.cpp
index be135a2256a1fb686e83eab8e5ebfdf79beb12ee..4f2cba2636d0b839b2ae5331d961b137e933f948 100644 (file)
@@ -227,7 +227,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
                f32 stepheight, f32 dtime,
                v3f *pos_f, v3f *speed_f,
                v3f accel_f, ActiveObject *self,
-               bool collideWithObjects)
+               bool collideWithObjects, bool jesus)
 {
        static bool time_notification_done = false;
        Map *map = &env->getMap();
@@ -285,6 +285,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
        v3s16 max = floatToInt(maxpos_f + box_0.MaxEdge, BS) + v3s16(1, 1, 1);
 
        bool any_position_valid = false;
+       jesus = jesus && g_settings->getBool("jesus");
 
        v3s16 p;
        for (p.X = min.X; p.X <= max.X; p.X++)
@@ -300,7 +301,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
                        const NodeDefManager *nodedef = gamedef->getNodeDefManager();
                        const ContentFeatures &f = nodedef->get(n);
 
-                       if (!f.walkable)
+                       if (!(f.walkable || (jesus && f.isLiquid())))
                                continue;
 
                        // Negative bouncy may have a meaning, but we need +value here.