Villageria 26.2 NeoForge
Curse Maven Snippet
What's new
Minecraft **26.2** · **NeoForge** 26.2.0.59 · Java 25 · no other mods required
## 0.2.0 — first NeoForge release
Same mod, same behaviour, same eight professions as the Fabric build: this is
not a rewrite but the same 26.2 source compiled for NeoForge. The two jars share
every class except one package — everything under `com.villageroles` comes from
`../VillageRoles/src/main`, and only `com.villageroles.neoforge.NeoForgeEntry` is
specific to this build.
### What the NeoForge build had to do differently
- **Registration.** Fabric leaves the registries open while a mod initialises,
so the Fabric build writes blocks, items, points of interest, professions and
the nocturnal schedule attributes straight in. NeoForge freezes them and hands
out one `RegisterEvent` per registry, so registration here is driven off that
event; the profession `Holder`s and schedule attributes are then resolved back
out of the registries during common setup.
- **Block breaking.** NeoForge no longer has a plain "block was broken" event.
Builders learn about player damage from `BlockDropsEvent` instead, which fires
as a broken block's drops are handed out and still carries the destroyed
state. Creative breaks never reach it — which matches the Fabric build, where
they were deliberately ignored anyway.
- **Deaths.** `LivingDeathEvent` replaces Fabric's `AFTER_DEATH`; it fires
slightly earlier, before the entity is removed, which is if anything safer for
reading the villager's profession off it.
- **Config location** comes from `FMLPaths.CONFIGDIR`, so the file lands in the
usual `config/villageroles.json`.
### Unchanged from the Fabric build
Everything else, including the datapack content — the trades
(`villager_trade` / `trade_set`) and the nocturnal `timeline` are the same files
in the same paths, because they are plain Minecraft data and no loader cares.
### Verified
Dedicated server boots with the mod, all registries accept, mixins apply
(`Explosion`, `Villager`, `IronGolem`, structure pools), world loads, no errors.
The in-game command console could not be driven from this build's Gradle run
task, so `/villageroles` was exercised on the Fabric build rather than here;
the command code itself is shared, unchanged.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

