promotional bannermobile promotional banner

RPG Lore

A data-driven lore book mod for Minecraft Forge 1.20.1. Define custom books via simple JSON files and have them drop from mobs based on configurable conditions.
Back to Files

RPG Lore 2.0.6 (Forge 1.20.1)

File namerpg_lore-2.0.6.jar
Uploader
OtectusOtectus
Uploaded
Apr 16, 2026
Downloads
674
Size
160.9 KB
Mod Loaders
Forge
File ID
7937403
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:rpg-lore-1488132:7937403")

Learn more about Curse Maven

What's new

[2.0.6] - 2026-04-16

New Features

  • Lore Codex storable in Chiseled Bookshelves -- the Codex can now be placed alongside regular lore books via the minecraft:bookshelf_books item tag.
  • Lore Codex placeable on Lecterns -- right-click an empty lectern while holding the Codex to place it. Right-clicking a Codex-holding lectern opens the Codex GUI instead of vanilla's empty-book reader (the Codex has no pages NBT). The GUI shows the interacting player's own synced collection, consistent with in-hand LoreCodexItem#use.

Improvements

  • Data-generation scaffolding -- ModItemTagsProvider now also emits rpg_lore:lore_codex into minecraft:bookshelf_books. Hand-written JSON remains authoritative (datagen still blocked by the pre-existing Curios mixin/mappings clash).

[2.0.5] - 2026-04-13

New Features

  • Chiseled Bookshelf storage -- lore books can now be placed in vanilla Chiseled Bookshelves and displayed alongside regular written books. Implemented via the minecraft:bookshelf_books item tag; comparator output and book rendering work naturally.
  • Lectern placement -- lore books can now be placed on vanilla Lecterns. Right-click an empty lectern while holding a lore book to place it; right-click the filled lectern to open the reader UI. Reading, dropping, and comparator output all work unchanged. Implemented via a PlayerInteractEvent.RightClickBlock handler that replicates LecternBlock.placeBook, since vanilla LecternBlock#isBook is hardcoded to Items.WRITTEN_BOOK/Items.WRITABLE_BOOK with no tag or extension point.

Bug Fixes

  • Stricter lore_id validation on pickup -- CodexEventHandler.onItemPickup now rejects NBT where lore_id is missing, wrong type, or empty, preventing ghost entries from malformed /gived books.
  • Blank lore books no longer glint -- LoreBookItem#isFoil now returns false when NBT is absent, so /give rpg_lore:lore_book without an nbt argument produces a plain template book instead of a shimmering blank.

Improvements

  • Translation keys for all /rpglore command output -- 18 new keys in en_us.json cover reload, give, list, collection, and all codex admin subcommands; all Component.literal(...) call sites in RpgLoreCommands replaced with Component.translatable(...). Admin feedback is now consistent with the 60-language localization pass shipped in 2.0.1.
  • CodexService threading contract documented -- instance is now volatile, and Javadoc spells out the main-thread-only rule and the ctx.enqueueWork(...) requirement for packet handlers. No behavioral change in 1.20.1 (all handlers already comply), but the contract is now explicit.
  • Data-generation scaffolding -- added DataGenerators, ModBlockTagsProvider, and ModItemTagsProvider under com.rpglore.data. The item-tags provider emits minecraft:bookshelf_books containing rpg_lore:lore_book when ./gradlew runData is run. (Note: runData currently errors in this environment due to a pre-existing Curios mixin/mappings clash; the hand-written tag JSON remains authoritative until that is resolved.)

This mod has no additional files