From ae0efeafedbddf5a2832019309af5d9e32b8906f Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 7 Apr 2021 16:00:05 +0200 Subject: [PATCH] rendering: add support for noclip movement --- .../bixilon/minosoft/config/config/game/CameraGameConfig.kt | 1 + src/main/java/de/bixilon/minosoft/gui/rendering/Camera.kt | 6 ++++-- .../gui/rendering/chunk/models/renderable/FluidRenderer.kt | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/config/config/game/CameraGameConfig.kt b/src/main/java/de/bixilon/minosoft/config/config/game/CameraGameConfig.kt index b47fc8225..c69b86b21 100644 --- a/src/main/java/de/bixilon/minosoft/config/config/game/CameraGameConfig.kt +++ b/src/main/java/de/bixilon/minosoft/config/config/game/CameraGameConfig.kt @@ -19,4 +19,5 @@ data class CameraGameConfig( @Json(name = "render_distance") var renderDistance: Int = 10, var fov: Float = 60f, @Json(name = "mouse_sensitivity") var moseSensitivity: Float = 0.1f, + @Json(name = "no_clip_movement") var noCipMovement: Boolean = false, ) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/Camera.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/Camera.kt index 9ca70367e..453da448e 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/Camera.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/Camera.kt @@ -145,8 +145,10 @@ class Camera( fun handleInput(deltaTime: Double) { var cameraSpeed = movementSpeed * deltaTime val movementFront = Vec3(cameraFront) - movementFront.y = 0.0f - movementFront.normalizeAssign() // when moving forwards, do not move down + if (! Minosoft.getConfig().config.game.camera.noCipMovement) { + movementFront.y = 0.0f + movementFront.normalizeAssign() // when moving forwards, do not move down + } if (keySprintDown) { cameraSpeed *= 5 } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/FluidRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/FluidRenderer.kt index 99d0086f8..fc17bb6ad 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/FluidRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/FluidRenderer.kt @@ -211,10 +211,10 @@ class FluidRenderer( if (blockState == null) { return false } - if (blockState.owner.resourceLocation.full.contains(regex)) { + if (blockState.properties[BlockProperties.WATERLOGGED] == true) { return true } - if (blockState.properties[BlockProperties.WATERLOGGED] == true) { + if (blockState.owner.resourceLocation.full.contains(regex)) { return true } return false