File Details
worldgetsharder-1.0.1.jar
- R
- Mar 21, 2026
- 30.22 KB
- 13
- 1.21
- Forge
File Name
worldgetsharder-1.0.0.jar
Supported Versions
- 1.21
Curse Maven Snippet
📋 Changelog – World Gets Harder RPG
Version 1.0.1 – API Migration & Bugfixes
Date: March 2026 Minecraft: 1.21 | Forge: 51.0.33
🔧 Forge / Minecraft API Migration
This update migrates the entire mod to the new Forge 1.21 APIs. Several internal Forge libraries were fully replaced or renamed between 1.20.x and 1.21.
AttributeModifier API The entire AttributeModifier API was overhauled in Minecraft 1.21. Modifiers are no longer identified by UUID strings but by ResourceLocation objects. Additionally, all Operation enum values were renamed:
Operation.ADDITION→Operation.ADD_VALUEOperation.MULTIPLY_BASE→Operation.ADD_MULTIPLIED_BASEOperation.MULTIPLY_TOTAL→Operation.ADD_MULTIPLIED_TOTAL
Affected: DayProgressionEvents.java – speed boost, bonus HP and mini-boss HP modifiers
ItemStack Data Component System Minecraft 1.21 replaces the old NBT tag system (CompoundTag) on ItemStack level with the new Data Components System. All item data is now stored and read via DataComponents.CUSTOM_DATA.
stack.getOrCreateTag()→stack.get(DataComponents.CUSTOM_DATA)stack.getOrCreateTagElement("display")→DataComponents.LOREComponent.Serializer.toJson(component)→ Raw JSON String (new signature requiresHolderLookup.Provider)
Affected: ItemLevelingEvents.java – item XP, level, perks and lore display
VillagerProfession Enum VillagerProfession.BLACKSMITH no longer exists in Minecraft 1.21 and has been replaced with VillagerProfession.ARMORER.
Affected: VillageEvolutionEvents.java
AdvancementEarnEvent Package The package for AdvancementEarnEvent was moved in Forge 1.21:
- Old:
net.minecraftforge.event.advancements.AdvancementEarnEvent - New:
net.minecraftforge.event.entity.player.AdvancementEvent.AdvancementEarnEvent
Additionally, the method .getId() on advancement objects was replaced by .id().
Affected: WorldReactionEvents.java
VillageRaidEvent removed net.minecraftforge.event.village.VillageRaidEvent no longer exists in Forge 1.21 and has been fully removed. Affected functionality was replaced by alternative mechanisms.
Affected: VillageEvolutionEvents.java
EnderDragon & WitherBoss Imports Boss classes had to be updated to their correct 1.21 packages:
EnderDragon→net.minecraft.world.entity.boss.enderdragon.EnderDragonWitherBoss→net.minecraft.world.entity.boss.wither.WitherBoss
Affected: WorldReactionEvents.java
🐛 Bug Fixes
DayProgressionEvents
- Attribute modifiers are now correctly registered with
ResourceLocationIDs – prevents conflicts when multiple mobs are buffed simultaneously - Added
isClientSide()guard – prevents client-side crash during mob spawning - Added
hasCustomName()check – boss entities such as the Wither are no longer unintentionally buffed - Added duplicate modifier check via
attr.getModifier(id) == null– prevents double-stacking of modifiers setHealth()is now correctly called after applying the max HP modifier- Drop chance for equipped armor set to
0.0f– prevents armor farming exploit lastAnnouncedDayis now only tracked via the overworld tick – prevents duplicate messages from the Nether and End dimensions
ItemLevelingEvents
- Added
isEmpty()guard onItemStack– prevents NPE when hand is empty - Added
isClientSide()guard on block break event – prevents client-side execution - Progress bar value is now clamped to
[0, 10]– prevents negative or overflowing bar values - Item lore is now correctly set via
DataComponents.LOREinstead of deprecated NBT display tags
VillageEvolutionEvents
- Fixed
ConcurrentModificationException– entity list is now copied as a snapshot before iterating - Added null check for
EntityType.create()– prevents NPE on failed entity spawns - Added
findSafeGround()method – villagers and iron golems no longer spawn in mid-air or underground - Wall placement now checks whether the target block is air – prevents accidentally overwriting existing structures
- Village growth is now only triggered every
Ndays – no more multiple triggers per day
WorldReactionEvents
- All UUID-based sets migrated to
Collections.synchronizedSet()– thread safety for server environments - Added chaos wave tick guard – chaos wave now correctly fires every 30 seconds instead of every tick
- Added
LightningBolt.setVisualOnly(false)– lightning now actually deals damage instead of being purely visual - All mob spawns now use
Heightmap-based Y lookup – entities no longer spawn underground or in mid-air - Added
isClientSide()guard on all event handlers
TitleScreenOverlay
- Removed unused
PoseStackimport
⚠️ Notes
- This version is not save-compatible with item level data from version 1.0.0, as the NBT system has been replaced by Data Components. Item levels and XP will be reset.