Remove unfinished AOE repair recipe - #4
Closed
grepsedawk wants to merge 22 commits into
Closed
Conversation
Should fix the issue with 2x2 trees not growing correctly or deleting saplings in the process
Add a "Time remaining: N <unit>" line to pearl item lore directly beneath the existing health line. The interval count is computed from the configured decay rate, rounded up, and uses the same admin-configured unit string as the existing repair-cost lines, so operators control plurality and translation in one place. The line is hidden when the pearl is inactive (decay is already flagged separately as "suspended due to Inactivity"), when health has reached zero, or when decay is disabled in config. While here, hoist the shared decay-per-interval and unit values so the existing repair-cost loop reuses them instead of recomputing per material.
compareTo read this block's world UID for both operands, so the world comparison was always zero and blocks in different worlds with identical coordinates compared equal. That breaks the Comparable contract and corrupts TreeSet/TreeMap membership. Read the other block's world instead, and add a regression test covering cross-world ordering and antisymmetry.
The convenience insertData overloads delegated to the canonical method with the server and world arguments transposed, so callers using the documented (server, world) order had the two columns stored swapped. No caller in the tree relied on the broken order. Pass the arguments in the correct order, and add a test asserting server and world each bind to their own column.
Migrator prepared the REPLACE INTO migrations statement and bound its parameters but never executed it, so the applied id was never stored and every migration re-ran on each boot. Execute the statement, and close the prepared and created statements with try-with-resources to fix the leaks.
2x2 Tree grow fix
…ing-on-pearls Show days remaining on pearls
Factory QoL and Decompactor fixes
Fix world comparison in BastionBlock.compareTo
…world Fix swapped server/world in insertData overloads
Persist applied migration id in Migrator
CivScoreBoard truncates the displayed line at 40 characters but caches the full string, so a destination longer than ~29 chars left a stale line that never cleared when switching destinations. Cap the rendered value so the line fits and the cached and displayed text match. Also null-guard the setting-change listener to match restoreDestinationDisplay, avoiding a stray update during reload.
Show rail destination on the sidebar scoreboard
The AOEREPAIR recipe type was never finished. The config parser warned it was "not tested or even completly developed," and no factory config uses it. Removing the recipe class and its parser case.
Owner
Author
|
Retargeting to Eden. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The AOEREPAIR recipe type was never finished. The config parser warned on load that it was "not tested or even completly developed," and no factory config in the repo uses it. It surfaced while reviewing the auto-repair change, since it was the one code path that set a repair recipe on another factory.
This removes the
AOERepairRecipeclass and its parser case. 204 lines gone, nothing added.Sending this to the fork rather than straight to Eden since it drops a supported recipe type. Eden's configs are clean, but if any downstream server set
type: AOEREPAIR, that config would stop parsing. Worth a second look before it lands.