- Healing Health Scaling with DBC Addon
- Ki Attacks collided with Barriers
- Remove Ability Slot (Deprecated)
- Refactored Naming Scheme for Barrier Abilities
- Fixed Player Settings for Ignore Dex, DBC Stats, etc.
Resolved conflicts in AbstractDataAbilities, DataAbilities, PlayerAbilityData
to integrate both toggle system (upstream) and chain delay tracking (local).
ChainedAbility now has UUID and DisplayName fields matching Ability pattern.
ChainedAbilityController rewritten: saves in abilities/chained/, dual-index
by name and UUID, legacy migration from chained_abilities/ directory.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All ScriptHandlers that send packets now directly define their data through the ScriptHandler class itself, NOT through their own GuiScript extended class.
run(String, Event) methods to IScriptUnit interface, with JaninoScript
delegating to callByHookType(). This provides a cleaner abstraction that
supports both ScriptContainer and JaninoScript without type checking.
Affected files:
- IScriptUnit: Added run() methods to interface
- JaninoScript: Implemented run() delegation methods
- DataScript, PlayerDataScript, GlobalNPCDataScript, ForgeDataScript
- EffectScript, LinkedItemScript, RecipeScript
- ScriptCustomItem, TileScripted: Refactored to use polymorphic calls
- Add ItemTradeAttribute.java for trade restriction utilities
- TAG_UNTRADEABLE for items that cannot be traded
- Check existing TAG_PROFILE_SLOT and TAG_SOULBIND tags
- canTrade() checks all three restriction types
- getTradeBlockReason() returns localization key for UI
- Utility methods for setting/getting each restriction type
- clearAllRestrictions() and getRestrictionSummary() helpers
- Add AuctionBlacklist.java controller
- Blacklist items by registry name (e.g., "minecraft:diamond_sword")
- Blacklist entire mods by mod ID (e.g., "minecraft")
- Blacklist items with specific NBT tags (supports dot notation)
- isBlacklisted() and getBlacklistReason() for checking
- Persistence via auction_blacklist.dat
- Add/remove methods for each blacklist type
- Initialize AuctionBlacklist in CustomNpcs.java
- Add scripting API methods to ScriptItemStack.java
- canTrade() - check if item can be traded
- getTradeBlockReason() - get block reason
- isUntradeable() / setUntradeable() - manage untradeable flag
- isProfileSlotBound() / getProfileSlot() / setProfileSlotBound()
- isSoulbound() / getSoulbindOwner() / removeSoulbind()
- clearTradeRestrictions() - remove all restrictions
- getRestrictionSummary() - human-readable summary