astral_dice-1.1.3-rc1+neoforge_1.21.1.jar
Curse Maven Snippet
What's new
1.1.3
New Content
- During the Dice Blessing, cards can no longer be inserted into or removed from the dice card interface (server-authoritative guards + client-side blocking), and the screen shows a red warning at the top (both versions).
- Effect-card copy/refund now covers every effect card — the Komachi sign, Magic Tome and Magic Quiver no longer exclude any card (healing/damage/exclusive cards included; exclusive copies are bound to their new owner) (both versions).
- Patchouli handbook: already present on 1.21.1; newly ported to 1.20.1 (109 pages + 175×2 guide keys, new Patchouli 1.20.1-85-forge dependency, Patchouli added to the 1.20.1 modpack; the 4 Enigmatic-Legacy+ link texts rewritten for Enigmatic Legacy).
- Handbook category icons (both versions): Getting Started = No.1 Player Sign, Materials = Star Coin, Cards = Epic Attack Card.
Bug Fixes
- The effect-removal guard no longer swallows the mod's own removals — a new internal-removal channel (ModEffectRemoval) keeps ready/count/healing indicators from lingering forever (both versions).
- 以毒攻毒 removed effects while iterating the live view, risking a ConcurrentModificationException on the server tick — now iterates a snapshot (both versions).
- Copy/refund mappings missing card ids silently granted King Power — unified into BaseEffectCardItem.cardByTypeId covering every effect card (both versions).
- Random card pools diverged: ALL now includes 以毒攻毒 and BATTLE includes defense cards per its contract (both versions).
- Parunan's in-hand right-click bypassed cooldown/wait checks and could fire the active unexpectedly — right-click now only equips/replaces, actives are triggered via the keybind/equipped path only (both versions).
- The FTB Teams UUID-member branch never added anyone — aligned with the OPAC branch (both versions).
- AoE victims (cleave / directional blast) no longer take a second full dice-combat hit (both versions).
- Nancy Lu unequip wiped invulnerability/invisibility it never granted, and its onCurioTick expiry check was always true at the default value, stripping other sources' invisibility every tick — now only self-granted state is cleared (both versions).
- The mark's glow shares the mark's lifetime (milk/effect clear no longer removes it alone) and no longer shows a HUD effect icon (both versions).
- Patchouli "Format error" entries: literal
%in guide texts (18 entries, zh+en) escaped to%%; the 4 tooltip keys with the same latent issue fixed too (1.21.1; the 1.20.1 handbook was ported already-escaped and the same 4 tooltip keys were fixed). - Client damage numbers never expired due to a wrong-bus subscription plus a network-thread race (1.21.1; 1.20.1 was already correct).
- Skill renames: Fen's active 运攻 → 运功 and Nancy Lu's active 远程骇入 → 远程侵入 (both versions).
Project
- Versions: 1.21.1 =
1.1.3-rc1+neoforge_1.21.1, 1.20.1 =1.1.3-pre1+forge_1.20.1; rebuilt and published to each modpack (old artifacts auto-cleaned). - ModEventHandlers subscribers moved to their feature homes (DiceCombatEvents, ModTooltipHandler, LootInjectionHandler, AnvilUpgradeHandler, PlayerLifecycleHandler, ModEffectEvents, PlayerTickEvents, plus sign/chip/card/manager classes) (1.21.1 only).
- Removed the charge-deferral timing code for Charge cards (the charge_defer attachment and branches) — impossible now that the card slots lock; Full Power is always refunded when the Blessing ends (both versions).
- Removed the write-only PlayerResourceRegistry (PlayerResource/ResourceType and the healing/starlight registration stubs) (both versions).
- Full code audit and cleanup (led by 1.21.1, synced to 1.20.1): removed per-tick effect re-apply sync packets (cutter/revenge-halberd/healing), per-tick enchantment ResourceKey allocation, per-tick full recompute while a menu is open (20-tick throttle) and double isActive evaluation; consolidated duplicated damage-number senders and card-type mappings; removed 8 unused data components, the isChipItem chain, redundant dice ctor args, empty overrides, unused methods/imports and dead branches.
- Repository restructured as a multiloader monorepo (1.21.1-main → neoforge-1.21.1/, 1.20.1-forge → forge-1.20.1/; no shared common source set across MC major versions).
- Formerly git-excluded content (AGENTS.md, docs/, temp/, scripts/, run/, deploy.ps1, etc.) migrated; tools/check_lang_sync.py moved to the repo root tools/.
- CI (build.yml) builds both subprojects with dual JDKs (17/21) and runs the lang sync check for both.
This mod has no additional files

