File Details
neoattributemodify-1.0.2.jar
- R
- Mar 2, 2026
- 72.45 KB
- 37
- 1.21.1
- NeoForge
File Name
neoattributemodify-1.0.1.jar
Supported Versions
- 1.21.1
Curse Maven Snippet
New Features
- Multi-File Accumulation: Multiple datapack files can now contribute attributes to the same item. Previously, the last file loaded would overwrite all others. Now entries from all files are merged together.
- ListTag Index Navigation: NBT condition paths now support numeric indices to access elements inside list tags (e.g.,
enchantments.0.id). not_equalsreturns true on missing paths: Thenot_equalsoperator now correctly returnstruewhen the NBT path doesn't exist on the item, matching the intuitive "this value is not X" behavior.
Bug Fixes
- Villager Trade Quality Template Mutation: Fixed a critical bug where applying quality to a villager trade would permanently modify the trade offer template, preventing re-rolls on future trades. Quality is now only applied via deferred inventory scan.
- Network Buffer Desync (Forge): Fixed packet encode/decode that could desync when items with null registry IDs were included, causing all subsequent data in the packet to be corrupted.
- Container Close Inventory Scan: The container close event now correctly skips the player's own inventory menu, preventing unnecessary quality re-processing when simply closing the inventory screen.
- Regex Pattern Safety: Added
PatternSyntaxExceptioncatch for thematches_regexNBT operator, preventing server crashes from malformed regex patterns in datapacks. - Long Precision in Quality Values: Fixed quality system NBT writing to properly distinguish between int, long, and double values, preventing precision loss for large numbers.
- Null NBT Condition Serialization (Forge): Fixed network packet encoding to correctly handle null NBT condition values using a sentinel, preventing deserialization errors on the client.
Performance & Stability
- Thread Safety (Forge): All attribute maps now use
ConcurrentHashMapandvolatileinstance fields, preventing potential race conditions during reload. - Debug Logging Optimization: Changed all hot-path logging from
infotodebuglevel across both versions, reducing log spam during normal gameplay. - Removed Dead Code (Forge): Cleaned up unused
handleCuriosAttributes()method and related imports.
Internal
- Unified both Forge and NeoForge codebases to feature parity.
- Extracted NbtCondition encode/decode into reusable helper methods (Forge).

