diff options
| author | NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> | 2022-11-02 19:04:30 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-02 20:04:30 +0100 |
| commit | 5f0291595204c06be9c6462dce6b166b03c19f68 (patch) | |
| tree | 1ed8ea6d8d55d23c0fd8a8cc12ad29f6096a001f /src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java | |
| parent | 6382bdc0d84f2a39c2adeb13c686f422f1914f45 (diff) | |
| download | notenoughupdates-5f0291595204c06be9c6462dce6b166b03c19f68.tar.gz notenoughupdates-5f0291595204c06be9c6462dce6b166b03c19f68.tar.bz2 notenoughupdates-5f0291595204c06be9c6462dce6b166b03c19f68.zip | |
Gui editor (#316)
* kinda working ig
* gui editor kinda works. map and drill fuel doesnt show yet. weird overlapping issues. overlays that have itemstacks glitch out on the left side
* POV: im making scuffed af code during business class
* a
* made it so you ""can"" move the map
* works for everything but the map (AAAAAAAA)
* remove options
* everything working™️ besides the hollows overlay buggin
* hearth 💀
* swap the thingies
* Update Position.java
* Change arbitrary if statement
* Fixed dontRenderOverlay
* Made code more sane
* Add powder overlay and cleaned up NEUConfig
* less work for new gui overlays in the future
* its not a bug
its a feature suggestion
* Fixed map on f1 (thank soopy)
* Fixed map on entrance and fixed interp for e and f1
* no more warning !!
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java index 88c89773..e15168f5 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/DungeonMap.java @@ -65,8 +65,13 @@ import java.awt.*; import java.io.BufferedReader; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; import java.util.List; -import java.util.*; +import java.util.Map; +import java.util.Objects; +import java.util.Set; public class DungeonMap { private static final ResourceLocation GREEN_CHECK = new ResourceLocation( @@ -498,8 +503,8 @@ public class DungeonMap { mapSizeX = borderSizeOption == 0 ? 90 : borderSizeOption == 1 ? 120 : borderSizeOption == 2 ? 160 : 240; } mapSizeY = mapSizeX; - int roomsSizeX = (maxRoomX - minRoomX) * (renderRoomSize + renderConnSize) + renderRoomSize; - int roomsSizeY = (maxRoomY - minRoomY) * (renderRoomSize + renderConnSize) + renderRoomSize; + int roomsSizeX = (maxRoomX - minRoomX) * (renderRoomSize + renderConnSize) + renderRoomSize + (isFloorOne ? getRenderRoomSize() : 0); + int roomsSizeY = (maxRoomY - minRoomY) * (renderRoomSize + renderConnSize) + renderRoomSize + (isEntrance ? getRenderRoomSize() : 0); int mapCenterX = mapSizeX / 2; int mapCenterY = mapSizeY / 2; int scaleFactor = 8; @@ -669,12 +674,12 @@ public class DungeonMap { float angle = pos.rotation; boolean doInterp = NotEnoughUpdates.INSTANCE.config.dungeonMap.dmPlayerInterp; - if (!isFloorOne && playerEntityMapPositions.containsKey(name)) { + if (playerEntityMapPositions.containsKey(name)) { MapPosition entityPos = playerEntityMapPositions.get(name); angle = entityPos.rotation; - float deltaX = entityPos.getRenderX() - pos.getRenderX(); - float deltaY = entityPos.getRenderY() - pos.getRenderY(); + float deltaX = entityPos.getRenderX() - pos.getRenderX() + (isFloorOne ? getRenderRoomSize() : 0); + float deltaY = entityPos.getRenderY() - pos.getRenderY() + (isEntrance ? getRenderRoomSize() : 0); x += deltaX; y += deltaY; @@ -1119,6 +1124,7 @@ public class DungeonMap { } private boolean isFloorOne = false; + private boolean isEntrance = false; private boolean failMap = false; private long lastClearCache = 0; @@ -1160,6 +1166,9 @@ public class DungeonMap { if (line.contains("(F1)") || line.contains("(E)") || line.contains("(M1)")) { isFloorOne = true; + if (line.contains("(E)")) { + isEntrance = true; + } break; } } |
