Skip to content

VillageNames ​

15 merged pull requests.

New Features ​

  • #8 Adds MixinGuiMerchant to intercept villager name rendering in GUIs and applies formatting codes from language file entries like gui.Villager.name=§6%s. Falls back to normal display if not configured. - @Ranzuu
    • Added: GUI name color customization via resource packs, MixinGuiMerchant for name rendering, Language file entries for GUI name formatting
  • #7 Adds configuration flag in VillageGeneratorConfigHandler and updates all biome structure generators to conditionally place beds based on the config setting. - @Caedis
    • Added: Bed spawning configuration option

Changes ​

  • #9 Removed the colour codes from the mod name in VillageNames, generated Tags.VERSION through generateGradleTokenClass and used it for Reference.VERSION, and removed DevVersionWarning. - @tiffit
    • Removed: Gold color codes from mod name, DevVersionWarning class, CURRENT_VERSION file
    • Fixed: Version always displaying as @VERSION@
  • #3 Added allowVillageBrewingStands ("Decor: Allow Village Brewing Stands", default false) to VillageGeneratorConfigHandler, and wrapped the brewing stand placement in DesertStructures, JungleStructures, PlainsStructures, SavannaStructures, SnowyStructures, SwampStructures and TaigaStructures in that check. - @UltraProdigy
    • Added: Configuration flag for brewing stand generation

Bug Fixes ​

  • #16 EntityInteractHandler now calls func_110163_bv (enable persistence) when force-naming a target. A new branch sets PersistenceRequired on a mob whose name already matches the tag, cancels the event and consumes the tag for non-creative players. dependencies.gradle adds NotEnoughItems and ServerUtilities as runtime-only test dependencies. - @LazyFlesh
    • Fixed: Named mobs despawning because persistence was not set, Creative name tagging not setting persistence
  • #15 Corrected inverted modulo check in EntityMonitorHandler.treatVillager so the update runs every 5th tick. Also fixed the Witchery guard check to use event.target, the catalyst meta comparison to use -1, and the skin packet to send the current profession level. - @kurrycat2004
    • Fixed: Villager skin packets sent 4 out of 5 ticks, Witchery guard check using the wrong entity, Catalyst metadata wildcard check, Wrong profession level in villager skin packet
  • #14 ReputationHandler.getVillageTagPlayerIsIn now null-checks the MapGenStructureData loaded for Village, then OTGVillage, and returns "none" if both are missing instead of catching exceptions and dereferencing a null NBT tag. - @koolkrafter5
    • Fixed: NullPointerException log spam in village reputation lookup
  • #13 EntityMonitorHandler replaces the else-if and explicit cast with an instanceof pattern match on EntityVillager, and the method returns if the entity is not a villager. - @Alexdoru
    • Fixed: ClassCastException in EntityMonitorHandler
  • #10 ModObjects.setModLecternBlock returns early when world.getTileEntity returns null, before writeToNBT is called. - @Alexdoru
    • Fixed: NullPointerException in Bibliocraft lectern placement in villages

Performance ​

  • #2 SpawnEventListener now also registers on the FML bus and uses a tick handler to cache the count every ~40 ticks. It uses TLongHashSet instead of HashMap<ChunkCoordIntPair, Boolean> for eligible chunks, and caches monument StructureBoundingBoxes instead of rescanning NBT. - @mitchej123

Removals ​

  • #6 Deleted VersionChecker, the versionChecker field and its config entry in GeneralConfig, and VERSION_CHECKER_URL in Reference. Removed the event bus registration in VillageNames.preInit. - @Alexdoru
    • Removed: version checker, Version Checker config option, update chat message on login

Internal / Refactor ​

  • #12 Deleted ConfigInGame and the allowInGameConfig config entry. Cached isOTGLoaded and isBugTorchLoaded in VillageNames alongside isWitcheryLoaded. SpawnNamingHandler uses EntityAgeable.getGrowingAge instead of writeEntityToNBT and no longer skips players explicitly. - @Alexdoru
    • Removed: in-game config GUI override, Allow in-game config access option
  • #11 Simplifies and reduces EntityMonitorHandler from 483 to 398 lines. Adds WitcheryHelper utility class. Updates dependencies. Removes reference from Reference utility class. - @boubou19
    • Added: WitcheryHelper utility class
    • Removed: Unused code from EntityMonitorHandler
    • Fixed: Entity monitor display glitch
  • #5 Removes reflection from multiple handlers and replaces with accessor and injection mixins. Adds VillageNamesCoreMod entry point, mixin classes for ChunkProvider variants, EntityVillager, EntityZombie, and StructureVillagePieces. Updates Gradle and dependency versions. - @ABKQPO
    • Added: Mixin-based accessors for chunk providers, villagers, zombies, and structure pieces, VillageNamesCoreMod class, Mixin infrastructure
    • Removed: Reflection-based access patterns
    • Fixed: Village generation in flat worlds
  • #4 ConfigInit no longer calls MinecraftForge.EVENT_BUS.register for each config handler after init. - @Alexdoru
    • Removed: unused config handler event registrations

Contributors ​

Everyone who authored, reviewed or co-authored a change on this page, with how many of them:

@Alexdoru (10), @Caedis (3), @Dream-Master (3), @boubou19 (2), @koolkrafter5 (2), @UltraProdigy (2), @ABKQPO (1), @Algent (1), @cubefury (1), @Ethryan (1), @kurrycat2004 (1), @LazyFlesh (1), @mitchej123 (1), @Ranzuu (1), @Sopel97 (1), @tiffit (1), @wlhlm (1)