From 8f87e30d1e3f684e80bdb6786ba4417fcf3c6af1 Mon Sep 17 00:00:00 2001 From: Pyrofab Date: Sun, 14 Apr 2024 15:43:33 +0200 Subject: [PATCH] Make AutoSyncedComponent use RegistryByteBuf --- .../api/v3/component/sync/AutoSyncedComponent.java | 12 ++++++------ .../api/v3/component/sync/ComponentPacketWriter.java | 4 ++-- .../cca/internal/CardinalComponentsBlock.java | 3 +-- .../org/ladysnake/cca/test/block/VitaCompound.java | 6 +++--- .../internal/entity/CardinalComponentsEntity.java | 3 +-- .../org/ladysnake/cca/test/entity/PlayerVita.java | 5 +++-- .../cca/internal/level/CardinalComponentsLevel.java | 3 +-- .../scoreboard/CardinalComponentsScoreboard.java | 5 ++--- .../org/ladysnake/cca/test/world/AmbientVita.java | 6 +++--- 9 files changed, 22 insertions(+), 25 deletions(-) diff --git a/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/sync/AutoSyncedComponent.java b/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/sync/AutoSyncedComponent.java index 6e173e88..08e36682 100644 --- a/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/sync/AutoSyncedComponent.java +++ b/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/sync/AutoSyncedComponent.java @@ -26,7 +26,7 @@ import com.demonwav.mcdev.annotations.Env; import net.minecraft.entity.Entity; import net.minecraft.nbt.NbtCompound; -import net.minecraft.network.PacketByteBuf; +import net.minecraft.network.RegistryByteBuf; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.world.World; import org.jetbrains.annotations.Contract; @@ -75,11 +75,11 @@ default boolean shouldSyncWith(ServerPlayerEntity player) { * nearly always provide a better implementation. * @see ComponentKey#sync(Object) * @see ComponentKey#sync(Object, ComponentPacketWriter) - * @see #applySyncPacket(PacketByteBuf) + * @see #applySyncPacket(RegistryByteBuf) */ @Contract(mutates = "param1") @Override - default void writeSyncPacket(PacketByteBuf buf, ServerPlayerEntity recipient) { + default void writeSyncPacket(RegistryByteBuf buf, ServerPlayerEntity recipient) { NbtCompound tag = new NbtCompound(); this.writeToNbt(tag); buf.writeNbt(tag); @@ -90,12 +90,12 @@ default void writeSyncPacket(PacketByteBuf buf, ServerPlayerEntity recipient) { * * @implSpec The default implementation converts the buffer's content * to a {@link NbtCompound} and calls {@link #readFromNbt(NbtCompound)}. - * @implNote any implementing class overriding {@link #writeSyncPacket(PacketByteBuf, ServerPlayerEntity)} + * @implNote any implementing class overriding {@link #writeSyncPacket(RegistryByteBuf, ServerPlayerEntity)} * such that it uses a different data format must override this method. - * @see #writeSyncPacket(PacketByteBuf, ServerPlayerEntity) + * @see #writeSyncPacket(RegistryByteBuf, ServerPlayerEntity) */ @CheckEnv(Env.CLIENT) - default void applySyncPacket(PacketByteBuf buf) { + default void applySyncPacket(RegistryByteBuf buf) { NbtCompound tag = buf.readNbt(); if (tag != null) { this.readFromNbt(tag); diff --git a/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/sync/ComponentPacketWriter.java b/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/sync/ComponentPacketWriter.java index 6fc6d5a6..84eef96c 100644 --- a/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/sync/ComponentPacketWriter.java +++ b/cardinal-components-base/src/main/java/org/ladysnake/cca/api/v3/component/sync/ComponentPacketWriter.java @@ -22,12 +22,12 @@ */ package org.ladysnake.cca.api.v3.component.sync; -import net.minecraft.network.PacketByteBuf; +import net.minecraft.network.RegistryByteBuf; import net.minecraft.server.network.ServerPlayerEntity; import org.jetbrains.annotations.Contract; @FunctionalInterface public interface ComponentPacketWriter { @Contract(mutates = "param1") - void writeSyncPacket(PacketByteBuf buf, ServerPlayerEntity recipient); + void writeSyncPacket(RegistryByteBuf buf, ServerPlayerEntity recipient); } diff --git a/cardinal-components-block/src/main/java/org/ladysnake/cca/internal/CardinalComponentsBlock.java b/cardinal-components-block/src/main/java/org/ladysnake/cca/internal/CardinalComponentsBlock.java index aa150d11..85781a0c 100644 --- a/cardinal-components-block/src/main/java/org/ladysnake/cca/internal/CardinalComponentsBlock.java +++ b/cardinal-components-block/src/main/java/org/ladysnake/cca/internal/CardinalComponentsBlock.java @@ -24,7 +24,6 @@ import net.fabricmc.fabric.api.event.lifecycle.v1.ServerBlockEntityEvents; import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.network.PacketByteBuf; import net.minecraft.network.packet.CustomPayload; import net.minecraft.network.packet.s2c.common.CustomPayloadS2CPacket; import org.ladysnake.cca.api.v3.block.BlockEntitySyncAroundCallback; @@ -39,7 +38,7 @@ public class CardinalComponentsBlock { /** * {@link CustomPayloadS2CPacket} channel for default block entity component synchronization. * - *

Components synchronized through this channel will have {@linkplain AutoSyncedComponent#applySyncPacket(PacketByteBuf)} + *

Components synchronized through this channel will have {@linkplain AutoSyncedComponent#applySyncPacket(net.minecraft.network.RegistryByteBuf)} * called on the game thread. */ public static final CustomPayload.Id> PACKET_ID = CustomPayload.id("cardinal-components:block_entity_sync"); diff --git a/cardinal-components-block/src/testmod/java/org/ladysnake/cca/test/block/VitaCompound.java b/cardinal-components-block/src/testmod/java/org/ladysnake/cca/test/block/VitaCompound.java index e11f0373..7f79fc81 100644 --- a/cardinal-components-block/src/testmod/java/org/ladysnake/cca/test/block/VitaCompound.java +++ b/cardinal-components-block/src/testmod/java/org/ladysnake/cca/test/block/VitaCompound.java @@ -25,7 +25,7 @@ import net.minecraft.block.entity.BlockEntity; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtElement; -import net.minecraft.network.PacketByteBuf; +import net.minecraft.network.RegistryByteBuf; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; import net.minecraft.util.Util; @@ -75,7 +75,7 @@ public boolean shouldSyncWith(ServerPlayerEntity player) { } @Override - public void writeSyncPacket(PacketByteBuf buf, ServerPlayerEntity recipient) { + public void writeSyncPacket(RegistryByteBuf buf, ServerPlayerEntity recipient) { for (SyncedVita value : this.storage.values()) { if (value.shouldSyncWith(recipient)) { value.writeSyncPacket(buf, recipient); @@ -84,7 +84,7 @@ public void writeSyncPacket(PacketByteBuf buf, ServerPlayerEntity recipient) { } @Override - public void applySyncPacket(PacketByteBuf buf) { + public void applySyncPacket(RegistryByteBuf buf) { for (SyncedVita value : this.storage.values()) { value.applySyncPacket(buf); } diff --git a/cardinal-components-entity/src/main/java/org/ladysnake/cca/internal/entity/CardinalComponentsEntity.java b/cardinal-components-entity/src/main/java/org/ladysnake/cca/internal/entity/CardinalComponentsEntity.java index e8ce79bd..2858f908 100644 --- a/cardinal-components-entity/src/main/java/org/ladysnake/cca/internal/entity/CardinalComponentsEntity.java +++ b/cardinal-components-entity/src/main/java/org/ladysnake/cca/internal/entity/CardinalComponentsEntity.java @@ -26,7 +26,6 @@ import net.fabricmc.fabric.api.event.lifecycle.v1.ServerEntityEvents; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.entity.Entity; -import net.minecraft.network.PacketByteBuf; import net.minecraft.network.codec.PacketCodecs; import net.minecraft.network.packet.CustomPayload; import net.minecraft.network.packet.s2c.common.CustomPayloadS2CPacket; @@ -47,7 +46,7 @@ public final class CardinalComponentsEntity { /** * {@link CustomPayloadS2CPacket} channel for default entity component synchronization. * - *

Components synchronized through this channel will have {@linkplain AutoSyncedComponent#applySyncPacket(PacketByteBuf)} + *

Components synchronized through this channel will have {@linkplain AutoSyncedComponent#applySyncPacket(net.minecraft.network.RegistryByteBuf)} * called on the game thread. */ public static final CustomPayload.Id> PACKET_ID = CustomPayload.id("cardinal-components:entity_sync"); diff --git a/cardinal-components-entity/src/testmod/java/org/ladysnake/cca/test/entity/PlayerVita.java b/cardinal-components-entity/src/testmod/java/org/ladysnake/cca/test/entity/PlayerVita.java index 8cb0789b..00f7b2a1 100644 --- a/cardinal-components-entity/src/testmod/java/org/ladysnake/cca/test/entity/PlayerVita.java +++ b/cardinal-components-entity/src/testmod/java/org/ladysnake/cca/test/entity/PlayerVita.java @@ -25,6 +25,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.PacketByteBuf; +import net.minecraft.network.RegistryByteBuf; import net.minecraft.particle.ParticleTypes; import net.minecraft.server.network.ServerPlayerEntity; import org.jetbrains.annotations.NotNull; @@ -69,7 +70,7 @@ public boolean shouldSyncWith(ServerPlayerEntity player) { } @Override - public void writeSyncPacket(PacketByteBuf buf, ServerPlayerEntity recipient) { + public void writeSyncPacket(RegistryByteBuf buf, ServerPlayerEntity recipient) { this.writeSyncPacket(buf, recipient, 0); } @@ -83,7 +84,7 @@ private void writeSyncPacket(PacketByteBuf buf, ServerPlayerEntity recipient, in } @Override - public void applySyncPacket(PacketByteBuf buf) { + public void applySyncPacket(RegistryByteBuf buf) { int flags = buf.readByte(); if ((flags & 1) != 0) { this.vitality = buf.readVarInt(); diff --git a/cardinal-components-level/src/main/java/org/ladysnake/cca/internal/level/CardinalComponentsLevel.java b/cardinal-components-level/src/main/java/org/ladysnake/cca/internal/level/CardinalComponentsLevel.java index d0dfbd24..77795017 100644 --- a/cardinal-components-level/src/main/java/org/ladysnake/cca/internal/level/CardinalComponentsLevel.java +++ b/cardinal-components-level/src/main/java/org/ladysnake/cca/internal/level/CardinalComponentsLevel.java @@ -24,7 +24,6 @@ import com.mojang.datafixers.util.Unit; import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.network.PacketByteBuf; import net.minecraft.network.packet.CustomPayload; import net.minecraft.network.packet.s2c.common.CustomPayloadS2CPacket; import net.minecraft.world.WorldProperties; @@ -39,7 +38,7 @@ public final class CardinalComponentsLevel { /** * {@link CustomPayloadS2CPacket} channel for default level component synchronization. * - *

Components synchronized through this channel will have {@linkplain AutoSyncedComponent#applySyncPacket(PacketByteBuf)} + *

Components synchronized through this channel will have {@linkplain AutoSyncedComponent#applySyncPacket(net.minecraft.network.RegistryByteBuf)} * called on the game thread. */ public static final CustomPayload.Id> PACKET_ID = CustomPayload.id("cardinal-components:level_sync"); diff --git a/cardinal-components-scoreboard/src/main/java/org/ladysnake/cca/internal/scoreboard/CardinalComponentsScoreboard.java b/cardinal-components-scoreboard/src/main/java/org/ladysnake/cca/internal/scoreboard/CardinalComponentsScoreboard.java index 620c73a5..6ed14ed5 100644 --- a/cardinal-components-scoreboard/src/main/java/org/ladysnake/cca/internal/scoreboard/CardinalComponentsScoreboard.java +++ b/cardinal-components-scoreboard/src/main/java/org/ladysnake/cca/internal/scoreboard/CardinalComponentsScoreboard.java @@ -25,7 +25,6 @@ import com.mojang.datafixers.util.Unit; import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.network.PacketByteBuf; import net.minecraft.network.codec.PacketCodecs; import net.minecraft.network.packet.CustomPayload; import net.minecraft.network.packet.s2c.common.CustomPayloadS2CPacket; @@ -42,14 +41,14 @@ public final class CardinalComponentsScoreboard { /** * {@link CustomPayloadS2CPacket} channel for default scoreboard component synchronization. * - *

Components synchronized through this channel will have {@linkplain AutoSyncedComponent#applySyncPacket(PacketByteBuf)} + *

Components synchronized through this channel will have {@linkplain AutoSyncedComponent#applySyncPacket(net.minecraft.network.RegistryByteBuf)} * called on the game thread. */ public static final CustomPayload.Id> SCOREBOARD_PACKET_ID = CustomPayload.id("cardinal-components:scoreboard_sync"); /** * {@link CustomPayloadS2CPacket} channel for default team component synchronization. * - *

Components synchronized through this channel will have {@linkplain AutoSyncedComponent#applySyncPacket(PacketByteBuf)} + *

Components synchronized through this channel will have {@linkplain AutoSyncedComponent#applySyncPacket(net.minecraft.network.RegistryByteBuf)} * called on the game thread. */ public static final CustomPayload.Id> TEAM_PACKET_ID = CustomPayload.id("cardinal-components:team_sync"); diff --git a/cardinal-components-world/src/testmod/java/org/ladysnake/cca/test/world/AmbientVita.java b/cardinal-components-world/src/testmod/java/org/ladysnake/cca/test/world/AmbientVita.java index f25dbe4f..cc56a8d7 100644 --- a/cardinal-components-world/src/testmod/java/org/ladysnake/cca/test/world/AmbientVita.java +++ b/cardinal-components-world/src/testmod/java/org/ladysnake/cca/test/world/AmbientVita.java @@ -24,7 +24,7 @@ import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.hud.InGameHud; -import net.minecraft.network.PacketByteBuf; +import net.minecraft.network.RegistryByteBuf; import net.minecraft.server.MinecraftServer; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.Text; @@ -42,7 +42,7 @@ public abstract class AmbientVita extends BaseVita implements AutoSyncedComponen public abstract void syncWithAll(MinecraftServer server); @Override - public void applySyncPacket(PacketByteBuf buf) { + public void applySyncPacket(RegistryByteBuf buf) { int vita = buf.readInt(); this.setVitality(vita); World world = Objects.requireNonNull(MinecraftClient.getInstance().player).getWorld(); @@ -65,7 +65,7 @@ public void applySyncPacket(PacketByteBuf buf) { * proper implementation of {@code writeToPacket}, writes a single int instead of a whole tag */ @Override - public void writeSyncPacket(PacketByteBuf buf, ServerPlayerEntity player) { + public void writeSyncPacket(RegistryByteBuf buf, ServerPlayerEntity player) { buf.writeInt(this.getVitality()); }