diff options
author | Jake Potrebic <[email protected]> | 2024-06-21 19:38:57 -0700 |
---|---|---|
committer | Owen1212055 <[email protected]> | 2024-11-18 14:50:38 -0500 |
commit | 92055b6da5d3c59bc17a509fdd3f2f8c2b14a757 (patch) | |
tree | a79749826e4938f7f9d49523d940a1cdc82582df /patches/api | |
parent | c92fa203dc2a438a028ea423598b0a338f4626d3 (diff) | |
download | Paper-92055b6da5d3c59bc17a509fdd3f2f8c2b14a757.tar.gz Paper-92055b6da5d3c59bc17a509fdd3f2f8c2b14a757.zip |
change package
Diffstat (limited to 'patches/api')
-rw-r--r-- | patches/api/0480-WIP-DataComponent-API.patch | 511 |
1 files changed, 251 insertions, 260 deletions
diff --git a/patches/api/0480-WIP-DataComponent-API.patch b/patches/api/0480-WIP-DataComponent-API.patch index b651650697..c3f1397a6d 100644 --- a/patches/api/0480-WIP-DataComponent-API.patch +++ b/patches/api/0480-WIP-DataComponent-API.patch @@ -75,13 +75,13 @@ index 0000000000000000000000000000000000000000..abd1985275d59bc2377eb386a7f06c13 + } + +} -diff --git a/src/main/java/io/papermc/paper/component/ComponentBuilder.java b/src/main/java/io/papermc/paper/component/ComponentBuilder.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/ComponentBuilder.java b/src/main/java/io/papermc/paper/datacomponent/ComponentBuilder.java new file mode 100644 -index 0000000000000000000000000000000000000000..3f5e6f7c6fb44898e8bfdb87c8d2569086025cba +index 0000000000000000000000000000000000000000..6eb69eb0f220a3a5e63d8315802b4966dceda839 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/ComponentBuilder.java ++++ b/src/main/java/io/papermc/paper/datacomponent/ComponentBuilder.java @@ -0,0 +1,22 @@ -+package io.papermc.paper.component; ++package io.papermc.paper.datacomponent; + +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; @@ -103,13 +103,13 @@ index 0000000000000000000000000000000000000000..3f5e6f7c6fb44898e8bfdb87c8d25690 + @Contract(value = "-> new", pure = true) + @NonNull C build(); +} -diff --git a/src/main/java/io/papermc/paper/component/DataComponentType.java b/src/main/java/io/papermc/paper/component/DataComponentType.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/DataComponentType.java b/src/main/java/io/papermc/paper/datacomponent/DataComponentType.java new file mode 100644 -index 0000000000000000000000000000000000000000..50d15b4e0ed5cd17fdc95476ee4650ef918af62c +index 0000000000000000000000000000000000000000..3152cc9cf29e7fd21b25f4c7a2b3d0b5bbf49d87 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/DataComponentType.java ++++ b/src/main/java/io/papermc/paper/datacomponent/DataComponentType.java @@ -0,0 +1,27 @@ -+package io.papermc.paper.component; ++package io.papermc.paper.datacomponent; + +import org.bukkit.Keyed; +import org.jetbrains.annotations.ApiStatus; @@ -136,45 +136,45 @@ index 0000000000000000000000000000000000000000..50d15b4e0ed5cd17fdc95476ee4650ef + + } +} -diff --git a/src/main/java/io/papermc/paper/component/DataComponentTypes.java b/src/main/java/io/papermc/paper/component/DataComponentTypes.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/DataComponentTypes.java b/src/main/java/io/papermc/paper/datacomponent/DataComponentTypes.java new file mode 100644 -index 0000000000000000000000000000000000000000..0d64edd242cd4a77cc1b6b8989544aad6641b5f5 +index 0000000000000000000000000000000000000000..0660abc2a184a2684b4a6817590b67b38022b19f --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/DataComponentTypes.java -@@ -0,0 +1,313 @@ -+package io.papermc.paper.component; -+ -+import com.destroystokyo.paper.MaterialSetTag; -+import io.papermc.paper.component.item.BannerPatternLayers; -+import io.papermc.paper.component.item.BlockItemDataProperties; -+import io.papermc.paper.component.item.BundleContents; -+import io.papermc.paper.component.item.ChargedProjectiles; -+import io.papermc.paper.component.item.CustomModelData; -+import io.papermc.paper.component.item.DyedItemColor; -+import io.papermc.paper.component.item.Fireworks; -+import io.papermc.paper.component.item.FoodProperties; -+import io.papermc.paper.component.item.ItemAdventurePredicate; -+import io.papermc.paper.component.item.ItemArmorTrim; -+import io.papermc.paper.component.item.ItemAttributeModifiers; -+import io.papermc.paper.component.item.ItemContainerContents; -+import io.papermc.paper.component.item.ItemEnchantments; -+import io.papermc.paper.component.item.ItemLore; -+import io.papermc.paper.component.item.JukeboxPlayable; -+import io.papermc.paper.component.item.LockCode; -+import io.papermc.paper.component.item.LodestoneTracker; -+import io.papermc.paper.component.item.MapDecorations; -+import io.papermc.paper.component.item.MapID; -+import io.papermc.paper.component.item.MapItemColor; -+import io.papermc.paper.component.item.MapPostProcessing; -+import io.papermc.paper.component.item.PotDecorations; -+import io.papermc.paper.component.item.PotionContents; -+import io.papermc.paper.component.item.ResolvableProfile; -+import io.papermc.paper.component.item.SeededContainerLoot; -+import io.papermc.paper.component.item.SuspiciousStewEffects; -+import io.papermc.paper.component.item.Tool; -+import io.papermc.paper.component.item.Unbreakable; -+import io.papermc.paper.component.item.WritableBookContent; -+import io.papermc.paper.component.item.WrittenBookContent; ++++ b/src/main/java/io/papermc/paper/datacomponent/DataComponentTypes.java +@@ -0,0 +1,316 @@ ++package io.papermc.paper.datacomponent; ++ ++import io.papermc.paper.datacomponent.item.BannerPatternLayers; ++import io.papermc.paper.datacomponent.item.BlockItemDataProperties; ++import io.papermc.paper.datacomponent.item.BundleContents; ++import io.papermc.paper.datacomponent.item.ChargedProjectiles; ++import io.papermc.paper.datacomponent.item.CustomModelData; ++import io.papermc.paper.datacomponent.item.DyedItemColor; ++import io.papermc.paper.datacomponent.item.Fireworks; ++import io.papermc.paper.datacomponent.item.FoodProperties; ++import io.papermc.paper.datacomponent.item.ItemAdventurePredicate; ++import io.papermc.paper.datacomponent.item.ItemArmorTrim; ++import io.papermc.paper.datacomponent.item.ItemAttributeModifiers; ++import io.papermc.paper.datacomponent.item.ItemContainerContents; ++import io.papermc.paper.datacomponent.item.ItemEnchantments; ++import io.papermc.paper.datacomponent.item.ItemLore; ++import io.papermc.paper.datacomponent.item.JukeboxPlayable; ++import io.papermc.paper.datacomponent.item.LockCode; ++import io.papermc.paper.datacomponent.item.LodestoneTracker; ++import io.papermc.paper.datacomponent.item.MapDecorations; ++import io.papermc.paper.datacomponent.item.MapID; ++import io.papermc.paper.datacomponent.item.MapItemColor; ++import io.papermc.paper.datacomponent.item.MapPostProcessing; ++import io.papermc.paper.datacomponent.item.PotDecorations; ++import io.papermc.paper.datacomponent.item.PotionContents; ++import io.papermc.paper.datacomponent.item.ResolvableProfile; ++import io.papermc.paper.datacomponent.item.SeededContainerLoot; ++import io.papermc.paper.datacomponent.item.SuspiciousStewEffects; ++import io.papermc.paper.datacomponent.item.Tool; ++import io.papermc.paper.datacomponent.item.Unbreakable; ++import io.papermc.paper.datacomponent.item.WritableBookContent; ++import io.papermc.paper.datacomponent.item.WrittenBookContent; ++import java.util.List; +import net.kyori.adventure.key.Key; +import net.kyori.adventure.text.Component; +import org.bukkit.DyeColor; @@ -186,10 +186,13 @@ index 0000000000000000000000000000000000000000..0d64edd242cd4a77cc1b6b8989544aad +import org.checkerframework.checker.index.qual.NonNegative; +import org.checkerframework.checker.index.qual.Positive; +import org.checkerframework.common.value.qual.IntRange; -+import java.util.List; + +import static java.util.Objects.requireNonNull; + ++/** ++ * All the different types of data that {@link org.bukkit.inventory.ItemStack ItemStacks} ++ * and {@link org.bukkit.inventory.ItemType ItemTypes} can have. ++ */ +public final class DataComponentTypes { + + // public static final DataComponentType.Valued<BinaryTagHolder> CUSTOM_DATA = valued("custom_data"); @@ -455,15 +458,15 @@ index 0000000000000000000000000000000000000000..0d64edd242cd4a77cc1b6b8989544aad + private DataComponentTypes() { + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/BannerPatternLayers.java b/src/main/java/io/papermc/paper/component/item/BannerPatternLayers.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/BannerPatternLayers.java b/src/main/java/io/papermc/paper/datacomponent/item/BannerPatternLayers.java new file mode 100644 -index 0000000000000000000000000000000000000000..3d1c94278eeaffcc68d1d83b7bc548d72fd8e757 +index 0000000000000000000000000000000000000000..c628b5aed20c4d8781e0ad19fdbc4a926fcfc0fa --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/BannerPatternLayers.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/BannerPatternLayers.java @@ -0,0 +1,42 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.Arrays; +import java.util.List; +import org.bukkit.block.banner.Pattern; @@ -503,15 +506,15 @@ index 0000000000000000000000000000000000000000..3d1c94278eeaffcc68d1d83b7bc548d7 + @NonNull Builder addAll(@NonNull List<@NonNull Pattern> patterns); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/BlockItemDataProperties.java b/src/main/java/io/papermc/paper/component/item/BlockItemDataProperties.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/BlockItemDataProperties.java b/src/main/java/io/papermc/paper/datacomponent/item/BlockItemDataProperties.java new file mode 100644 -index 0000000000000000000000000000000000000000..1c4859bcabcc2a4a2e3b52253a984960970bc3d9 +index 0000000000000000000000000000000000000000..270f98e95b1d0322a42bad52d492fa0018f43bc1 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/BlockItemDataProperties.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/BlockItemDataProperties.java @@ -0,0 +1,28 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import org.bukkit.Material; +import org.bukkit.block.data.BlockData; +import org.checkerframework.checker.nullness.qual.NonNull; @@ -537,15 +540,15 @@ index 0000000000000000000000000000000000000000..1c4859bcabcc2a4a2e3b52253a984960 + // building this requires BlockProperty API, so an empty builder for now (essentially read-only) + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/BundleContents.java b/src/main/java/io/papermc/paper/component/item/BundleContents.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/BundleContents.java b/src/main/java/io/papermc/paper/datacomponent/item/BundleContents.java new file mode 100644 -index 0000000000000000000000000000000000000000..e9efe98121d45890824d624a8cf66d3342ae84a3 +index 0000000000000000000000000000000000000000..e3443702bfad57aa1a66331060f33b2e406ca153 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/BundleContents.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/BundleContents.java @@ -0,0 +1,59 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.Arrays; +import java.util.List; +import org.bukkit.inventory.ItemStack; @@ -602,15 +605,15 @@ index 0000000000000000000000000000000000000000..e9efe98121d45890824d624a8cf66d33 + @NonNull Builder addAll(@NonNull List<@NonNull ItemStack> stacks); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/ChargedProjectiles.java b/src/main/java/io/papermc/paper/component/item/ChargedProjectiles.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/ChargedProjectiles.java b/src/main/java/io/papermc/paper/datacomponent/item/ChargedProjectiles.java new file mode 100644 -index 0000000000000000000000000000000000000000..13e7303189c38c79b4b0726841a2fd6fd8e720a6 +index 0000000000000000000000000000000000000000..505f93dec42585072f518b4484fdee176e941f50 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/ChargedProjectiles.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/ChargedProjectiles.java @@ -0,0 +1,59 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.Arrays; +import java.util.List; +import org.bukkit.inventory.ItemStack; @@ -667,13 +670,13 @@ index 0000000000000000000000000000000000000000..13e7303189c38c79b4b0726841a2fd6f + @NonNull Builder addAll(@NonNull List<@NonNull ItemStack> itemStacks); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/ComponentTypesBridge.java b/src/main/java/io/papermc/paper/component/item/ComponentTypesBridge.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/ComponentTypesBridge.java b/src/main/java/io/papermc/paper/datacomponent/item/ComponentTypesBridge.java new file mode 100644 -index 0000000000000000000000000000000000000000..59db78f559404777ba6e711a0b2c267d750ec6c8 +index 0000000000000000000000000000000000000000..a1c78fae5327ef9f9398e00a0b20b5171333bba7 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/ComponentTypesBridge.java -@@ -0,0 +1,87 @@ -+package io.papermc.paper.component.item; ++++ b/src/main/java/io/papermc/paper/datacomponent/item/ComponentTypesBridge.java +@@ -0,0 +1,88 @@ ++package io.papermc.paper.datacomponent.item; + +import io.papermc.paper.registry.set.RegistryKeySet; +import io.papermc.paper.util.Filtered; @@ -685,6 +688,7 @@ index 0000000000000000000000000000000000000000..59db78f559404777ba6e711a0b2c267d +import org.bukkit.inventory.meta.trim.ArmorTrim; +import org.bukkit.map.MapCursor; +import org.bukkit.potion.PotionEffect; ++import org.checkerframework.checker.nullness.qual.Nullable; +import org.jetbrains.annotations.ApiStatus; + @@ -756,17 +760,17 @@ index 0000000000000000000000000000000000000000..59db78f559404777ba6e711a0b2c267d + + Tool.Builder tool(); + -+ Tool.Rule rule(RegistryKeySet<BlockType> blockTypes, Float speed, TriState correctForDrops); ++ Tool.Rule rule(RegistryKeySet<BlockType> blockTypes, @Nullable Float speed, TriState correctForDrops); + + ItemAdventurePredicate.Builder itemAdventurePredicate(); +} -diff --git a/src/main/java/io/papermc/paper/component/item/CustomModelData.java b/src/main/java/io/papermc/paper/component/item/CustomModelData.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/CustomModelData.java b/src/main/java/io/papermc/paper/datacomponent/item/CustomModelData.java new file mode 100644 -index 0000000000000000000000000000000000000000..d8919127e181573ef5afe857cbc777a6a45b140a +index 0000000000000000000000000000000000000000..e93f962fc51c0f260719fccad7ccdadc114bfc31 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/CustomModelData.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/CustomModelData.java @@ -0,0 +1,27 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; @@ -793,15 +797,15 @@ index 0000000000000000000000000000000000000000..d8919127e181573ef5afe857cbc777a6 + @NonNull CustomModelData build(); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/DyedItemColor.java b/src/main/java/io/papermc/paper/component/item/DyedItemColor.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/DyedItemColor.java b/src/main/java/io/papermc/paper/datacomponent/item/DyedItemColor.java new file mode 100644 -index 0000000000000000000000000000000000000000..ade9b048dd56f397278717fefc10a3c369603d30 +index 0000000000000000000000000000000000000000..ee9983f45d4457935381fac9bf44455a59661e6d --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/DyedItemColor.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/DyedItemColor.java @@ -0,0 +1,43 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import org.bukkit.Color; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; @@ -842,15 +846,15 @@ index 0000000000000000000000000000000000000000..ade9b048dd56f397278717fefc10a3c3 + @NonNull Builder color(@NonNull Color color); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/Fireworks.java b/src/main/java/io/papermc/paper/component/item/Fireworks.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/Fireworks.java b/src/main/java/io/papermc/paper/datacomponent/item/Fireworks.java new file mode 100644 -index 0000000000000000000000000000000000000000..720ba84a3f7c426e6bb533e47ce4546725cc7136 +index 0000000000000000000000000000000000000000..6b3bbe5038f4b2527485eec3848fb0b4bcd640a5 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/Fireworks.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/Fireworks.java @@ -0,0 +1,68 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.List; +import org.bukkit.FireworkEffect; +import org.checkerframework.checker.nullness.qual.NonNull; @@ -916,15 +920,15 @@ index 0000000000000000000000000000000000000000..720ba84a3f7c426e6bb533e47ce45467 + @NonNull Builder addAll(@NonNull List<@NonNull FireworkEffect> effects); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/FoodProperties.java b/src/main/java/io/papermc/paper/component/item/FoodProperties.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/FoodProperties.java b/src/main/java/io/papermc/paper/datacomponent/item/FoodProperties.java new file mode 100644 -index 0000000000000000000000000000000000000000..18acee6c417e477770535e9c85a8efdf3700696d +index 0000000000000000000000000000000000000000..f431e1d6fbf5c1d9dbd59f513cf2ba4af4e2786f --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/FoodProperties.java -@@ -0,0 +1,109 @@ -+package io.papermc.paper.component.item; ++++ b/src/main/java/io/papermc/paper/datacomponent/item/FoodProperties.java +@@ -0,0 +1,108 @@ ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.List; +import org.bukkit.inventory.ItemStack; +import org.bukkit.potion.PotionEffect; @@ -933,7 +937,6 @@ index 0000000000000000000000000000000000000000..18acee6c417e477770535e9c85a8efdf +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.Contract; +import org.jetbrains.annotations.Nullable; -+import org.jetbrains.annotations.Range; +import org.jetbrains.annotations.Unmodifiable; + @@ -1031,19 +1034,17 @@ index 0000000000000000000000000000000000000000..18acee6c417e477770535e9c85a8efdf + @NonNull Builder addAllEffects(@NonNull List<@NonNull PossibleEffect> effects); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/ItemAdventurePredicate.java b/src/main/java/io/papermc/paper/component/item/ItemAdventurePredicate.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/ItemAdventurePredicate.java b/src/main/java/io/papermc/paper/datacomponent/item/ItemAdventurePredicate.java new file mode 100644 -index 0000000000000000000000000000000000000000..3a16423dc37c6a56d86c1f07518c601ef6fbcbbc +index 0000000000000000000000000000000000000000..be1042bc02a41b837eeedfe4877dcf2106db05f5 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/ItemAdventurePredicate.java -@@ -0,0 +1,42 @@ -+package io.papermc.paper.component.item; ++++ b/src/main/java/io/papermc/paper/datacomponent/item/ItemAdventurePredicate.java +@@ -0,0 +1,40 @@ ++package io.papermc.paper.datacomponent.item; + +import io.papermc.paper.block.BlockPredicate; -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.List; -+import org.bukkit.attribute.Attribute; -+import org.bukkit.attribute.AttributeModifier; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.Contract; @@ -1079,15 +1080,15 @@ index 0000000000000000000000000000000000000000..3a16423dc37c6a56d86c1f07518c601e + @NonNull Builder addPredicate(@NonNull BlockPredicate predicate); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/ItemArmorTrim.java b/src/main/java/io/papermc/paper/component/item/ItemArmorTrim.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/ItemArmorTrim.java b/src/main/java/io/papermc/paper/datacomponent/item/ItemArmorTrim.java new file mode 100644 -index 0000000000000000000000000000000000000000..5a288237162c75fb0e969b894b719ba09a0c4a02 +index 0000000000000000000000000000000000000000..8c806c19cf294a08078c6a5b89107d16528b02f5 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/ItemArmorTrim.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/ItemArmorTrim.java @@ -0,0 +1,43 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import org.bukkit.inventory.meta.trim.ArmorTrim; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; @@ -1128,15 +1129,15 @@ index 0000000000000000000000000000000000000000..5a288237162c75fb0e969b894b719ba0 + @NonNull Builder armorTrim(@NonNull ArmorTrim armorTrim); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/ItemAttributeModifiers.java b/src/main/java/io/papermc/paper/component/item/ItemAttributeModifiers.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/ItemAttributeModifiers.java b/src/main/java/io/papermc/paper/datacomponent/item/ItemAttributeModifiers.java new file mode 100644 -index 0000000000000000000000000000000000000000..3faf44b7864119f8bd14cfb835d91d29b6d48bbf +index 0000000000000000000000000000000000000000..2fdb6e02235ea28c63bb0b3b6edeecef98a1b996 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/ItemAttributeModifiers.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/ItemAttributeModifiers.java @@ -0,0 +1,55 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.List; +import org.bukkit.attribute.Attribute; +import org.bukkit.attribute.AttributeModifier; @@ -1189,15 +1190,15 @@ index 0000000000000000000000000000000000000000..3faf44b7864119f8bd14cfb835d91d29 + @NonNull Builder addModifier(@NonNull Attribute attribute, @NonNull AttributeModifier attributeModifier); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/ItemContainerContents.java b/src/main/java/io/papermc/paper/component/item/ItemContainerContents.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/ItemContainerContents.java b/src/main/java/io/papermc/paper/datacomponent/item/ItemContainerContents.java new file mode 100644 -index 0000000000000000000000000000000000000000..41c91487c3e60c744dba7cf0be86adce97bf5e4d +index 0000000000000000000000000000000000000000..a748ef9a97a3aa1bba794470cc7c2a8ca58e7ecf --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/ItemContainerContents.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/ItemContainerContents.java @@ -0,0 +1,42 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.Arrays; +import java.util.List; +import org.bukkit.inventory.ItemStack; @@ -1237,15 +1238,15 @@ index 0000000000000000000000000000000000000000..41c91487c3e60c744dba7cf0be86adce + @NonNull Builder addAll(@NonNull List<@NonNull ItemStack> itemStacks); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/ItemEnchantments.java b/src/main/java/io/papermc/paper/component/item/ItemEnchantments.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/ItemEnchantments.java b/src/main/java/io/papermc/paper/datacomponent/item/ItemEnchantments.java new file mode 100644 -index 0000000000000000000000000000000000000000..bc4773e8cac7a06dd92923486aa58615d6c0eb41 +index 0000000000000000000000000000000000000000..1ac01e0937c33c2588af383ec18f50190c852060 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/ItemEnchantments.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/ItemEnchantments.java @@ -0,0 +1,55 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.Map; +import org.bukkit.enchantments.Enchantment; +import org.checkerframework.checker.nullness.qual.NonNull; @@ -1298,15 +1299,15 @@ index 0000000000000000000000000000000000000000..bc4773e8cac7a06dd92923486aa58615 + @NonNull Builder addAll(@NonNull Map<@NonNull Enchantment, @NonNull @IntRange(from = 0, to = 255) Integer> enchantments); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/ItemLore.java b/src/main/java/io/papermc/paper/component/item/ItemLore.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/ItemLore.java b/src/main/java/io/papermc/paper/datacomponent/item/ItemLore.java new file mode 100644 -index 0000000000000000000000000000000000000000..35ae4f276be7edfd293a1ba3b4bebb99972f3e0d +index 0000000000000000000000000000000000000000..655ca9fedbf4e5c12ec2016c5779e47431a459e1 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/ItemLore.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/ItemLore.java @@ -0,0 +1,69 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.List; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.ComponentLike; @@ -1373,23 +1374,19 @@ index 0000000000000000000000000000000000000000..35ae4f276be7edfd293a1ba3b4bebb99 + @NonNull Builder addAllLines(@NonNull List<@NonNull ? extends ComponentLike> lines); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/JukeboxPlayable.java b/src/main/java/io/papermc/paper/component/item/JukeboxPlayable.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/JukeboxPlayable.java b/src/main/java/io/papermc/paper/datacomponent/item/JukeboxPlayable.java new file mode 100644 -index 0000000000000000000000000000000000000000..d039388819d241a8ffeadab5d806387b61a0f9db +index 0000000000000000000000000000000000000000..27121491d961fac5f2492ba2fb786682164e9791 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/JukeboxPlayable.java -@@ -0,0 +1,30 @@ -+package io.papermc.paper.component.item; ++++ b/src/main/java/io/papermc/paper/datacomponent/item/JukeboxPlayable.java +@@ -0,0 +1,26 @@ ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import org.bukkit.JukeboxSong; -+import org.bukkit.attribute.Attribute; -+import org.bukkit.attribute.AttributeModifier; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.Contract; -+import org.jetbrains.annotations.Unmodifiable; -+import java.util.List; + +public interface JukeboxPlayable extends ShownInTooltip<JukeboxPlayable> { + @@ -1409,13 +1406,13 @@ index 0000000000000000000000000000000000000000..d039388819d241a8ffeadab5d806387b + Builder jukeboxSong(@NonNull JukeboxSong song); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/LockCode.java b/src/main/java/io/papermc/paper/component/item/LockCode.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/LockCode.java b/src/main/java/io/papermc/paper/datacomponent/item/LockCode.java new file mode 100644 -index 0000000000000000000000000000000000000000..dfcd12fe3fed01ff93bce6eca732bd6f1f4cf5fd +index 0000000000000000000000000000000000000000..cf6a2e8e6640deeae05283b3cb5755a417d01484 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/LockCode.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/LockCode.java @@ -0,0 +1,27 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; @@ -1442,15 +1439,15 @@ index 0000000000000000000000000000000000000000..dfcd12fe3fed01ff93bce6eca732bd6f + @NonNull LockCode build(); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/LodestoneTracker.java b/src/main/java/io/papermc/paper/component/item/LodestoneTracker.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/LodestoneTracker.java b/src/main/java/io/papermc/paper/datacomponent/item/LodestoneTracker.java new file mode 100644 -index 0000000000000000000000000000000000000000..316e3e0894c0d5cc0a7b304a815803f90eb2c766 +index 0000000000000000000000000000000000000000..3b99f6b9cfeba3fdb37aaea92c7f6de19c222373 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/LodestoneTracker.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/LodestoneTracker.java @@ -0,0 +1,59 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import org.bukkit.Location; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.nullness.qual.Nullable; @@ -1507,15 +1504,15 @@ index 0000000000000000000000000000000000000000..316e3e0894c0d5cc0a7b304a815803f9 + @NonNull Builder tracked(boolean tracked); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/MapDecorations.java b/src/main/java/io/papermc/paper/component/item/MapDecorations.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/MapDecorations.java b/src/main/java/io/papermc/paper/datacomponent/item/MapDecorations.java new file mode 100644 -index 0000000000000000000000000000000000000000..589be7348bfef06fe628696d56748a9d44fca177 +index 0000000000000000000000000000000000000000..da18b602778bf4c6fc536988d89f77d4585da454 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/MapDecorations.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/MapDecorations.java @@ -0,0 +1,98 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.Map; +import org.bukkit.map.MapCursor; +import org.checkerframework.checker.nullness.qual.NonNull; @@ -1611,13 +1608,13 @@ index 0000000000000000000000000000000000000000..589be7348bfef06fe628696d56748a9d + MapDecorations.@NonNull Builder putAll(@NonNull Map<@NonNull String, @NonNull DecorationEntry> entries); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/MapID.java b/src/main/java/io/papermc/paper/component/item/MapID.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/MapID.java b/src/main/java/io/papermc/paper/datacomponent/item/MapID.java new file mode 100644 -index 0000000000000000000000000000000000000000..d4a8ff6c9f82b35bf339f4cfa171a95c74327c7e +index 0000000000000000000000000000000000000000..17cf58c3577a9d352686b4fcb08e7da629b8af94 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/MapID.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/MapID.java @@ -0,0 +1,39 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; @@ -1656,13 +1653,13 @@ index 0000000000000000000000000000000000000000..d4a8ff6c9f82b35bf339f4cfa171a95c + @NonNull MapID build(); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/MapItemColor.java b/src/main/java/io/papermc/paper/component/item/MapItemColor.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/MapItemColor.java b/src/main/java/io/papermc/paper/datacomponent/item/MapItemColor.java new file mode 100644 -index 0000000000000000000000000000000000000000..fdcf1f092fe52d9f111b47651a5f7eba6d28692d +index 0000000000000000000000000000000000000000..0f4186034ecb6ad1effa681870d24005f0ebe677 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/MapItemColor.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/MapItemColor.java @@ -0,0 +1,39 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + +import org.bukkit.Color; +import org.checkerframework.checker.nullness.qual.NonNull; @@ -1701,27 +1698,27 @@ index 0000000000000000000000000000000000000000..fdcf1f092fe52d9f111b47651a5f7eba + @NonNull MapItemColor build(); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/MapPostProcessing.java b/src/main/java/io/papermc/paper/component/item/MapPostProcessing.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/MapPostProcessing.java b/src/main/java/io/papermc/paper/datacomponent/item/MapPostProcessing.java new file mode 100644 -index 0000000000000000000000000000000000000000..0b26ee6870600557b82a6ea37e2789dcb5e267c8 +index 0000000000000000000000000000000000000000..acdede37bf2625698e9a6c0521e7e98a5fd9c377 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/MapPostProcessing.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/MapPostProcessing.java @@ -0,0 +1,6 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + +public enum MapPostProcessing { + LOCK, + SCALE +} -diff --git a/src/main/java/io/papermc/paper/component/item/PotDecorations.java b/src/main/java/io/papermc/paper/component/item/PotDecorations.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/PotDecorations.java b/src/main/java/io/papermc/paper/datacomponent/item/PotDecorations.java new file mode 100644 -index 0000000000000000000000000000000000000000..fb2f3d705102cf67c847b2b2d38cc239c89b6716 +index 0000000000000000000000000000000000000000..abd94c0c900f7c2bf936e0c5c28ec92847db39ec --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/PotDecorations.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/PotDecorations.java @@ -0,0 +1,50 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import org.bukkit.Material; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.nullness.qual.Nullable; @@ -1769,15 +1766,15 @@ index 0000000000000000000000000000000000000000..fb2f3d705102cf67c847b2b2d38cc239 + Builder front(@Nullable Material font); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/PotionContents.java b/src/main/java/io/papermc/paper/component/item/PotionContents.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/PotionContents.java b/src/main/java/io/papermc/paper/datacomponent/item/PotionContents.java new file mode 100644 -index 0000000000000000000000000000000000000000..d25430f52d95f90875f4052b39e652282275c8e7 +index 0000000000000000000000000000000000000000..321f317248834713361985fad47180fc045d1c82 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/PotionContents.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/PotionContents.java @@ -0,0 +1,85 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.List; +import org.bukkit.Color; +import org.bukkit.potion.PotionEffect; @@ -1860,17 +1857,17 @@ index 0000000000000000000000000000000000000000..d25430f52d95f90875f4052b39e65228 + @NonNull Builder addAll(@NonNull List<@NonNull PotionEffect> potionEffects); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/ResolvableProfile.java b/src/main/java/io/papermc/paper/component/item/ResolvableProfile.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/ResolvableProfile.java b/src/main/java/io/papermc/paper/datacomponent/item/ResolvableProfile.java new file mode 100644 -index 0000000000000000000000000000000000000000..89c4314048cfb277026c9f5e9a7c05494b3f4c02 +index 0000000000000000000000000000000000000000..10cb1af6c976659f80839ce46cdddcc89ed20681 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/ResolvableProfile.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/ResolvableProfile.java @@ -0,0 +1,51 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + +import com.destroystokyo.paper.profile.PlayerProfile; +import com.destroystokyo.paper.profile.ProfileProperty; -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.Collection; +import java.util.List; +import java.util.UUID; @@ -1917,15 +1914,15 @@ index 0000000000000000000000000000000000000000..89c4314048cfb277026c9f5e9a7c0549 + @NonNull Builder addAllProperties(@NonNull List<@NonNull ProfileProperty> properties); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/SeededContainerLoot.java b/src/main/java/io/papermc/paper/component/item/SeededContainerLoot.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/SeededContainerLoot.java b/src/main/java/io/papermc/paper/datacomponent/item/SeededContainerLoot.java new file mode 100644 -index 0000000000000000000000000000000000000000..4eb82c2611aa217c7053efc994b4b794a76e5e7c +index 0000000000000000000000000000000000000000..c857d9127aa0030b7f4f620242cbd9ba54dae015 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/SeededContainerLoot.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/SeededContainerLoot.java @@ -0,0 +1,37 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import net.kyori.adventure.key.Key; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; @@ -1960,13 +1957,13 @@ index 0000000000000000000000000000000000000000..4eb82c2611aa217c7053efc994b4b794 + @NonNull Builder seed(long seed); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/ShownInTooltip.java b/src/main/java/io/papermc/paper/component/item/ShownInTooltip.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/ShownInTooltip.java b/src/main/java/io/papermc/paper/datacomponent/item/ShownInTooltip.java new file mode 100644 -index 0000000000000000000000000000000000000000..75c4ede2e9a2913a2bd542935b0bcaba454ad749 +index 0000000000000000000000000000000000000000..1e39fc6779e324030fb2890a4568376ffe3e5fab --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/ShownInTooltip.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/ShownInTooltip.java @@ -0,0 +1,21 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; @@ -1987,15 +1984,15 @@ index 0000000000000000000000000000000000000000..75c4ede2e9a2913a2bd542935b0bcaba + @NonNull B showInTooltip(boolean showInTooltip); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/SuspiciousStewEffects.java b/src/main/java/io/papermc/paper/component/item/SuspiciousStewEffects.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/SuspiciousStewEffects.java b/src/main/java/io/papermc/paper/datacomponent/item/SuspiciousStewEffects.java new file mode 100644 -index 0000000000000000000000000000000000000000..84e1c430acb5f488dc6835c1269586873dae5026 +index 0000000000000000000000000000000000000000..b3055cd0b4446b5100ac85312a1cfbce4c8e6714 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/SuspiciousStewEffects.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/SuspiciousStewEffects.java @@ -0,0 +1,59 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import io.papermc.paper.potion.SuspiciousEffectEntry; +import java.util.Arrays; +import java.util.List; @@ -2052,28 +2049,24 @@ index 0000000000000000000000000000000000000000..84e1c430acb5f488dc6835c126958687 + @NonNull Builder addAll(@NonNull List<@NonNull SuspiciousEffectEntry> entries); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/Tool.java b/src/main/java/io/papermc/paper/component/item/Tool.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/Tool.java b/src/main/java/io/papermc/paper/datacomponent/item/Tool.java new file mode 100644 -index 0000000000000000000000000000000000000000..848cf03f35e2fe07373d8281082c1d8d633ad3f7 +index 0000000000000000000000000000000000000000..d5ab454e3012e310ca48a69fba3bd5e895c68fce --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/Tool.java -@@ -0,0 +1,128 @@ -+package io.papermc.paper.component.item; ++++ b/src/main/java/io/papermc/paper/datacomponent/item/Tool.java +@@ -0,0 +1,122 @@ ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import java.util.List; -+import java.util.Optional; +import io.papermc.paper.registry.set.RegistryKeySet; +import net.kyori.adventure.util.TriState; +import org.bukkit.block.BlockType; -+import org.bukkit.inventory.ItemStack; -+import org.bukkit.potion.PotionEffect; +import org.checkerframework.checker.index.qual.NonNegative; +import org.checkerframework.checker.nullness.qual.NonNull; ++import org.checkerframework.checker.nullness.qual.Nullable; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.Contract; -+import org.jetbrains.annotations.NotNull; -+import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.Unmodifiable; + +/** @@ -2111,11 +2104,11 @@ index 0000000000000000000000000000000000000000..848cf03f35e2fe07373d8281082c1d8d + @ApiStatus.NonExtendable + interface Rule { + -+ static @NonNull Rule of(final @NonNull RegistryKeySet<BlockType> blockTypes, final @Nullable Float speed, final @NotNull TriState correctForDrops) { ++ static @NonNull Rule of(final @NonNull RegistryKeySet<BlockType> blockTypes, final @Nullable Float speed, final @NonNull TriState correctForDrops) { + return ComponentTypesBridge.bridge().rule(blockTypes, speed, correctForDrops); + } + -+ static @NonNull Rule minesAndDrops(final @NonNull RegistryKeySet<BlockType> blocks, float speed) { ++ static @NonNull Rule minesAndDrops(final @NonNull RegistryKeySet<BlockType> blocks, final float speed) { + return of(blocks, speed, TriState.TRUE); + } + @@ -2123,7 +2116,7 @@ index 0000000000000000000000000000000000000000..848cf03f35e2fe07373d8281082c1d8d + return of(tag, null, TriState.FALSE); + } + -+ static @NonNull Rule overrideSpeed(final @NonNull RegistryKeySet<BlockType> tag, float speed) { ++ static @NonNull Rule overrideSpeed(final @NonNull RegistryKeySet<BlockType> tag, final float speed) { + return of(tag, speed, TriState.NOT_SET); + } + @@ -2139,15 +2132,13 @@ index 0000000000000000000000000000000000000000..848cf03f35e2fe07373d8281082c1d8d + * {@code true} will cause the block to mine at its most efficient speed, and drop items if the targeted block requires that. + * @return speed override + */ -+ @Nullable -+ Float speed(); ++ @Nullable Float speed(); + + /** + * Overrides whether this tool is considered 'correct' if present and matched. + * @return + */ -+ @NotNull -+ TriState correctForDrops(); ++ @NonNull TriState correctForDrops(); + } + + @ApiStatus.NonExtendable @@ -2159,7 +2150,7 @@ index 0000000000000000000000000000000000000000..848cf03f35e2fe07373d8281082c1d8d + * @return self + */ + @Contract(value = "_ -> this", mutates = "this") -+ @NonNull Builder damagePerBlock(@NonNull int damage); ++ @NonNull Builder damagePerBlock(int damage); + + /** + * Controls mining speed to use if no rules match and don't override mining speed. @@ -2186,15 +2177,15 @@ index 0000000000000000000000000000000000000000..848cf03f35e2fe07373d8281082c1d8d + @NonNull Builder addRules(@NonNull List<@NonNull Rule> rules); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/Unbreakable.java b/src/main/java/io/papermc/paper/component/item/Unbreakable.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/Unbreakable.java b/src/main/java/io/papermc/paper/datacomponent/item/Unbreakable.java new file mode 100644 -index 0000000000000000000000000000000000000000..bae28273ffa8017fecb24328f21b6a4622326273 +index 0000000000000000000000000000000000000000..ecd1130152d0bac324cfd1feeb38b86e9e9a5893 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/Unbreakable.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/Unbreakable.java @@ -0,0 +1,27 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.Contract; @@ -2219,15 +2210,15 @@ index 0000000000000000000000000000000000000000..bae28273ffa8017fecb24328f21b6a46 + interface Builder extends ShownInTooltip.Builder<Builder>, ComponentBuilder<Unbreakable> { + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/WritableBookContent.java b/src/main/java/io/papermc/paper/component/item/WritableBookContent.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/WritableBookContent.java b/src/main/java/io/papermc/paper/datacomponent/item/WritableBookContent.java new file mode 100644 -index 0000000000000000000000000000000000000000..368662920dda88a35d61c9f98d41e4a84626999d +index 0000000000000000000000000000000000000000..5e4909f44f902058cd41560c3efccef5049b2402 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/WritableBookContent.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/WritableBookContent.java @@ -0,0 +1,62 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import io.papermc.paper.util.Filtered; +import java.util.Collection; +import java.util.List; @@ -2287,15 +2278,15 @@ index 0000000000000000000000000000000000000000..368662920dda88a35d61c9f98d41e4a8 + @NonNull Builder addPagesFiltered(@NonNull Collection<@NonNull Filtered<@NonNull String>> pages); + } +} -diff --git a/src/main/java/io/papermc/paper/component/item/WrittenBookContent.java b/src/main/java/io/papermc/paper/component/item/WrittenBookContent.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/item/WrittenBookContent.java b/src/main/java/io/papermc/paper/datacomponent/item/WrittenBookContent.java new file mode 100644 -index 0000000000000000000000000000000000000000..f33aa2d9528b96df98b40cd9d0b052cfcebe20de +index 0000000000000000000000000000000000000000..de4927fa96ed799d2c80f47958dc5c4baa508ce4 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/item/WrittenBookContent.java ++++ b/src/main/java/io/papermc/paper/datacomponent/item/WrittenBookContent.java @@ -0,0 +1,92 @@ -+package io.papermc.paper.component.item; ++package io.papermc.paper.datacomponent.item; + -+import io.papermc.paper.component.ComponentBuilder; ++import io.papermc.paper.datacomponent.ComponentBuilder; +import io.papermc.paper.util.Filtered; +import java.util.Collection; +import java.util.List; @@ -2385,25 +2376,25 @@ index 0000000000000000000000000000000000000000..f33aa2d9528b96df98b40cd9d0b052cf + @NonNull Builder addPagesFiltered(@NonNull Collection<@NonNull Filtered<@NonNull ? extends ComponentLike>> pages); + } +} -diff --git a/src/main/java/io/papermc/paper/component/package-info.java b/src/main/java/io/papermc/paper/component/package-info.java +diff --git a/src/main/java/io/papermc/paper/datacomponent/package-info.java b/src/main/java/io/papermc/paper/datacomponent/package-info.java new file mode 100644 -index 0000000000000000000000000000000000000000..37c9e2b084fe4c82242ae64569bb76beb6a88c09 +index 0000000000000000000000000000000000000000..3ddd1f787e97c22eee3e32bb2a9660a8e300d7f9 --- /dev/null -+++ b/src/main/java/io/papermc/paper/component/package-info.java ++++ b/src/main/java/io/papermc/paper/datacomponent/package-info.java @@ -0,0 +1,5 @@ +@DefaultQualifier(NonNull.class) -+package io.papermc.paper.component; ++package io.papermc.paper.datacomponent; + +import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.framework.qual.DefaultQualifier; diff --git a/src/main/java/io/papermc/paper/registry/RegistryKey.java b/src/main/java/io/papermc/paper/registry/RegistryKey.java -index 2945dde566682f977e84fde5d473a6c69be24df1..f212fa95d1fdfee7f8465ffa06b68ba2045c8f14 100644 +index 2945dde566682f977e84fde5d473a6c69be24df1..6ab6e9d3a1fcb5fcb370e507164da70012e61e88 100644 --- a/src/main/java/io/papermc/paper/registry/RegistryKey.java +++ b/src/main/java/io/papermc/paper/registry/RegistryKey.java @@ -1,5 +1,6 @@ package io.papermc.paper.registry; -+import io.papermc.paper.component.DataComponentType; ++import io.papermc.paper.datacomponent.DataComponentType; import net.kyori.adventure.key.Keyed; import org.bukkit.Art; import org.bukkit.Fluid; @@ -2450,7 +2441,7 @@ index 0000000000000000000000000000000000000000..5c8cdf46bc12501e1f284b4760c48e79 + @Nullable T filtered(); +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 54704da43cf9c429f3914f0580246dde99aa93c0..a30cd6e6a72dc299a6a1cd26dc9dcd8af0d0c18e 100644 +index 54704da43cf9c429f3914f0580246dde99aa93c0..7f566e1b6de89923cc1eca079b00c10afc2ae981 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -130,7 +130,7 @@ import org.jetbrains.annotations.Nullable; @@ -2490,10 +2481,10 @@ index 54704da43cf9c429f3914f0580246dde99aa93c0..a30cd6e6a72dc299a6a1cd26dc9dcd8a + * @param dataComponentType the data component type + * @return the default value or null if there is none + * @param <T> the value type -+ * @see #hasDefaultData(io.papermc.paper.component.DataComponentType) for DataComponentType.NonValued ++ * @see #hasDefaultData(io.papermc.paper.datacomponent.DataComponentType) for DataComponentType.NonValued + * @throws IllegalArgumentException if {@link #isItem()} is false + */ -+ public @Nullable <T> T getDefaultData(final io.papermc.paper.component.DataComponentType.@NotNull Valued<T> dataComponentType) { ++ public @Nullable <T> T getDefaultData(final io.papermc.paper.datacomponent.DataComponentType.@NotNull Valued<T> dataComponentType) { + Preconditions.checkArgument(this.asItemType() != null); + return this.asItemType().getDefaultData(dataComponentType); + } @@ -2505,7 +2496,7 @@ index 54704da43cf9c429f3914f0580246dde99aa93c0..a30cd6e6a72dc299a6a1cd26dc9dcd8a + * @return true if there is a default value + * @throws IllegalArgumentException if {@link #isItem()} is false + */ -+ public boolean hasDefaultData(final io.papermc.paper.component.@NotNull DataComponentType dataComponentType) { ++ public boolean hasDefaultData(final io.papermc.paper.datacomponent.@NotNull DataComponentType dataComponentType) { + Preconditions.checkArgument(this.asItemType() != null); + return this.asItemType().hasDefaultData(dataComponentType); + } @@ -2516,14 +2507,14 @@ index 54704da43cf9c429f3914f0580246dde99aa93c0..a30cd6e6a72dc299a6a1cd26dc9dcd8a + * @return an immutable set of data component types + * @throws IllegalArgumentException if {@link #isItem()} is false + */ -+ public [email protected] @NotNull Set<io.papermc.paper.component.DataComponentType> getDefaultDataTypes() { ++ public [email protected] @NotNull Set<io.papermc.paper.datacomponent.DataComponentType> getDefaultDataTypes() { + Preconditions.checkArgument(this.asItemType() != null); + return this.asItemType().getDefaultDataTypes(); + } + // Paper end - data component API } diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 9725580b6458e5d37fbc6059869604f9883bd6d1..0e4f8505d47c55c52571e217265d7deeed645b8b 100644 +index 9725580b6458e5d37fbc6059869604f9883bd6d1..966bbc686280a1b7f479a2ff755e477662f4bcd2 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java @@ -348,6 +348,8 @@ public interface Registry<T extends Keyed> extends Iterable<T> { @@ -2531,12 +2522,12 @@ index 9725580b6458e5d37fbc6059869604f9883bd6d1..0e4f8505d47c55c52571e217265d7dee } }; + -+ Registry<io.papermc.paper.component.DataComponentType> DATA_COMPONENT_TYPE = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.DATA_COMPONENT_TYPE); // Paper ++ Registry<io.papermc.paper.datacomponent.DataComponentType> DATA_COMPONENT_TYPE = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.DATA_COMPONENT_TYPE); // Paper // Paper end - potion effect type registry /** * Get the object by its key. diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index f603b5b6ba80af919f415322583a8345a5b1358a..577fa629f8bf0fb3b90689ce391155e5fd898a72 100644 +index f603b5b6ba80af919f415322583a8345a5b1358a..26cb1e31a8169283f11b5a7af8a4fd52754095ae 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -1031,4 +1031,123 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat @@ -2551,10 +2542,10 @@ index f603b5b6ba80af919f415322583a8345a5b1358a..577fa629f8bf0fb3b90689ce391155e5 + * @param type the data component type + * @return the value for the data component type, or null if not set or marked as removed + * @param <T> the value type -+ * @see #hasData(io.papermc.paper.component.DataComponentType) for DataComponentType.NonValued ++ * @see #hasData(io.papermc.paper.datacomponent.DataComponentType) for DataComponentType.NonValued + */ + @org.jetbrains.annotations.Contract(pure = true) -+ public <T> @Nullable T getData(final io.papermc.paper.component.DataComponentType.@NotNull Valued<T> type) { ++ public <T> @Nullable T getData(final io.papermc.paper.datacomponent.DataComponentType.@NotNull Valued<T> type) { + return this.craftDelegate.getData(type); + } + @@ -2569,7 +2560,7 @@ index f603b5b6ba80af919f415322583a8345a5b1358a..577fa629f8bf0fb3b90689ce391155e5 + */ + @Utility + @org.jetbrains.annotations.Contract(value = "_, !null -> !null", pure = true) -+ public <T> @Nullable T getDataOrDefault(final io.papermc.paper.component.DataComponentType.@NotNull Valued<? extends T> type, final @Nullable T fallback) { ++ public <T> @Nullable T getDataOrDefault(final io.papermc.paper.datacomponent.DataComponentType.@NotNull Valued<? extends T> type, final @Nullable T fallback) { + final T object = this.getData(type); + return object != null ? object : fallback; + } @@ -2581,7 +2572,7 @@ index f603b5b6ba80af919f415322583a8345a5b1358a..577fa629f8bf0fb3b90689ce391155e5 + * @return true if set, false otherwise + */ + @org.jetbrains.annotations.Contract(pure = true) -+ public boolean hasData(final io.papermc.paper.component.@NotNull DataComponentType type) { ++ public boolean hasData(final io.papermc.paper.datacomponent.@NotNull DataComponentType type) { + return this.craftDelegate.hasData(type); + } + @@ -2591,36 +2582,36 @@ index f603b5b6ba80af919f415322583a8345a5b1358a..577fa629f8bf0fb3b90689ce391155e5 + * @return an immutable set of data component types + */ + @org.jetbrains.annotations.Contract("-> new") -+ public [email protected] Set<io.papermc.paper.component.@NotNull DataComponentType> getDataTypes() { ++ public [email protected] Set<io.papermc.paper.datacomponent.@NotNull DataComponentType> getDataTypes() { + return this.craftDelegate.getDataTypes(); + } + + /** + * Sets the value of the data component type for this itemstack. To + * reset the value to the default for the {@link #getType() item type}, use -+ * {@link #resetData(io.papermc.paper.component.DataComponentType)}. To mark the data component type -+ * as removed, use {@link #unsetData(io.papermc.paper.component.DataComponentType)} ++ * {@link #resetData(io.papermc.paper.datacomponent.DataComponentType)}. To mark the data component type ++ * as removed, use {@link #unsetData(io.papermc.paper.datacomponent.DataComponentType)} + * + * @param type component type + * @param valueBuilder value builder + * @param <T> value type + */ + @Utility -+ public <T> void setData(final io.papermc.paper.component.DataComponentType.@NotNull Valued<T> type, final io.papermc.paper.component.@NotNull ComponentBuilder<T> valueBuilder) { ++ public <T> void setData(final io.papermc.paper.datacomponent.DataComponentType.@NotNull Valued<T> type, final io.papermc.paper.datacomponent.@NotNull ComponentBuilder<T> valueBuilder) { + this.setData(type, valueBuilder.build()); + } + + /** + * Sets the value of the data component type for this itemstack. To + * reset the value to the default for the {@link #getType() item type}, use -+ * {@link #resetData(io.papermc.paper.component.DataComponentType)}. To mark the data component type -+ * as removed, use {@link #unsetData(io.papermc.paper.component.DataComponentType)} ++ * {@link #resetData(io.papermc.paper.datacomponent.DataComponentType)}. To mark the data component type ++ * as removed, use {@link #unsetData(io.papermc.paper.datacomponent.DataComponentType)} + * + * @param type component type + * @param value value to set + * @param <T> value type + */ -+ public <T> void setData(final io.papermc.paper.component.DataComponentType.@NotNull Valued<T> type, final @NotNull T value) { ++ public <T> void setData(final io.papermc.paper.datacomponent.DataComponentType.@NotNull Valued<T> type, final @NotNull T value) { + this.craftDelegate.setData(type, value); + } + @@ -2629,7 +2620,7 @@ index f603b5b6ba80af919f415322583a8345a5b1358a..577fa629f8bf0fb3b90689ce391155e5 + * + * @param type type + */ -+ public void setData(final io.papermc.paper.component.DataComponentType.@NotNull NonValued type) { ++ public void setData(final io.papermc.paper.datacomponent.DataComponentType.@NotNull NonValued type) { + this.craftDelegate.setData(type); + } + @@ -2638,16 +2629,16 @@ index f603b5b6ba80af919f415322583a8345a5b1358a..577fa629f8bf0fb3b90689ce391155e5 + * + * @param type data component type + */ -+ public void unsetData(final io.papermc.paper.component.@NotNull DataComponentType type) { ++ public void unsetData(final io.papermc.paper.datacomponent.@NotNull DataComponentType type) { + this.craftDelegate.unsetData(type); + } + + /** + * Resets the value of this component to be the default -+ * value for the item type from {@link Material#getDefaultData(io.papermc.paper.component.DataComponentType.Valued)} ++ * value for the item type from {@link Material#getDefaultData(io.papermc.paper.datacomponent.DataComponentType.Valued)} + * @param type data component type to reset + */ -+ public void resetData(final io.papermc.paper.component.@NotNull DataComponentType type) { ++ public void resetData(final io.papermc.paper.datacomponent.@NotNull DataComponentType type) { + this.craftDelegate.resetData(type); + } + @@ -2658,13 +2649,13 @@ index f603b5b6ba80af919f415322583a8345a5b1358a..577fa629f8bf0fb3b90689ce391155e5 + * @param type the data component type + * @return true if the data type is overridden + */ -+ public boolean isOverridden(final io.papermc.paper.component.@NotNull DataComponentType type) { ++ public boolean isOverridden(final io.papermc.paper.datacomponent.@NotNull DataComponentType type) { + return this.craftDelegate.isOverridden(type); + } + // Paper end - data component API } diff --git a/src/main/java/org/bukkit/inventory/ItemType.java b/src/main/java/org/bukkit/inventory/ItemType.java -index 6bc1853ada3ea38bc36cb31fbb5ce246347fe5d4..a985de6eeeee2b4a856dbcfb403cfe128235dd24 100644 +index 6bc1853ada3ea38bc36cb31fbb5ce246347fe5d4..a5d2ba61678bb55ee6ff44026f58e15fa7f1e466 100644 --- a/src/main/java/org/bukkit/inventory/ItemType.java +++ b/src/main/java/org/bukkit/inventory/ItemType.java @@ -2326,4 +2326,31 @@ public interface ItemType extends Keyed, Translatable, net.kyori.adventure.trans @@ -2679,9 +2670,9 @@ index 6bc1853ada3ea38bc36cb31fbb5ce246347fe5d4..a985de6eeeee2b4a856dbcfb403cfe12 + * @param dataComponentType the data component type + * @return the default value or null if there is none + * @param <T> the value type -+ * @see #hasDefaultData(io.papermc.paper.component.DataComponentType) for DataComponentType.NonValued ++ * @see #hasDefaultData(io.papermc.paper.datacomponent.DataComponentType) for DataComponentType.NonValued + */ -+ @Nullable <T> T getDefaultData(io.papermc.paper.component.DataComponentType.@NotNull Valued<T> dataComponentType); ++ @Nullable <T> T getDefaultData(io.papermc.paper.datacomponent.DataComponentType.@NotNull Valued<T> dataComponentType); + + /** + * Checks if the data component type has a default value for this ItemType. @@ -2689,13 +2680,13 @@ index 6bc1853ada3ea38bc36cb31fbb5ce246347fe5d4..a985de6eeeee2b4a856dbcfb403cfe12 + * @param dataComponentType the data component type + * @return true if there is a default value + */ -+ boolean hasDefaultData(io.papermc.paper.component.@NotNull DataComponentType dataComponentType); ++ boolean hasDefaultData(io.papermc.paper.datacomponent.@NotNull DataComponentType dataComponentType); + + /** + * Gets the default data component types for this ItemType. + * + * @return an immutable set of data component types + */ -+ [email protected] @NotNull Set<io.papermc.paper.component.DataComponentType> getDefaultDataTypes(); ++ [email protected] @NotNull Set<io.papermc.paper.datacomponent.DataComponentType> getDefaultDataTypes(); + // Paper end - data component API } |