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());
             }
         }
     }