Releases: saicone/rtag
Releases · saicone/rtag
Rtag 1.5.8
Additions
- Support for Minecraft 1.21.2 and 1.21.3.
- Component support on material mirror.
- Attribute mirror to change item attributes names across versions.
saicone.easylookup.debug
system property to print debug information about EasyLookup usage.- Support to legacy damageable items on material mirror.
Changes
- Now ItemData version detector read stored enchantments and inner items recursively.
Bug Fixes
- Fix some components not being upgraded by malformatted tags.
- Fix compatibility with servers that change NBT field types.
- Typo on book contents component.
- RtagEntity attributes not being edited correctly.
Rtag 1.5.7
Additions
- Added
ComponentType#all()
to get a view of all component types.
Bug Fixes
- #9 (rtag-item): fix SkullTexture usage on 1.21.1 servers.
Rtag 1.5.6
Additions
- Blazingly fast item edits!, now any RtagItem usage is practically invisible for server performance.
ItemObject#newCraftItem()
to create CraftItemStack using ItemStack.ItemObject#loadHandle()
to explicitly load handle into ItemStack using a CraftItemStack mirror.ItemObject#getCraftStack()
to get delegated CraftItemStack from ItemStack object (Only for Paper +1.21).ItemObject#getUncheckedHandle()
to get handle from CraftItemStack unsafely.ItemObject#asCraftMirror()
to convert ItemStack to it's CraftItemStack form.ItemData
class dedicated to item data handling.ItemData#getItemVersion()
to get the nearest minecraft version from item by reading item data.RtagItem#getLiteralTag()
to get current item tag or null.RtagItem#loadInto()
to load changes into provided minecraft ItemStack.- Proper conversion for new component changes.
Changes
- Now item changes are applied directly to items.
- Avoid rtag plugin code remap on newer paper servers.
- Now
ItemObject#setHandle()
replaces CraftItemStack handle directly or create a bukkit copy of provided handle to apply changes into item. - Most of deprecated methods are marked to deletion on
1.6.0
update. - Now
ItemTagStream
usesItemData
to detect item version from compound. RtagItem
now doesn't clone or create any tag unless you're trying to edit it.RtagItem
now allows to clear item tag.
Bug Fixes
- Recursive reflection on
EasyLookup
doesn't detect some legacy fork patches. - Component mirror doesn't change enchantment
sweeping
intosweeping_edge
(and vicerverse).
Deprecations
ItemObject#getComponentPath()
andItemObject#getTagPath()
, useItemData
methods instead.
Rtag 1.5.5
Additions
- Support for Minecraft 1.21.1.
OptionalType#asEnum()
to get the current value as enum type.- Compatibility with Map values on IterableType.
- More precise error messages when trying to create an invalid component type.
Bug Fixes
- Fix component type not being parsed or encoded.
- Fix IterableType iteration hover arrays and single objects.
Rtag 1.5.4
Additions
- Support for Minecraft 1.21.
Bug Fixes
- Fix skull texture usage on servers with newer versions of authlib.
Rtag 1.5.3
Additions:
- More precise
ServerInstance#DATA_VERSION
for newer server versions.
Bug Fixes
- #7 (rtag-item): fix
ItemObject#getCustomDataTag()
on 1.20.6 servers. - Fix enchantment tag initialization.
Rtag 1.5.2
Additions
- Support for Minecraft 1.20.6 (same has 1.20.5).
- Item count conversion.
- Profile component transformation.
- Profile/SkullOwner sub-paths conversion.
Changes
- Now component conversion doesn't replace components object.
Bug Fixes
- Fix component paths not being downgraded.
- Fix enchantment level upgrade to component format.
- Fix potion convertion.
- Fix item effects conversion.
- Fix firework component transformation.
Rtag 1.5.1
Additions
- Experimental enchantments on
EnchantmentTag
from Minecraft 1.21.
Changes
- Now
EnchantmentTag
use enchantment registry to get bukkit enchantments on newer Minecraft versions.
Bug Fixes
- Several reflected methods on +1.20.5 Mojang mapped servers.
Rtag 1.5.0
Minecraft 1.20.5 change ItemStack format, in order to keep Rtag in continuous development, the next updates will have multiple experimental features
It's not suggested to use any experimental change/addition unless you are shading the library in your project
Additions
- Support for Minecraft 1.20.5.
- Multiple removal notices in deprecated methods.
ItemObject#hasCustomData()
to check if item has custom data (or tag for <1.20.5).ItemObject#apply()
to apply data updates into item (or load compound for <1.20.5).ItemObject#copy()
to copy the provided item.ItemObject#getCustomDataTag()
andItemObject#setCustomDataTag()
to get tag from custom data component inside item.ItemObject#getComponentPath()
to convert any old tag path into new component path.ItemObject#getTagPath()
to convert any new component path into any old tag path.ItemTagStream#ofVersion()
to create an ItemTagStream instance with a provided version range.IContainerMirror
instance to convert any item inside container on it's item form.TagCompound#newUncheckedTag()
andTagList#newUncheckedTag()
to create a new tag without check provided object.- (experimental)
Rtag#UNIT
constant to get a Minecraft unit object. - (experimental)
Rtag#getMinecraftRegistry
method to get a custom registry provided by Bukkit. - (experimental)
RtagItem#getComponents()
method to get component map from MC item (only for +1.20.5). - (experimental)
IComponentMirror
instance to convert item tags into components and viceversa to mantain cross-version support on ItemTagStream. - (experimental)
DataComponent
utility class to manage any data Holder, Map and Patch instances. - (experimental)
ComponentType
utility class to get, parse, encode and handle any data component type and object. - (experimental) Multiple methods to get/edit/set data components using
RtagItem
instance.
Changes
ServerInstance
utility class has been fully recoded.TagCompound.DATA
usage will be moved toTStream.COMPOUND
.- Any
#edit()
method from RtagEditor instances has been moved into RtagEditor directly. - Any
Enchantment
usage from RtagItem on +1.20.5 servers will be redirected to Bukkit API (since items now cannot hold invalid enchantments). RtagItem#fixSerialization()
will make no change on +1.20.5 since items now use different serialization.- ItemMirror instance now use item components has main conversion concept (on versions before 1.20.5 the components object will be item tag).
- ItemTagStream now make a fully usage of instance version to handle tags and also use item components on newer versions.
EasyLookup#field()
is now a public method.
Deprecations
- Any
HideFlag
usage from RtagItem since items cannot have flags on +1.20.5. ItemObject#load()
since items now cannot implement direct updates from compound (and also is really messy to mantain on newer versions).ItemObject#getTag()
andItemObject#setTag()
since items now use custom data component.IShulkerMirror
instance since IContainerMirror now is used to convert containers.
Rtag 1.4.4
Additions
- Support for Minecraft 1.20.3 and 1.20.4.
- Backwards list index using negative numbers, for example
-1
to get the lastest value.
Bug Fixes
- Fix skull meta profile setter.