File Details
RPG Lore 2.0.4 (Forge 1.20.1)
- R
- Mar 27, 2026
- 153.95 KB
- 58
- 1.20.1
- Forge
File Name
rpg_lore-2.0.4.jar
Supported Versions
- 1.20.1
Curse Maven Snippet
[2.0.4] - 2026-03-27
Critical Bug Fixes
- First-join Codex grant no longer lost when inventory is full -- the Codex is now dropped on the ground if inventory is full, and only marked as granted after successful delivery
maxBooksPerKillnow enforced across all drop types -- books withbase_chanceare no longer exempt from the per-kill cap; the combined total from both override and global-pool books respectsMAX_BOOKS_PER_KILL- Codex progress counts can no longer exceed total -- collected counts now use
collected ∩ eligibleinstead of the raw saved ID set; books switched tocodex_exclude=trueare properly pruned from collections - Soulbound death handling no longer deletes extra Codices -- fixed early return that skipped Curios slot check, added
add()result validation for Curios restoration, movedinvalidateCaps()into afinallyblock
Bug Fixes
- Copying from Codex with a full inventory -- now rejects the copy with an error message instead of dropping an unpickable book on the ground
CODEX_ENABLEDnow fully disables the Codex -- the item no longer appears in the creative tab,use()shows a disabled message, and commands are guarded when the config is off- Client notification/sound configs now work -- collection feedback is sent via a dedicated clientbound packet so the client can respect
showCollectionNotificationandplayCollectionSoundsettings /rpglore reloadnow prunes and resyncs -- stale entries are pruned and all online players' Codex items and UI caches are refreshed after a reload- Admin
/rpglore codex addrejects excluded books -- books withcodex_exclude=truecan no longer be injected into Codex data via commands - Input validation strengthened --
base_chanceclamped to [0.0, 1.0],min_y > max_ywarned and swapped, invalid book IDs rejected with error
Improvements
- Centralized Codex state management -- new
CodexServicehandles all mutations atomically across SavedData, item NBT, and client sync, eliminating tooltip/UI drift after toggles, admin commands, or reloads - Looting enchantment reads from loot context -- uses
LootContextParams.TOOLinstead of always reading the main hand, fixing off-hand and projectile kill scenarios - Curios item tag added -- the Codex slot now has a proper item tag at
data/curios/tags/items/codex.jsonfor reliable slot assignment - Curios compatibility hardened --
findCodexInCurioswrapped withNoClassDefFoundErrorcatch for defensive classloading safety - Sync packet slimmed -- removed unused
authorandcategoryfields from network transmission - Item NBT slimmed -- removed full
codex_collectedID list from item NBT; only lightweight tooltip fields are cached - Localization pass -- moved Codex tooltip text to translation keys; added
rpg_lore.codex.tooltip.description,rpg_lore.codex.tooltip.hint,rpg_lore.codex.disabled, andrpg_lore.codex.copy.inventory_full - Mod metadata -- added
updateJSONURLto mods.toml
Removed
- Removed dead
codex_ownerNBT tag (was written but never enforced) - Removed copied Forge source files from repository root (
net/directory) - Replaced
ConcurrentHashMapwithHashMapin tracking data classes (all access is main-thread)
Network
- Protocol version bumped from
1to2(clients and servers must match)

