promotional bannermobile promotional banner

Astral Dice

Astral Dice is a survival expansion mod built around dice. Equip a dice and every melee attack becomes a roll of fate — trigger the Dice Blessing and enter a dice-battle system where attack clashes against defense.
Back to Files

astral_dice-1.1.3-pre1+forge_1.20.1.jar

File nameastral_dice-1.1.3-pre1+forge_1.20.1.jar
Uploaded
Aug 30, 2026
Downloads
11
Size
682.5 KB
Mod Loaders
Forge
File ID
8770199
Type
B
Beta
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:astral-dice-1662159:8770199")

Learn more about Curse Maven

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

  • 1.20.1 handbook registration completed: the earlier port copied only the book pages (assets) but missed the book definition (book.json), crafting recipe, creative-tab book item and book model, so the book item was missing and no page text (including the integration texts) was reachable; all are now in place (the recipe uses the 1.20.1 NBT format) and republished.
  • 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.