From 20d9525fd22d75df1773a812822e2d6c60d26128 Mon Sep 17 00:00:00 2001
From: jzitnik-dev <email@jzitnik.dev>
Date: Fri, 14 Mar 2025 18:07:15 +0100
Subject: [PATCH] chore: Idk

---
 .../java/cz/jzitnik/game/sprites/ui/Font.java | 26 ++------
 .../game/threads/list/InputHandlerThread.java | 14 +++--
 src/main/java/cz/jzitnik/game/ui/Window.java  |  2 +-
 .../java/cz/jzitnik/tui/ScreenRenderer.java   |  2 +
 src/main/resources/textures/ui/font.ans       | 62 +++++--------------
 5 files changed, 31 insertions(+), 75 deletions(-)

diff --git a/src/main/java/cz/jzitnik/game/sprites/ui/Font.java b/src/main/java/cz/jzitnik/game/sprites/ui/Font.java
index 91306dc..183d8e8 100644
--- a/src/main/java/cz/jzitnik/game/sprites/ui/Font.java
+++ b/src/main/java/cz/jzitnik/game/sprites/ui/Font.java
@@ -1,30 +1,12 @@
 package cz.jzitnik.game.sprites.ui;
 
 import cz.jzitnik.tui.ResourceLoader;
-import cz.jzitnik.tui.Sprite;
 
-import java.util.Optional;
-
-public class Font extends Sprite {
-    public enum FontState {
-        A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k,
-        l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
-    }
-
-    public String getSprite() {
-        throw new RuntimeException("Invalid state");
-    }
-
-    public String getSprite(Enum key) {
-        // TODO: Implement font
-
-        String fullSprite = ResourceLoader.loadResource("ui/font.ans");
+public class Font {
+    private String fullSprite = ResourceLoader.loadResource("ui/font.ans");
 
+    public String getChar(char character) {
+        // This does not work idk what is wrong with meee
         return null;
     }
-
-    @Override
-    public Optional<Class<Enum>> getStates() {
-        return Optional.empty();
-    }
 }
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 00c96fa..6efcdfd 100644
--- a/src/main/java/cz/jzitnik/game/threads/list/InputHandlerThread.java
+++ b/src/main/java/cz/jzitnik/game/threads/list/InputHandlerThread.java
@@ -85,10 +85,16 @@ public class InputHandlerThread extends Thread {
                         screenRenderer.render(game);
                     }
                     case 'q' -> {
-                        System.out.println("Exiting game...");
-                        isRunning[0] = false;
-                        game.getGameStates().dependencies.gameSaver.save(game);
-                        System.exit(0);
+                        if (game.getWindow() != Window.WORLD) {
+                            game.setWindow(Window.WORLD);
+                        } else {
+                            game.setWindow(Window.ESC);
+                        }
+                        screenRenderer.render(game);
+                        // System.out.println("Exiting game...");
+                        // isRunning[0] = false;
+                        // game.getGameStates().dependencies.gameSaver.save(game);
+                        // System.exit(0);
                     }
                     default -> {
                     }
diff --git a/src/main/java/cz/jzitnik/game/ui/Window.java b/src/main/java/cz/jzitnik/game/ui/Window.java
index c7c527e..660cb70 100644
--- a/src/main/java/cz/jzitnik/game/ui/Window.java
+++ b/src/main/java/cz/jzitnik/game/ui/Window.java
@@ -1,5 +1,5 @@
 package cz.jzitnik.game.ui;
 
 public enum Window {
-    WORLD, INVENTORY, CRAFTING_TABLE, CHEST, FURNACE
+    WORLD, INVENTORY, CRAFTING_TABLE, CHEST, FURNACE, ESC
 }
diff --git a/src/main/java/cz/jzitnik/tui/ScreenRenderer.java b/src/main/java/cz/jzitnik/tui/ScreenRenderer.java
index ce71c73..34165db 100644
--- a/src/main/java/cz/jzitnik/tui/ScreenRenderer.java
+++ b/src/main/java/cz/jzitnik/tui/ScreenRenderer.java
@@ -5,6 +5,7 @@ import cz.jzitnik.game.Game;
 import cz.jzitnik.game.sprites.Steve;
 import cz.jzitnik.game.blocks.Chest;
 import cz.jzitnik.game.blocks.Furnace;
+import cz.jzitnik.game.ui.Escape;
 import cz.jzitnik.game.ui.Healthbar;
 import cz.jzitnik.tui.utils.SpriteCombiner;
 import lombok.Getter;
@@ -54,6 +55,7 @@ public class ScreenRenderer {
             case FURNACE -> ((Furnace) game.getWorld()[game.getGameStates().clickY][game.getGameStates().clickX]
                     .stream().filter(i -> i.getBlockId().equals("furnace")).toList().getFirst().getData()).render(game,
                             main, terminal, spriteList);
+            case ESC -> Escape.render(main, terminal);
             case WORLD -> {
                 // World
 
diff --git a/src/main/resources/textures/ui/font.ans b/src/main/resources/textures/ui/font.ans
index 1679125..8acf41d 100644
--- a/src/main/resources/textures/ui/font.ans
+++ b/src/main/resources/textures/ui/font.ans
@@ -1,48 +1,14 @@
-    ▓▓▓▓       ▓▓▓▓▓▓▓▓▓▓       ▓▓▓▓▓▓▓▓   ▓▓▓▓▓▓▓▓▓▓▓   ▓▓▓▓▓▓▓▓▓▓▓▓░ ▓▓▓▓▓▓▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓    ▓▓▓    ▓▓▓     ▓▓▓▓▓▓▓▓          ▓▓▓▓▓▓▓  ▓▓▓▓▓    ▓▓▓
-  ▓▓▓▓▓▓▓       ▓▓▓▓   ░▓▓▓   ▒▓▓▓▓   ▓▓▓    ▓▓▓    ▓▓▓    ▓▓▓      ▓░   ▓▓▓▓     ▓▓   ▓▓▓▓▓  ▓▓▓▓  ▓▓▓    ▓▓▓       ▓▓▓▓              ▓▓▓░     ▓▓▓    ▓▓▓
-▓▓▓▓   ░▓▓▓     ▓▓▓▓   ░▓▓▓  ▓▓▓▓            ▓▓▓    ▓▓▓    ▓▓▓  ▓▓       ▓▓▓▓ ▓▓     ▓▓▓▓▓          ▓▓▓    ▓▓▓       ▓▓▓▓              ▓▓▓░     ▓▓▓  ▓▓▓▓▓
-▓▓▓▓   ░▓▓▓     ▓▓▓▓▓▓▓▓▓    ▓▓▓             ▓▓▓    ▓▓▓    ▓▓▓▓▓▓▓       ▓▓▓▓▓▓▓     ▓▓▓▓           ▓▓▓▓▓▓▓▓▓▓       ▓▓▓▓              ▓▓▓░     ▓▓▓▓▓▓▓▓  
-▓▓▓▓▓▓▓▓▓▓▓     ▓▓▓▓   ░▓▓▓  ▓▓▓▓            ▓▓▓    ▓▓▓    ▓▓▓  ▓▓       ▓▓▓▓ ▓▓     ▓▓▓▓▓  ▓▓▓▓▓▓  ▓▓▓    ▓▓▓       ▓▓▓▓       ▓▓▓▒   ▓▓▓░     ▓▓▓  ▓▓▓▓▓
-▓▓▓▓   ░▓▓▓     ▓▓▓▓   ░▓▓▓   ▒▓▓▓▓   ▓▓▓    ▓▓▓    ▓▓▓    ▓▓▓      ▓░   ▓▓▓▓          ▓▓▓▓▓  ▓▓▓▓  ▓▓▓    ▓▓▓       ▓▓▓▓       ▓▓▓▒   ▓▓▓░     ▓▓▓    ▓▓▓
-▓▓▓▓   ░▓▓▓    ▓▓▓▓▓▓▓▓▓▓       ▓▓▓▓▓▓▓▓   ▓▓▓▓▓▓▓▓▓▓▓   ▓▓▓▓▓▓▓▓▓▓▓▓░ ▓▓▓▓▓▓▓           ▓▓▓▓▓▓▓▓▓  ▓▓▓    ▓▓▓     ▓▓▓▓▓▓▓▓       ▓▓▓▓▓▓▓     ▓▓▓▓▓    ▓▓▓
-                                                                                                                                                          
-▓▓▓▓▓▓▓▓       ▓▓▓     ░▓▓▓  ▓▓▓      ▓▓▓     ░▓▓▓▓▓     ▓▓▓▓▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓▒     ▓▓▓▓▓▓▓▓▓▓    ▓▓▓▒   ▓▓▓░   ▓▓▓▓   ▓▓▓▓ 
-  ▓▓▓▓         ▓▓▓▓▓  ▓▓▓▓▓  ▓▓▓▓▓    ▓▓▓    ▓▓▓  ▓▓▓▓     ▓▓▓    ▓▓▓░ ▓▓▓▓   ▓▓▓▓     ▓▓▓▓   ▓▓▓▓  ▓▓▓    ▓▓▓    ▓░ ▓▓▓▓  ▓    ▓▓▓▒   ▓▓▓░   ▓▓▓▓   ▓▓▓▓ 
-  ▓▓▓▓         ▓▓▓▓▓▓▓▓▓▓▓▓  ▓▓▓▓▓▓▓  ▓▓▓  ▓▓▓░     ▓▓▓    ▓▓▓    ▓▓▓░ ▓▓▓▓   ▓▓▓▓     ▓▓▓▓   ▓▓▓▓  ▓▓▓▓▓            ▓▓▓▓       ▓▓▓▒   ▓▓▓░   ▓▓▓▓   ▓▓▓▓ 
-  ▓▓▓▓         ▓▓▓ ▓▓▓▓░▓▓▓  ▓▓▓ ▓▓▓▓▓▓▓▓  ▓▓▓░     ▓▓▓    ▓▓▓▓▓▓▓▓▓▓  ▓▓▓▓   ▓▓▓▓     ▓▓▓▓▓▓▓▓▓▓   ░▓▓▓▓▓▓▓▒        ▓▓▓▓       ▓▓▓▒   ▓▓▓░   ▓▓▓▓   ▓▓▓▓ 
-  ▓▓▓▓    ▓▓▓  ▓▓▓     ░▓▓▓  ▓▓▓   ▒▓▓▓▓▓  ▓▓▓░     ▓▓▓    ▓▓▓         ▓▓▓▓ ▓▓▓▓▓▓     ▓▓▓▓▓▓▓▓         ▒▓▓▓▓▓       ▓▓▓▓       ▓▓▓▒   ▓▓▓░   ▓▓▓▓   ▓▓▓▓ 
-  ▓▓▓▓   ▓▓▓▓  ▓▓▓     ░▓▓▓  ▓▓▓      ▓▓▓    ▓▓▓  ▓▓▓▓     ▓▓▓           ▓▓▓▓▓▓▓       ▓▓▓▓ ▓▓▓▓▓   ▓▓▓    ▓▓▓       ▓▓▓▓       ▓▓▓▒   ▓▓▓░     ▓▓▓▓▓▓▓   
-▓▓▓▓▓▓▓▓▓▓▓▓▓  ▓▓▓     ░▓▓▓  ▓▓▓      ▓▓▓     ░▓▓▓▓▓     ▓▓▓▓▓▓▓            ▓▓▓▓▓▓   ▓▓▓▓▓▓   ▓▓▓▓   ▓▓▓▓▓▓▓▒      ▓▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓▓▓▓░      ▓▓▓▓     
-                                                                                                                                                          
-▓▓▓▓     ▓▓▓▓  ▓▓▓     ░▓▓▓  ▓▓▓    ▓▓▓▓   ▓▓▓▓▓▓▓▓▓▓▓▓                ▓▓▓▓▓▓                            ▓▓▓▓▓                     ▓▓▓▓▓▓                 
-▓▓▓▓     ▓▓▓▓  ▓▓▓     ░▓▓▓  ▓▓▓    ▓▓▓▓   ▓▓▓░   ▓▓▓▓▒                  ▓▓▓▓                              ▓▓▓                    ▓▓▓  ▓▓▓░               
-▓▓▓▓     ▓▓▓▓   ▓▓▓▓  ▓▓▓▓   ▓▓▓    ▓▓▓▓   ▓▓▓  ▓▓▓▓▓      ▓▓▓▓▓▓▓       ▓▓▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓             ▓▓▓     ▓▓▓▓▓▓▓▓       ▓▓▓           ▓▓▓▓▓▓ ▓▓▓
-▓▓▓▓ ░▓▓▓▓▓▓▓     ▓▓▓▓▓▒      ░▓▓▓▓▓▓▓░      ▒▓▓▓▓░             ▓▓▓▓     ▓▓▓▓   ▓▓▓▓ ▓▓▓▓   ▓▓▓▓    ░▓▓▓▓▓▓▓▓▓    ▓▓▓    ▓▓▓    ▓▓▓▓▓▓▓       ▓▓▓▓   ▓▓▓▓ 
-▓▓▓▓▓▓▓▓▓▓▓▓▓   ▓▓▓▓  ▓▓▓▓      ▓▓▓▓        ▓▓▓▓     ▓▓   ▓▓▓▓▓▓▓▓▓▓     ▓▓▓▓   ▓▓▓▓ ▓▓▓▓           ▓▓▓    ▓▓▓    ▓▓▓▓▓▓▓▓▓▓      ▓▓▓         ▓▓▓▓   ▓▓▓▓ 
-▓▓▓▓▓▓ ░▓▓▓▓▓  ▓▓▓     ░▓▓▓     ▓▓▓▓       ▓▓▓░     ▓▓▓  ▓▓▓▓   ▓▓▓▓     ▓▓▓▓   ▓▓▓▓ ▓▓▓▓   ▓▓▓▓    ▓▓▓    ▓▓▓    ▓▓▓             ▓▓▓           ▓▓▓▓▓▓▓▓▓ 
-▓▓▓▓     ▓▓▓▓  ▓▓▓     ░▓▓▓   ▒▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓▓▓▓▓▓    ▓▓▓▓▓▓ ▓▓▓░ ▓▓▓▓ ▓▓▓▓▓▓     ▓▓▓▓▓▓▓       ▓▓▓▓▓▓░▓▓▓▓   ▓▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓              ▓▓▓▓ 
-                                                                                                                                              ▒▒▒░▒▒▒▒▒   
-▓▓▓▓▓▓            ▓▓▓▓            ▓▓▓▓     ▓▓▓▓▓           ▓▓▓▓▓                                                                                          
-  ▓▓▓▓                                       ▓▓▓             ▓▓▓                                                                                          
-  ▓▓▓▓ ░▓▓▓     ▓▓▓▓▓▓        ▒▓▓▓▓▓▓▓       ▓▓▓    ▓▓▓      ▓▓▓       ▓▓▓▓▓▓ ▓▓▓▓   ▓▓▓▓▓▓▓▓▓       ▓▓▓▓▓▓▓▒     ▓▓▓ ▓▓▓▓▓▓      ▓▓▓▓▓▓ ▓▓▓  ▓▓▓▓░▓▓▓▓   
-  ▓▓▓▓▓▓▓▓▓▓▓     ▓▓▓▓            ▓▓▓▓       ▓▓▓  ▓▓▓▓▓      ▓▓▓       ▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓   ▓▓▓▓    ▓▓▓    ▓▓▓     ▓▓▓▓    ▓▓▓  ▓▓▓▒   ▓▓▓░     ▓▓▓  ▓▓▓▓ 
-  ▓▓▓▓   ▓▓▓▓     ▓▓▓▓            ▓▓▓▓       ▓▓▓▓▓▓▓▓        ▓▓▓       ▓▓▓▓ ▓▓  ▓▓▓▓ ▓▓▓▓   ▓▓▓▓    ▓▓▓    ▓▓▓     ▓▓▓▓    ▓▓▓  ▓▓▓▒   ▓▓▓░     ▓▓▓  ▓▓▓▓ 
-  ▓▓▓▓   ▓▓▓▓     ▓▓▓▓            ▓▓▓▓       ▓▓▓  ▓▓▓▓▒      ▓▓▓       ▓▓▓▓     ▓▓▓▓ ▓▓▓▓   ▓▓▓▓    ▓▓▓    ▓▓▓     ▓▓▓▓▓▓▓▓▓      ▓▓▓▓▓▓▓▓░     ▓▓▓       
-▓▓▓▓▓▓   ▓▓▓▓   ▓▓▓▓▓▓▓▒     ▓▓▓  ▓▓▓▓     ▓▓▓▓▓    ▓▓▓    ▓▓▓▓▓▓▓     ▓▓▓▓     ▓▓▓▓ ▓▓▓▓   ▓▓▓▓     ▓▓▓▓▓▓▓▒      ▓▓▓▓                ▓▓▓░   ▓▓▓▓▓▓▓     
-                              ▓░░░░░                                                                              ░░░░░░░            ░░░░░░░              
-                    ▓▓                                                                                             ▓▓▓▓▓▓▓▓        ▓▓▓▓         ▓▓▓▓▓▓▓   
-                  ▓▓▓▓                                                                                            ▓▓▓    ▓▓▓    ▓▓▓▓▓▓▓       ▓▓▓▓   ▓▓▓▓ 
- ░▓▓▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓▓▓    ▓▓▓    ▓▓▓▓   ▓▓▓░   ▓▓▓▓   ▓▓▓▓     ▓▓▓░ ▓▓▓▓░   ░▓▓▓▓ ▓▓▓▓   ▓▓▓▓    ▓▓▓▓▓▓▓▓▓▓    ▓▓▓ ░▓▓▓▓▓       ▓▓▓▓             ░▓▓▓▓ 
-▓▓▓▓              ▓▓▓▓       ▓▓▓    ▓▓▓▓   ▓▓▓░   ▓▓▓▓   ▓▓▓▓     ▓▓▓░  ▒▓▓▓▓▓▓▓▓▓▒  ▓▓▓▓   ▓▓▓▓    ▓▒  ▓▓▓▓░     ▓▓▓▓▓▓▓▓▓▓       ▓▓▓▓          ▓▓▓▓▓▓▒  
-  ▓▓▓▓▓▓▓▓        ▓▓▓▓       ▓▓▓    ▓▓▓▓   ▓▓▓░   ▓▓▓▓   ▓▓▓▓░▓▓▓ ▓▓▓░    ▓▓▓▓▓▓▓    ▓▓▓▓   ▓▓▓▓      ▓▓▓▓▓       ▓▓▓▓▓  ▓▓▓       ▓▓▓▓        ▓▓▓▓       
-       ░▓▓▓       ▓▓▓▓ ░▓    ▓▓▓    ▓▓▓▓     ▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓▓▓▓▓▓░  ▓▓▓▓▓ ▓▓▓▓▓    ▓▓▓▓▓▓▓▓▓    ░▓▓▓▓  ░▓▓    ▓▓▓    ▓▓▓       ▓▓▓▓       ▓▓▓▓   ▓▓▓▓ 
-▓▓▓▓▓▓▓▓▓           ▓▓▓▒      ▒▓▓▓▓▓▓ ▓▓▓     ░▓▓▓         ▓▓▓  ▓▓▓▓   ▓▓▓▓     ▓▓▓▓        ▓▓▓▓    ▓▓▓▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓▓▓▓░   ▓▓▓▓▓▓▓▓▓▓▓ 
-                                                                                     ▒▒▒▒▒▒▒▒▒                                                            
-  ▓▓▓▓▓▓▓           ▓▓▓▓▓    ▓▓▓▓▓▓▓▓▓▓▓      ░▓▓▓▓▓     ▓▓▓▓▓▓▓▓▓▓▓     ▓▓▓▓▓▓▓       ▓▓▓▓▓▓▓                                    ▓▓▓  ▓▓▓░     ▓▓▓  ▓▓▓▓ 
-▓▓▓▓   ░▓▓▓       ▓▓▓▓▓▓▓    ▓▓▓             ▓▓▓▓        ▓▓▓▓   ▓▓▓▓   ▓▓▓▓   ▓▓▓▓   ▓▓▓▓   ▓▓▓▓                                  ▓▓▓  ▓▓▓░     ▓▓▓  ▓▓▓▓ 
-       ░▓▓▓    ▒▓▓▓▓▓ ▓▓▓    ▓▓▓▓▓▓▓▓▓░    ▓▓▓▓                ░▓▓▓▓   ▓▓▓▓   ▓▓▓▓   ▓▓▓▓   ▓▓▓▓                                  ▓▓▓  ▓▓▓░     ▓▓▓  ▓▓▓▓ 
-    ▓▓▓▓▓      ▓▓▓▓   ▓▓▓           ▓▓▓▓   ▓▓▓▓▓▓▓▓▓▓        ░▓▓▓▓▓      ▓▓▓▓▓▓▓      ▓▓▓▓▓▓▓▓▓▓                                                          
-       ░▓▓▓    ▓▓▓▓▓▓▓▓▓▓▓▓         ▓▓▓▓   ▓▓▓░   ▓▓▓▓      ▓▓▓▓       ▓▓▓▓   ▓▓▓▓          ▓▓▓▓                                                          
-▓▓▓▓   ░▓▓▓           ▓▓▓    ▓▓▓    ▓▓▓▓   ▓▓▓░   ▓▓▓▓     ▓▓▓         ▓▓▓▓   ▓▓▓▓        ▓▓▓▓           ▓▓▓▒        ▓▓▓▓▓▓                               
-  ░░░░░▓░             ░░░     ▒░░░░░░░       ░▓░░░░░       ░░░           ░░░░░░░       ░░░░░░            ░░░▒        ░░▓▓▓░                               
-
\ No newline at end of file
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                        
+