diff --git a/api/src/main/java/org/allaymc/api/item/component/ItemBaseComponent.java b/api/src/main/java/org/allaymc/api/item/component/ItemBaseComponent.java index 5096966a07..4f7825b787 100644 --- a/api/src/main/java/org/allaymc/api/item/component/ItemBaseComponent.java +++ b/api/src/main/java/org/allaymc/api/item/component/ItemBaseComponent.java @@ -16,6 +16,7 @@ import org.allaymc.api.pdc.PersistentDataHolder; import org.allaymc.api.world.Dimension; import org.cloudburstmc.nbt.NbtMap; +import org.cloudburstmc.protocol.bedrock.data.inventory.CreativeItemData; import org.cloudburstmc.protocol.bedrock.data.inventory.ItemData; import org.jetbrains.annotations.ApiStatus; import org.joml.Vector3ic; @@ -181,6 +182,19 @@ default void increaseCount(int count) { */ ItemData toNetworkItemData(); + /** + * Get the creative item data. + * + * @return The creative item data. + */ + default CreativeItemData toCreativeItemData() { + var netItem = toNetworkItemData(); + return CreativeItemData.builder() + .item(netItem) + .netId(netItem.getNetId()) + .build(); + } + /** * Check if the item has a stack network id. * diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 34a2cbbe11..889ee3d4fc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,7 @@ nbt = { group = "org.allaymc", name = "NBT", version = "3.0.10" } # Network protocol network = { group = "org.cloudburstmc.protocol", name = "bedrock-connection", version = "3.0.0.Beta6-SNAPSHOT" } # State Updater -stateupdater = { group = "org.allaymc", name = "stateupdater", version = "1.21.50" } +stateupdater = { group = "org.allaymc", name = "stateupdater", version = "1.21.60" } # Collections guava = { group = "com.google.guava", name = "guava", version = "33.4.0-jre" } # Fastutil diff --git a/server/src/main/java/org/allaymc/server/entity/component/player/EntityPlayerNetworkComponentImpl.java b/server/src/main/java/org/allaymc/server/entity/component/player/EntityPlayerNetworkComponentImpl.java index 8584dd6292..8d73d5ff3d 100644 --- a/server/src/main/java/org/allaymc/server/entity/component/player/EntityPlayerNetworkComponentImpl.java +++ b/server/src/main/java/org/allaymc/server/entity/component/player/EntityPlayerNetworkComponentImpl.java @@ -48,7 +48,6 @@ import org.cloudburstmc.protocol.bedrock.data.*; import org.cloudburstmc.protocol.bedrock.data.definitions.BlockDefinition; import org.cloudburstmc.protocol.bedrock.data.definitions.ItemDefinition; -import org.cloudburstmc.protocol.bedrock.data.inventory.ItemData; import org.cloudburstmc.protocol.bedrock.packet.*; import org.cloudburstmc.protocol.common.PacketSignal; import org.cloudburstmc.protocol.common.SimpleDefinitionRegistry; @@ -465,7 +464,7 @@ public static CreativeContentPacket getCreativeContentPacket() { CREATIVE_CONTENT_PACKET = new CreativeContentPacket(); // We should sort it first! var map = new TreeMap<>(Registries.CREATIVE_ITEMS.getContent()); - CREATIVE_CONTENT_PACKET.setContents(map.values().stream().map(ItemStack::toNetworkItemData).toArray(ItemData[]::new)); + CREATIVE_CONTENT_PACKET.getContents().addAll(map.values().stream().map(ItemStack::toCreativeItemData).toList()); } return CREATIVE_CONTENT_PACKET; }