3636import com .viaversion .viaversion .api .minecraft .item .data .Bee ;
3737import com .viaversion .viaversion .api .minecraft .item .data .BlockStateProperties ;
3838import com .viaversion .viaversion .api .minecraft .item .data .Consumable1_21_2 ;
39+ import com .viaversion .viaversion .api .minecraft .item .data .CustomModelData1_21_4 ;
3940import com .viaversion .viaversion .api .minecraft .item .data .DamageResistant ;
4041import com .viaversion .viaversion .api .minecraft .item .data .DeathProtection ;
4142import com .viaversion .viaversion .api .minecraft .item .data .DyedColor ;
5960import com .viaversion .viaversion .api .minecraft .item .data .WrittenBook ;
6061import com .viaversion .viaversion .api .type .Type ;
6162import com .viaversion .viaversion .api .type .Types ;
63+ import com .viaversion .viaversion .api .type .types .ArrayType ;
6264import com .viaversion .viaversion .api .type .types .version .Types1_20_5 ;
6365import com .viaversion .viaversion .api .type .types .version .Types1_21 ;
6466import com .viaversion .viaversion .api .type .types .version .Types1_21_2 ;
67+ import com .viaversion .viaversion .api .type .types .version .Types1_21_4 ;
6568import com .viaversion .viaversion .util .Unit ;
6669
6770public record StructuredDataKey <T >(String identifier , Type <T > type ) {
@@ -74,14 +77,15 @@ public record StructuredDataKey<T>(String identifier, Type<T> type) {
7477 public static final StructuredDataKey <Tag > CUSTOM_NAME = new StructuredDataKey <>("custom_name" , Types .TAG );
7578 public static final StructuredDataKey <Tag > ITEM_NAME = new StructuredDataKey <>("item_name" , Types .TAG );
7679 public static final StructuredDataKey <String > ITEM_MODEL = new StructuredDataKey <>("item_model" , Types .STRING );
77- public static final StructuredDataKey <Tag []> LORE = new StructuredDataKey <>("lore" , Types .TAG_ARRAY );
80+ public static final StructuredDataKey <Tag []> LORE = new StructuredDataKey <>("lore" , new ArrayType <>( Types .TAG , 256 ) );
7881 public static final StructuredDataKey <Integer > RARITY = new StructuredDataKey <>("rarity" , Types .VAR_INT );
7982 public static final StructuredDataKey <Enchantments > ENCHANTMENTS = new StructuredDataKey <>("enchantments" , Enchantments .TYPE );
8083 public static final StructuredDataKey <AdventureModePredicate > CAN_PLACE_ON = new StructuredDataKey <>("can_place_on" , AdventureModePredicate .TYPE );
8184 public static final StructuredDataKey <AdventureModePredicate > CAN_BREAK = new StructuredDataKey <>("can_break" , AdventureModePredicate .TYPE );
8285 public static final StructuredDataKey <AttributeModifiers1_20_5 > ATTRIBUTE_MODIFIERS1_20_5 = new StructuredDataKey <>("attribute_modifiers" , AttributeModifiers1_20_5 .TYPE );
8386 public static final StructuredDataKey <AttributeModifiers1_21 > ATTRIBUTE_MODIFIERS1_21 = new StructuredDataKey <>("attribute_modifiers" , AttributeModifiers1_21 .TYPE );
84- public static final StructuredDataKey <Integer > CUSTOM_MODEL_DATA = new StructuredDataKey <>("custom_model_data" , Types .VAR_INT );
87+ public static final StructuredDataKey <Integer > CUSTOM_MODEL_DATA1_20_5 = new StructuredDataKey <>("custom_model_data" , Types .VAR_INT );
88+ public static final StructuredDataKey <CustomModelData1_21_4 > CUSTOM_MODEL_DATA1_21_4 = new StructuredDataKey <>("custom_model_data" , CustomModelData1_21_4 .TYPE );
8589 public static final StructuredDataKey <Unit > HIDE_ADDITIONAL_TOOLTIP = new StructuredDataKey <>("hide_additional_tooltip" , Types .EMPTY );
8690 public static final StructuredDataKey <Unit > HIDE_TOOLTIP = new StructuredDataKey <>("hide_tooltip" , Types .EMPTY );
8791 public static final StructuredDataKey <Integer > REPAIR_COST = new StructuredDataKey <>("repair_cost" , Types .VAR_INT );
@@ -92,7 +96,8 @@ public record StructuredDataKey<T>(String identifier, Type<T> type) {
9296 public static final StructuredDataKey <FoodProperties1_20_5 > FOOD1_21 = new StructuredDataKey <>("food" , FoodProperties1_20_5 .TYPE1_21 );
9397 public static final StructuredDataKey <FoodProperties1_21_2 > FOOD1_21_2 = new StructuredDataKey <>("food" , FoodProperties1_21_2 .TYPE );
9498 public static final StructuredDataKey <Consumable1_21_2 > CONSUMABLE1_21_2 = new StructuredDataKey <>("consumable" , Consumable1_21_2 .TYPE );
95- public static final StructuredDataKey <Item > USE_REMAINDER = new StructuredDataKey <>("use_remainder" , Types1_21_2 .ITEM );
99+ public static final StructuredDataKey <Item > USE_REMAINDER1_21_2 = new StructuredDataKey <>("use_remainder" , Types1_21_2 .ITEM );
100+ public static final StructuredDataKey <Item > USE_REMAINDER1_21_4 = new StructuredDataKey <>("use_remainder" , Types1_21_4 .ITEM );
96101 public static final StructuredDataKey <UseCooldown > USE_COOLDOWN = new StructuredDataKey <>("use_cooldown" , UseCooldown .TYPE );
97102 public static final StructuredDataKey <Unit > FIRE_RESISTANT = new StructuredDataKey <>("fire_resistant" , Types .EMPTY );
98103 public static final StructuredDataKey <DamageResistant > DAMAGE_RESISTANT = new StructuredDataKey <>("damage_resistant" , DamageResistant .TYPE );
@@ -112,15 +117,19 @@ public record StructuredDataKey<T>(String identifier, Type<T> type) {
112117 public static final StructuredDataKey <Item []> CHARGED_PROJECTILES1_20_5 = new StructuredDataKey <>("charged_projectiles" , Types1_20_5 .ITEM_ARRAY );
113118 public static final StructuredDataKey <Item []> CHARGED_PROJECTILES1_21 = new StructuredDataKey <>("charged_projectiles" , Types1_21 .ITEM_ARRAY );
114119 public static final StructuredDataKey <Item []> CHARGED_PROJECTILES1_21_2 = new StructuredDataKey <>("charged_projectiles" , Types1_21_2 .ITEM_ARRAY );
120+ public static final StructuredDataKey <Item []> CHARGED_PROJECTILES1_21_4 = new StructuredDataKey <>("charged_projectiles" , Types1_21_4 .ITEM_ARRAY );
115121 public static final StructuredDataKey <Item []> BUNDLE_CONTENTS1_20_5 = new StructuredDataKey <>("bundle_contents" , Types1_20_5 .ITEM_ARRAY );
116122 public static final StructuredDataKey <Item []> BUNDLE_CONTENTS1_21 = new StructuredDataKey <>("bundle_contents" , Types1_21 .ITEM_ARRAY );
117123 public static final StructuredDataKey <Item []> BUNDLE_CONTENTS1_21_2 = new StructuredDataKey <>("bundle_contents" , Types1_21_2 .ITEM_ARRAY );
124+ public static final StructuredDataKey <Item []> BUNDLE_CONTENTS1_21_4 = new StructuredDataKey <>("bundle_contents" , Types1_21_4 .ITEM_ARRAY );
118125 public static final StructuredDataKey <PotionContents > POTION_CONTENTS1_20_5 = new StructuredDataKey <>("potion_contents" , PotionContents .TYPE1_20_5 );
119126 public static final StructuredDataKey <PotionContents > POTION_CONTENTS1_21_2 = new StructuredDataKey <>("potion_contents" , PotionContents .TYPE1_21_2 );
120127 public static final StructuredDataKey <SuspiciousStewEffect []> SUSPICIOUS_STEW_EFFECTS = new StructuredDataKey <>("suspicious_stew_effects" , SuspiciousStewEffect .ARRAY_TYPE );
121128 public static final StructuredDataKey <FilterableString []> WRITABLE_BOOK_CONTENT = new StructuredDataKey <>("writable_book_content" , FilterableString .ARRAY_TYPE );
122129 public static final StructuredDataKey <WrittenBook > WRITTEN_BOOK_CONTENT = new StructuredDataKey <>("written_book_content" , WrittenBook .TYPE );
123- public static final StructuredDataKey <ArmorTrim > TRIM = new StructuredDataKey <>("trim" , ArmorTrim .TYPE );
130+ public static final StructuredDataKey <ArmorTrim > TRIM1_20_5 = new StructuredDataKey <>("trim" , ArmorTrim .TYPE1_20_5 );
131+ public static final StructuredDataKey <ArmorTrim > TRIM1_21_2 = new StructuredDataKey <>("trim" , ArmorTrim .TYPE1_21_2 );
132+ public static final StructuredDataKey <ArmorTrim > TRIM1_21_4 = new StructuredDataKey <>("trim" , ArmorTrim .TYPE1_21_4 );
124133 public static final StructuredDataKey <CompoundTag > DEBUG_STICK_STATE = new StructuredDataKey <>("debug_stick_state" , Types .COMPOUND_TAG );
125134 public static final StructuredDataKey <CompoundTag > ENTITY_DATA = new StructuredDataKey <>("entity_data" , Types .COMPOUND_TAG );
126135 public static final StructuredDataKey <CompoundTag > BUCKET_ENTITY_DATA = new StructuredDataKey <>("bucket_entity_data" , Types .COMPOUND_TAG );
@@ -140,7 +149,8 @@ public record StructuredDataKey<T>(String identifier, Type<T> type) {
140149 public static final StructuredDataKey <PotDecorations > POT_DECORATIONS = new StructuredDataKey <>("pot_decorations" , PotDecorations .TYPE );
141150 public static final StructuredDataKey <Item []> CONTAINER1_20_5 = new StructuredDataKey <>("container" , Types1_20_5 .ITEM_ARRAY );
142151 public static final StructuredDataKey <Item []> CONTAINER1_21 = new StructuredDataKey <>("container" , Types1_21 .ITEM_ARRAY );
143- public static final StructuredDataKey <Item []> CONTAINER1_21_2 = new StructuredDataKey <>("container" , Types1_21_2 .ITEM_ARRAY );
152+ public static final StructuredDataKey <Item []> CONTAINER1_21_2 = new StructuredDataKey <>("container" , new ArrayType <>(Types1_21_2 .ITEM , 256 ));
153+ public static final StructuredDataKey <Item []> CONTAINER1_21_4 = new StructuredDataKey <>("container" , Types1_21_4 .ITEM_ARRAY );
144154 public static final StructuredDataKey <BlockStateProperties > BLOCK_STATE = new StructuredDataKey <>("block_state" , BlockStateProperties .TYPE );
145155 public static final StructuredDataKey <Bee []> BEES = new StructuredDataKey <>("bees" , Bee .ARRAY_TYPE );
146156 public static final StructuredDataKey <Tag > LOCK = new StructuredDataKey <>("lock" , Types .TAG );
0 commit comments