From f85ebbbb5d0c8db57ef824025c02c721384442b5 Mon Sep 17 00:00:00 2001 From: lars <larslukasneuhaus@gmx.de> Date: Thu, 24 Oct 2024 23:37:41 +0200 Subject: [PATCH] made BoolOption show true or false, shortened tetris Timeout after first death --- .../minigames/instance/game/stateless/StatelessGame.java | 2 -- .../minigames/instance/game/stateless/config/Option.java | 7 ++++--- .../instance/game/stateless/config/common/BoolOption.java | 4 ++-- .../instance/game/stateless/types/tetris/Tetris.java | 5 ++++- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/StatelessGame.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/StatelessGame.java index d0bd25d..7bb79c8 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/StatelessGame.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/StatelessGame.java @@ -52,8 +52,6 @@ public class StatelessGame extends Game { switch (timeLeft) { case 60, 30, 10, 5, 4, 3, 2, 1 -> new ChatMessage(Icon.SCIENCE).appendStatic("Noch " + timeLeft + " Sekunden!").send(getPlayers()); - case 120 -> - new ChatMessage(Icon.SCIENCE).appendStatic("Noch 2 Minuten!").send(getPlayers()); } timePlayed++; diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/config/Option.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/config/Option.java index 02cfea2..1c6fc8f 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/config/Option.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/config/Option.java @@ -9,6 +9,7 @@ import net.minestom.server.item.ItemStack; import net.minestom.server.item.Material; import java.util.List; +import java.util.Objects; public abstract class Option<T> { private RestrictionHandler restrictionHandler; @@ -44,11 +45,11 @@ public abstract class Option<T> { } public ItemStack getCurrent(Player p) { - int amount = Integer.parseInt(options.get(pointer).toString()); + String value = options.get(pointer).toString(); return ItemStack.builder(item) .customName(name.getAssembled(p)) .lore(TranslatedComponent.byId("optionCommon#value").setColor(NamedTextColor.GOLD).getAssembled(p) - .append(Component.text(": ")).append(Component.text(amount))) + .append(Component.text(": ")).append(Component.text(value))) .build(); } @@ -57,7 +58,7 @@ public abstract class Option<T> { } public boolean getAsBoolean() { - return getAsInt() != 0; + return Objects.equals(getAsString(), "true") || Objects.equals(getAsString(), "1"); } public String getAsString() { diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/config/common/BoolOption.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/config/common/BoolOption.java index 22017e0..ae9548f 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/config/common/BoolOption.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/config/common/BoolOption.java @@ -6,8 +6,8 @@ import net.minestom.server.item.Material; import java.util.List; -public class BoolOption extends Option<Integer> { +public class BoolOption extends Option<String> { public BoolOption(String id, Material item, TranslatedComponent name) { - super(id, item, name, List.of(1, 0)); + super(id, item, name, List.of("true", "false")); } } diff --git a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/tetris/Tetris.java b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/tetris/Tetris.java index b52376d..7e8f310 100644 --- a/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/tetris/Tetris.java +++ b/src/main/java/eu/mhsl/minenet/minigames/instance/game/stateless/types/tetris/Tetris.java @@ -4,6 +4,8 @@ import eu.mhsl.minenet.minigames.instance.game.stateless.StatelessGame; import eu.mhsl.minenet.minigames.instance.game.stateless.types.tetris.game.TetrisGame; import eu.mhsl.minenet.minigames.instance.Dimension; import eu.mhsl.minenet.minigames.instance.game.stateless.types.tetris.game.Tetromino; +import eu.mhsl.minenet.minigames.message.Icon; +import eu.mhsl.minenet.minigames.message.type.ChatMessage; import eu.mhsl.minenet.minigames.score.PointsWinScore; import net.kyori.adventure.text.Component; import net.minestom.server.coordinate.Pos; @@ -129,8 +131,9 @@ class Tetris extends StatelessGame { getScore().insertResult(event.getPlayer(), tetrisGame.getScore()); if(!setTimeLimit) { - this.setTimeLimit(120); + this.setTimeLimit(90); setTimeLimit = true; + new ChatMessage(Icon.SCIENCE).appendStatic("Noch 90 Sekunden!").send(getPlayers()); } } }