diff options
| author | SpaceMonkeyy86 <jackreynolds9128@gmail.com> | 2025-06-14 14:17:57 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-14 22:17:57 +0800 |
| commit | 2d63e6088aa588556b588070e826ce6c0ec1492d (patch) | |
| tree | 633424000f41029eae67981d4ff607c870deff66 /src/main/resources | |
| parent | cd29a1475253ff3ca8098765875a45fdbefd75e7 (diff) | |
| download | Skyblocker-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.json | 710 | ||||
| -rw-r--r-- | src/main/resources/assets/skyblocker/lang/en_us.json | 6 |
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!", |
