From 579bc05538dee6dbc56611857b69f9a15f6f99cc Mon Sep 17 00:00:00 2001 From: jzitnik-dev Date: Wed, 24 Sep 2025 21:14:07 +0200 Subject: [PATCH] fix: Jumping infinitely deals damage --- src/main/java/cz/jzitnik/game/Game.java | 10 ++++++++++ .../game/logic/services/burning/MobsBurning.java | 4 ---- .../jzitnik/game/threads/list/InputHandlerThread.java | 1 - 3 files changed, 10 insertions(+), 5 deletions(-) delete mode 100644 src/main/java/cz/jzitnik/game/logic/services/burning/MobsBurning.java diff --git a/src/main/java/cz/jzitnik/game/Game.java b/src/main/java/cz/jzitnik/game/Game.java index 2d1b9ac..ec98b38 100644 --- a/src/main/java/cz/jzitnik/game/Game.java +++ b/src/main/java/cz/jzitnik/game/Game.java @@ -169,12 +169,19 @@ public class Game { update(screenRenderer); } + private boolean playerMovingUp = false; + /** * Moves the player upward by one block, if jumping is valid. * * @param screenRenderer the renderer used to refresh the screen. */ public void movePlayerUp(ScreenRenderer screenRenderer) { + if (playerMovingUp) { + return; + } + + playerMovingUp = true; if (window != Window.WORLD) { return; } @@ -191,6 +198,8 @@ public class Game { stats.setBlocksTraveled(stats.getBlocksTraveled() + 1); + screenRenderer.render(this); + new Thread(() -> { try { Thread.sleep(400); @@ -199,6 +208,7 @@ public class Game { } update(screenRenderer); + playerMovingUp = false; }).start(); } diff --git a/src/main/java/cz/jzitnik/game/logic/services/burning/MobsBurning.java b/src/main/java/cz/jzitnik/game/logic/services/burning/MobsBurning.java deleted file mode 100644 index 3d6a44b..0000000 --- a/src/main/java/cz/jzitnik/game/logic/services/burning/MobsBurning.java +++ /dev/null @@ -1,4 +0,0 @@ -package cz.jzitnik.game.logic.services.burning; - -public class MobsBurning { -} diff --git a/src/main/java/cz/jzitnik/game/threads/list/InputHandlerThread.java b/src/main/java/cz/jzitnik/game/threads/list/InputHandlerThread.java index bb8f28b..dab003c 100644 --- a/src/main/java/cz/jzitnik/game/threads/list/InputHandlerThread.java +++ b/src/main/java/cz/jzitnik/game/threads/list/InputHandlerThread.java @@ -88,7 +88,6 @@ public class InputHandlerThread extends Thread { case 'd' -> new Thread(() -> game.movePlayerRight(screenRenderer, terminal)).start(); case ' ' ->{ game.movePlayerUp(screenRenderer); - screenRenderer.render(game); } case 'e' -> { if (game.getWindow() != Window.WORLD) {