Repository navigation
Magic Expansion 1.1.19 — Water Cloud Progression, Fishing Safety & Compatibility
Release candidate only — not yet published. Magic Expansion 1.1.18 remains the current standalone GitHub release. This candidate collects verified Java-side source maintenance since that release for the coordinated Slimefun Legacy 4.1.78 addon refresh.
Upstream Water Cloud feature parity
- Eight-level, item-bound rod progression for Reedflower, Snowy River and Fine Rain with upstream integer keys
magicexpansion:watercloud_lvandmagicexpansion:watercloud_xp. Existing rods preserve their original Slimefun item IDs and unrelated metadata; Cyan Bamboo remains the starter rod. - Twenty supported lures across four rod families, including the existing bait bag's matching-lure priority and exact successful consumption before a custom payout. Missing bait leaves vanilla fishing untouched instead of granting a free reward.
- Generation 2 catches now receive individual elemental values, quality and breeding traits at payout. Existing generated/bred fish are never rerolled.
- Restored the upstream Water Cloud guide item IDs and an English right-click fishing reference, without replacing installed historical rod recipes.
- Imported all nine numerical classic/alternate progression bonus schedules. The supported classic hook-speed and junk reduction effects are opt-in and OFF by default; they respect the existing fishing-plugin coexistence gate.
- Optional classic bait-preservation and double-catch paths (pending final merge/test): preserve the originally selected lure only while it is still present; award two entire independently cloned stacks rather than truncating 40+40 to 64. These also default OFF.
- Protect custom fishing selection against empty loot pools, invalid weights and integer overflow. Existing valid loot ratios remain unchanged.
Java compatibility and stability
- Clear temporary player selection, item rename and shop UI state on disconnect without touching Black Market cycle ledgers or prematurely discarding unsaved shop-editor item refunds.
- Preserve movement-speed attribute modifiers owned by other plugins when applying Magic Expansion slowness; tie expiry to the target entity's owning region with a token preventing an old timer from removing a newer effect.
- Keep Mining Robot six-row menu fixes and deterministic transaction protections from 1.1.18.
- Native CI checks include the 45-addon Paper/Purpur stack, Black Market restarts and purchase conservation, Generation 2 fish metadata, rod PDC identities, and guide item registration.
Upgrade and distribution contract
Use the canonical SF_MagicExpansion1.1.19.jar only after an official immutable GitHub release exists. Never distribute this PR's JAR as a released version. Preserve your config, player records, worlds, magic shop files, and Slimefun data. Back up the entire server before replacing an older plugin; stop the server and remove duplicate older JARs before restarting.
The candidate is built on Java 25 while targeting Java 21 bytecode and Paper 1.21.11+ for Paper, Purpur, Leaf and Folia. Passing server startup and one-region native CI tests does not certify all cross-region Folia item/entity interactions.
No Geyser/Bedrock integrations, no GuizhanLib hard dependency, no existing resource-pack changes, and no Slimefun Legacy 4.1.78 or addon ZIP release in this PR.
Final publication gates
- Merge and validate the remaining Water Cloud classic features, if included, and freeze the exact 1.1.19 source SHA.
- Pass the exact-head Java build, unit tests, four-platform item-catalog smoke, Black Market ledger and full-stack restart workflows.
- Verify original Slimefun/Generation 2 PDC keys, item amounts, bait-bag transactions and absence of partial/doubled-item loss in a backed-up world.
- Publish only through the explicit immutable release workflow once standalone publication is approved. Capture the JAR SHA-256.
- Update the coordinated Slimefun Legacy 4.1.78 addon manifest to that published source and digest; then rerun the exact 45-addon candidate, not an old r150 receipt.