aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources
diff options
context:
space:
mode:
authorSpaceMonkeyy86 <jackreynolds9128@gmail.com>2025-06-14 14:17:57 +0000
committerGitHub <noreply@github.com>2025-06-14 22:17:57 +0800
commit2d63e6088aa588556b588070e826ce6c0ec1492d (patch)
tree633424000f41029eae67981d4ff607c870deff66 /src/main/resources
parentcd29a1475253ff3ca8098765875a45fdbefd75e7 (diff)
downloadSkyblocker-2d63e6088aa588556b588070e826ce6c0ec1492d.tar.gz
Skyblocker-2d63e6088aa588556b588070e826ce6c0ec1492d.tar.bz2
Skyblocker-2d63e6088aa588556b588070e826ce6c0ec1492d.zip
One flow waterboard solver (#1283)
* Port Desco19's waterboard solver to Skyblocker * Many waterboard tweaks * Update watertimes.json to newer version and fix leftover water check * Visualize water paths on board * General improvements * Preview lever effects * Fix preview hitboxes being too small in rooms with an entrance from below * Refactor into multiple files and add config options * Benchmark all solutions and improve two of them * Show indicator line from next lever to the lever after that * Optimize many of the slower solutions * Add marks support for easier solution iteration * Tweak comments * Clean up one flow waterboard solver * Add suggested comments * Add lever type argument type and debug command * Verify json file * Make commands debug only and make feedback translatable * Update VerifyJsonTest * Make color codes less scuffed --------- Co-authored-by: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>
Diffstat (limited to 'src/main/resources')
-rw-r--r--src/main/resources/assets/skyblocker/dungeons/watertimes.json710
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json6
2 files changed, 715 insertions, 1 deletions
diff --git a/src/main/resources/assets/skyblocker/dungeons/watertimes.json b/src/main/resources/assets/skyblocker/dungeons/watertimes.json
new file mode 100644
index 00000000..edb24f07
--- /dev/null
+++ b/src/main/resources/assets/skyblocker/dungeons/watertimes.json
@@ -0,0 +1,710 @@
+{
+ "1": {
+ "012": {
+ "terracotta": [
+ 0.0
+ ],
+ "quartz": [
+ 0.0,
+ 10.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "diamond": [
+ 0.0
+ ],
+ "gold": [
+ 0.0
+ ],
+ "emerald": [
+ 7.9
+ ]
+ },
+ "013": {
+ "terracotta": [
+ 0.0,
+ 6.5
+ ],
+ "gold": [
+ 0.0,
+ 11.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "coal": [
+ 0.0
+ ],
+ "diamond": [
+ 0.0,
+ 7.6
+ ]
+ },
+ "014": {
+ "water": [
+ 0.0
+ ],
+ "terracotta": [
+ 3.2
+ ],
+ "gold": [
+ 4.7
+ ],
+ "quartz": [
+ 7.5,
+ 12.2
+ ],
+ "diamond": [
+ 10.0
+ ],
+ "emerald": [
+ 11.1
+ ]
+ },
+ "023": {
+ "gold": [
+ 0.0
+ ],
+ "quartz": [
+ 0.0
+ ],
+ "terracotta": [
+ 0.0,
+ 10.8
+ ],
+ "water": [
+ 0.0
+ ],
+ "coal": [
+ 3.6
+ ],
+ "diamond": [
+ 6.7,
+ 9.6
+ ]
+ },
+ "024": {
+ "water": [
+ 0.0
+ ],
+ "terracotta": [
+ 5.5
+ ],
+ "coal": [
+ 1.8
+ ],
+ "diamond": [
+ 4.3
+ ]
+ },
+ "034": {
+ "diamond": [
+ 0.0,
+ 8.4
+ ],
+ "quartz": [
+ 0.0,
+ 9.6
+ ],
+ "gold": [
+ 0.0,
+ 2.6
+ ],
+ "terracotta": [
+ 0.0,
+ 6.5
+ ],
+ "water": [
+ 0.0
+ ],
+ "emerald": [
+ 13.1
+ ]
+ },
+ "123": {
+ "gold": [
+ 0.0,
+ 8.7
+ ],
+ "coal": [
+ 0.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "terracotta": [
+ 10.4
+ ]
+ },
+ "124": {
+ "water": [
+ 0.0
+ ],
+ "coal": [
+ 2.9
+ ],
+ "gold": [
+ 6.7
+ ],
+ "terracotta": [
+ 10.2
+ ]
+ },
+ "134": {
+ "emerald": [
+ 7.9
+ ],
+ "water": [
+ 0.0
+ ],
+ "coal": [
+ 3.2
+ ],
+ "gold": [
+ 9.4
+ ]
+ },
+ "234": {
+ "emerald": [
+ 0.0,
+ 9.2
+ ],
+ "water": [
+ 0.0
+ ],
+ "coal": [
+ 3.1
+ ],
+ "terracotta": [
+ 7.9
+ ]
+ }
+ },
+ "2": {
+ "012": {
+ "quartz": [
+ 0.0,
+ 2.2
+ ],
+ "diamond": [
+ 0.0,
+ 9.4
+ ],
+ "water": [
+ 0.0
+ ],
+ "emerald": [
+ 8.5
+ ]
+ },
+ "013": {
+ "quartz": [
+ 0.0,
+ 3.1
+ ],
+ "emerald": [
+ 0.0,
+ 1.5,
+ 9.8
+ ],
+ "water": [
+ 0.0
+ ]
+ },
+ "014": {
+ "water": [
+ 0.0
+ ],
+ "emerald": [
+ 3.3,
+ 7.8
+ ],
+ "quartz": [
+ 4.2
+ ],
+ "terracotta": [
+ 11.5
+ ]
+ },
+ "023": {
+ "quartz": [
+ 0.0,
+ 6.8
+ ],
+ "diamond": [
+ 0.0,
+ 2.8,
+ 8.9
+ ],
+ "emerald": [
+ 0.0,
+ 4.6
+ ],
+ "water": [
+ 0.0
+ ]
+ },
+ "024": {
+ "emerald": [
+ 0.0,
+ 2.0
+ ],
+ "diamond": [
+ 2.5
+ ],
+ "quartz": [
+ 0.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "coal": [
+ 0.0
+ ]
+ },
+ "034": {
+ "water": [
+ 0.0
+ ],
+ "emerald": [
+ 0.0,
+ 1.2
+ ],
+ "quartz": [
+ 0.0,
+ 9.4
+ ],
+ "coal": [
+ 0.0
+ ]
+ },
+ "123": {
+ "quartz": [
+ 0.0
+ ],
+ "gold": [
+ 0.0,
+ 9.0
+ ],
+ "diamond": [
+ 10.0
+ ],
+ "emerald": [
+ 0.0
+ ],
+ "terracotta": [
+ 0.0,
+ 5.6
+ ],
+ "water": [
+ 0.0,
+ 6.9
+ ]
+ },
+ "124": {
+ "quartz": [
+ 0.0
+ ],
+ "gold": [
+ 8.8
+ ],
+ "diamond": [
+ 1.8,
+ 8.9
+ ],
+ "emerald": [
+ 0.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "coal": [
+ 0.0
+ ]
+ },
+ "134": {
+ "quartz": [
+ 0.0
+ ],
+ "gold": [
+ 0.0
+ ],
+ "diamond": [
+ 0.0,
+ 2.7
+ ],
+ "emerald": [
+ 0.0
+ ],
+ "water": [
+ 0.0,
+ 4.9
+ ],
+ "terracotta": [
+ 10.4
+ ]
+ },
+ "234": {
+ "quartz": [
+ 0.0
+ ],
+ "emerald": [
+ 0.0
+ ],
+ "water": [
+ 0.0,
+ 4.9
+ ],
+ "diamond": [
+ 2.7
+ ],
+ "terracotta": [
+ 10.1
+ ]
+ }
+ },
+ "3": {
+ "012": {
+ "gold": [
+ 0.0,
+ 3.4
+ ],
+ "quartz": [
+ 0.0
+ ],
+ "diamond": [
+ 0.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "emerald": [
+ 9.4
+ ]
+ },
+ "013": {
+ "water": [
+ 0.0
+ ],
+ "gold": [
+ 0.0,
+ 2.8
+ ],
+ "quartz": [
+ 0.0,
+ 8.7
+ ]
+ },
+ "014": {
+ "gold": [
+ 0.0,
+ 6.4,
+ 7.0
+ ],
+ "emerald": [
+ 3.8
+ ],
+ "water": [
+ 0.0
+ ],
+ "quartz": [
+ 0.0
+ ]
+ },
+ "023": {
+ "water": [
+ 0.0
+ ],
+ "gold": [
+ 0.0,
+ 2.8
+ ],
+ "quartz": [
+ 0.0
+ ],
+ "diamond": [
+ 7.8,
+ 8.6
+ ]
+ },
+ "024": {
+ "quartz": [
+ 0.0
+ ],
+ "gold": [
+ 0.0,
+ 2.0,
+ 3.5
+ ],
+ "emerald": [
+ 8.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "diamond": [
+ 7.0
+ ]
+ },
+ "034": {
+ "quartz": [
+ 0.0
+ ],
+ "gold": [
+ 0.0
+ ],
+ "emerald": [
+ 0.0,
+ 3.2,
+ 4.4,
+ 10.2
+ ],
+ "water": [
+ 0.0,
+ 5.0
+ ],
+ "diamond": [
+ 7.9,
+ 11.9
+ ]
+ },
+ "123": {
+ "emerald": [
+ 6.2,
+ 8.0,
+ 10.4
+ ],
+ "water": [
+ 0.0,
+ 3.8
+ ]
+ },
+ "124": {
+ "emerald": [
+ 0.0,
+ 8.1,
+ 9.4
+ ],
+ "water": [
+ 0.0
+ ],
+ "gold": [
+ 3.6
+ ]
+ },
+ "134": {
+ "quartz": [
+ 0.0
+ ],
+ "emerald": [
+ 3.5,
+ 9.5
+ ],
+ "water": [
+ 0.0
+ ],
+ "gold": [
+ 0.0
+ ]
+ },
+ "234": {
+ "water": [
+ 0.0,
+ 3.1
+ ],
+ "diamond": [
+ 6.8,
+ 10.4
+ ],
+ "emerald": [
+ 8.7
+ ]
+ }
+ },
+ "4": {
+ "012": {
+ "gold": [
+ 0.0
+ ],
+ "quartz": [
+ 0.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "emerald": [
+ 8.2
+ ],
+ "coal": [
+ 9.3
+ ]
+ },
+ "013": {
+ "gold": [
+ 0.0
+ ],
+ "quartz": [
+ 0.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "emerald": [
+ 0.0,
+ 8.1
+ ],
+ "terracotta": [
+ 0.0,
+ 5.6
+ ]
+ },
+ "014": {
+ "terracotta": [
+ 0.0
+ ],
+ "emerald": [
+ 0.0,
+ 10.0
+ ],
+ "gold": [
+ 0.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "quartz": [
+ 2.9
+ ]
+ },
+ "023": {
+ "quartz": [
+ 0.0
+ ],
+ "gold": [
+ 0.0
+ ],
+ "water": [
+ 0.0,
+ 3.9
+ ],
+ "emerald": [
+ 6.4
+ ],
+ "terracotta": [
+ 9.2
+ ]
+ },
+ "024": {
+ "quartz": [
+ 0.0,
+ 10.5
+ ],
+ "gold": [
+ 0.0
+ ],
+ "emerald": [
+ 0.0
+ ],
+ "water": [
+ 0.0,
+ 4.3
+ ],
+ "coal": [
+ 8.6
+ ]
+ },
+ "034": {
+ "gold": [
+ 0.0
+ ],
+ "water": [
+ 0.0,
+ 3.0
+ ],
+ "emerald": [
+ 0.0
+ ],
+ "quartz": [
+ 0.0,
+ 1.8
+ ],
+ "coal": [
+ 14.0
+ ]
+ },
+ "123": {
+ "quartz": [
+ 0.0
+ ],
+ "gold": [
+ 0.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "terracotta": [
+ 9.2
+ ]
+ },
+ "124": {
+ "quartz": [
+ 0.0,
+ 8.7
+ ],
+ "gold": [
+ 0.0
+ ],
+ "water": [
+ 0.0
+ ],
+ "coal": [
+ 6.8
+ ],
+ "terracotta": [
+ 11.7
+ ],
+ "emerald": [
+ 10.1
+ ]
+ },
+ "134": {
+ "quartz": [
+ 0.0,
+ 8.6
+ ],
+ "gold": [
+ 0.0
+ ],
+ "water": [
+ 0.0,
+ 2.7
+ ],
+ "coal": [
+ 10.6
+ ],
+ "emerald": [
+ 12.6
+ ]
+ },
+ "234": {
+ "emerald": [
+ 0.0
+ ],
+ "coal": [
+ 0.0,
+ 12.3
+ ],
+ "water": [
+ 0.0,
+ 2.5
+ ],
+ "gold": [
+ 3.5
+ ],
+ "terracotta": [
+ 10.6
+ ]
+ }
+ }
+}
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index dbb3db8e..9911c4d3 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -196,7 +196,9 @@
"skyblocker.config.dungeons.puzzle.solveTicTacToe.@Tooltip": "Puts a red box around the next best move for you to make!",
"skyblocker.config.dungeons.puzzle.solveTrivia": "Solve Trivia Puzzle",
"skyblocker.config.dungeons.puzzle.solveWaterboard": "Solve Waterboard Puzzle",
- "skyblocker.config.dungeons.puzzle.solveWaterboard.@Tooltip": "Click the levers with green boxes to solve the puzzle.",
+ "skyblocker.config.dungeons.puzzle.solveWaterboard.@Tooltip": "Click the indicated levers at the correct times to solve the puzzle.",
+ "skyblocker.config.dungeons.puzzle.previewWaterPath": "Waterboard: Preview Water Path",
+ "skyblocker.config.dungeons.puzzle.previewLeverEffects": "Waterboard: Preview Lever Effects",
"skyblocker.config.dungeons.salvageHelper": "Salvage Helper",
"skyblocker.config.dungeons.salvageHelper.@Tooltip": "Highlights items picked up in dungeons that can be salvaged.",
@@ -1120,6 +1122,8 @@
"skyblocker.dungeons.secrets.customWaypointNotFound": "§cNo custom waypoint found at X: %d, Y: %d, Z: %d for room %s.",
"skyblocker.dungeons.dungeonScore.scoreText": "Score: %s",
"skyblocker.dungeons.puzzle.boulder.noSolution": "No solution found!",
+ "skyblocker.dungeons.puzzle.waterboard.invalidDoors": "Doors are in an unrecognized state. Make sure exactly three doors are closed, then reset the solver.",
+ "skyblocker.dungeons.puzzle.waterboard.waterFound": "Water must be toggled off or it will interfere with the solution. Turn the water off and let it drain, then reset the solver.",
"skyblocker.dungeons.secretsTracker.feedback": "%s§f found %s§f secrets. %s",
"skyblocker.dungeons.secretsTracker.failFeedback": "§cUnable to calculate the number of secrets everybody did this run!",