From e53137b47a91a202b3dec8c8c72f04b715356412 Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Wed, 9 Jul 2025 18:03:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BD=91=E7=BB=9C=E5=8C=85?= =?UTF-8?q?=E6=B3=A8=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/client/ClickHandler.java | 20 +-- .../client/screens/ReforgingTableScreen.java | 2 +- .../event/ClientEventHandler.java | 2 +- .../atsuishio/superbwarfare/item/Monitor.java | 2 +- .../superbwarfare/menu/EnergyMenu.java | 2 +- .../network/NetworkRegistry.java | 114 ++++++++++-------- .../receive/RadarMenuCloseMessage.java | 14 +-- .../receive/ResetCameraTypeMessage.java | 14 +-- .../send/ArtilleryIndicatorFireMessage.java | 5 +- .../message/send/DoubleJumpMessage.java | 11 +- .../message/send/DroneFireMessage.java | 13 +- .../network/message/send/FireModeMessage.java | 13 +- .../message/send/GunReforgeMessage.java | 13 +- .../network/message/send/InteractMessage.java | 17 ++- .../message/send/PlayerStopRidingMessage.java | 13 +- .../network/message/send/ReloadMessage.java | 19 ++- .../send/SetFiringParametersMessage.java | 5 +- 17 files changed, 132 insertions(+), 147 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java b/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java index c3c1dc541..c26a51dd8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java @@ -131,7 +131,7 @@ public class ClickHandler { return; } if (stack.is(ModItems.ARTILLERY_INDICATOR.get())) { - PacketDistributor.sendToServer(new SetFiringParametersMessage()); + PacketDistributor.sendToServer(SetFiringParametersMessage.INSTANCE); event.setCanceled(true); return; } @@ -256,17 +256,17 @@ public class ClickHandler { if (key == ModKeyMappings.RELOAD.getKey().getValue()) { ClientEventHandler.burstFireAmount = 0; ClickHandler.isEditing = false; - PacketDistributor.sendToServer(new ReloadMessage(0)); + PacketDistributor.sendToServer(ReloadMessage.INSTANCE); } if (key == ModKeyMappings.FIRE_MODE.getKey().getValue()) { - PacketDistributor.sendToServer(new FireModeMessage(0)); + PacketDistributor.sendToServer(FireModeMessage.INSTANCE); } if (key == ModKeyMappings.INTERACT.getKey().getValue()) { var mc = Minecraft.getInstance(); if (mc.player.getMainHandItem().getItem() instanceof GunItem) { KeyMapping.click(mc.options.keyUse.getKey()); } else if (mc.player.getMainHandItem().is(ModItems.MONITOR.get())) { - PacketDistributor.sendToServer(new InteractMessage(0)); + PacketDistributor.sendToServer(InteractMessage.INSTANCE); } } if (key == ModKeyMappings.DISMOUNT.getKey().getValue()) { @@ -377,11 +377,11 @@ public class ClickHandler { } if (stack.is(Items.SPYGLASS) && player.isScoping() && player.getOffhandItem().is(ModItems.FIRING_PARAMETERS.get())) { - PacketDistributor.sendToServer(new SetFiringParametersMessage()); + PacketDistributor.sendToServer(SetFiringParametersMessage.INSTANCE); } if (stack.is(ModItems.MONITOR.get())) { - PacketDistributor.sendToServer(new DroneFireMessage(0)); + PacketDistributor.sendToServer(DroneFireMessage.INSTANCE); } if (stack.is(ModItems.LUNGE_MINE.get())) { @@ -407,7 +407,7 @@ public class ClickHandler { if (!data.useBackpackAmmo() && data.ammo.get() <= 0 && data.reload.time() == 0) { if (ReloadConfig.LEFT_CLICK_RELOAD.get()) { - PacketDistributor.sendToServer(new ReloadMessage(0)); + PacketDistributor.sendToServer(ReloadMessage.INSTANCE); ClientEventHandler.burstFireAmount = 0; } } else { @@ -446,7 +446,7 @@ public class ClickHandler { ItemStack stack = player.getMainHandItem(); if (stack.is(ModItems.BOCEK.get())) { - PacketDistributor.sendToServer(new ReloadMessage(0)); + PacketDistributor.sendToServer(ReloadMessage.INSTANCE); } } @@ -498,7 +498,7 @@ public class ClickHandler { if (canDoubleJump) { player.setDeltaMovement(new Vec3(player.getLookAngle().x, 0.8, player.getLookAngle().z)); level.playLocalSound(x, y, z, ModSounds.DOUBLE_JUMP.get(), SoundSource.BLOCKS, 1, 1, false); - PacketDistributor.sendToServer(new DoubleJumpMessage(0)); + PacketDistributor.sendToServer(DoubleJumpMessage.INSTANCE); canDoubleJump = false; } } @@ -520,6 +520,6 @@ public class ClickHandler { ClientEventHandler.dismountCountdown = 20; return; } - PacketDistributor.sendToServer(new PlayerStopRidingMessage(0)); + PacketDistributor.sendToServer(PlayerStopRidingMessage.INSTANCE); } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/client/screens/ReforgingTableScreen.java b/src/main/java/com/atsuishio/superbwarfare/client/screens/ReforgingTableScreen.java index 518ce1787..95adcfdd3 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/screens/ReforgingTableScreen.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/screens/ReforgingTableScreen.java @@ -116,7 +116,7 @@ public class ReforgingTableScreen extends AbstractContainerScreen= 9) { - PacketDistributor.sendToServer(new ArtilleryIndicatorFireMessage()); + PacketDistributor.sendToServer(ArtilleryIndicatorFireMessage.INSTANCE); } } else { holdArtilleryIndicator = Mth.clamp(holdArtilleryIndicator - 1, 0, 10); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/Monitor.java b/src/main/java/com/atsuishio/superbwarfare/item/Monitor.java index 8644cef3d..46c77b766 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/Monitor.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/Monitor.java @@ -53,7 +53,7 @@ public class Monitor extends Item { tag.putBoolean(LINKED, false); tag.putString(LINKED_DRONE, "none"); if (player instanceof ServerPlayer serverPlayer) { - PacketDistributor.sendToPlayer(serverPlayer, new ResetCameraTypeMessage(0)); + PacketDistributor.sendToPlayer(serverPlayer, ResetCameraTypeMessage.INSTANCE); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/menu/EnergyMenu.java b/src/main/java/com/atsuishio/superbwarfare/menu/EnergyMenu.java index c43ee9b5f..be16f6e6b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/menu/EnergyMenu.java +++ b/src/main/java/com/atsuishio/superbwarfare/menu/EnergyMenu.java @@ -86,7 +86,7 @@ public abstract class EnergyMenu extends AbstractContainerMenu { @SubscribeEvent public static void onFuMO25Closed(PlayerContainerEvent.Close event) { if (event.getContainer() instanceof FuMO25Menu && event.getEntity() instanceof ServerPlayer serverPlayer) { - PacketDistributor.sendToPlayer(serverPlayer, new RadarMenuCloseMessage(0)); + PacketDistributor.sendToPlayer(serverPlayer, RadarMenuCloseMessage.INSTANCE); } } } diff --git a/src/main/java/com/atsuishio/superbwarfare/network/NetworkRegistry.java b/src/main/java/com/atsuishio/superbwarfare/network/NetworkRegistry.java index 03f955589..218c9b9b2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/NetworkRegistry.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/NetworkRegistry.java @@ -2,62 +2,76 @@ package com.atsuishio.superbwarfare.network; import com.atsuishio.superbwarfare.network.message.receive.*; import com.atsuishio.superbwarfare.network.message.send.*; +import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent; +import net.neoforged.neoforge.network.handling.IPayloadHandler; import net.neoforged.neoforge.network.registration.PayloadRegistrar; public class NetworkRegistry { + private static PayloadRegistrar registrar; + public static void register(final RegisterPayloadHandlersEvent event) { - final PayloadRegistrar registrar = event.registrar("1"); + registrar = event.registrar("1"); - registrar.playToClient(PlayerVariablesSyncMessage.TYPE, PlayerVariablesSyncMessage.STREAM_CODEC, (msg, ctx) -> PlayerVariablesSyncMessage.handler(msg)); - registrar.playToClient(ShakeClientMessage.TYPE, ShakeClientMessage.STREAM_CODEC, ShakeClientMessage::handler); - registrar.playToClient(ClientMotionSyncMessage.TYPE, ClientMotionSyncMessage.STREAM_CODEC, ClientMotionSyncMessage::handler); - registrar.playToClient(ClientIndicatorMessage.TYPE, ClientIndicatorMessage.STREAM_CODEC, ClientIndicatorMessage::handler); - registrar.playToClient(PlayerGunKillMessage.TYPE, PlayerGunKillMessage.STREAM_CODEC, PlayerGunKillMessage::handler); - registrar.playToClient(GunsDataMessage.TYPE, GunsDataMessage.STREAM_CODEC, GunsDataMessage::handler); - registrar.playToClient(ContainerDataMessage.TYPE, ContainerDataMessage.STREAM_CODEC, ContainerDataMessage::handler); - registrar.playToClient(ShootClientMessage.TYPE, ShootClientMessage.STREAM_CODEC, ShootClientMessage::handler); - registrar.playToClient(DrawClientMessage.TYPE, DrawClientMessage.STREAM_CODEC, (msg, ctx) -> DrawClientMessage.handler()); - registrar.playToClient(ResetCameraTypeMessage.TYPE, ResetCameraTypeMessage.STREAM_CODEC, ResetCameraTypeMessage::handler); - registrar.playToClient(RadarMenuOpenMessage.TYPE, RadarMenuOpenMessage.STREAM_CODEC, RadarMenuOpenMessage::handler); - registrar.playToClient(RadarMenuCloseMessage.TYPE, RadarMenuCloseMessage.STREAM_CODEC, RadarMenuCloseMessage::handler); - registrar.playToClient(ClientTacticalSprintSyncMessage.TYPE, ClientTacticalSprintSyncMessage.STREAM_CODEC, (msg, ctx) -> ClientTacticalSprintSyncMessage.handler(msg)); - registrar.playToClient(DogTagEditorMessage.TYPE, DogTagEditorMessage.STREAM_CODEC, (msg, ctx) -> DogTagEditorMessage.handler(msg)); - registrar.playToClient(VehiclesDataMessage.TYPE, VehiclesDataMessage.STREAM_CODEC, (msg, ctx) -> VehiclesDataMessage.handler(msg)); + playToClient(PlayerVariablesSyncMessage.TYPE, PlayerVariablesSyncMessage.STREAM_CODEC, (msg, ctx) -> PlayerVariablesSyncMessage.handler(msg)); + playToClient(ShakeClientMessage.TYPE, ShakeClientMessage.STREAM_CODEC, ShakeClientMessage::handler); + playToClient(ClientMotionSyncMessage.TYPE, ClientMotionSyncMessage.STREAM_CODEC, ClientMotionSyncMessage::handler); + playToClient(ClientIndicatorMessage.TYPE, ClientIndicatorMessage.STREAM_CODEC, ClientIndicatorMessage::handler); + playToClient(PlayerGunKillMessage.TYPE, PlayerGunKillMessage.STREAM_CODEC, PlayerGunKillMessage::handler); + playToClient(GunsDataMessage.TYPE, GunsDataMessage.STREAM_CODEC, GunsDataMessage::handler); + playToClient(ContainerDataMessage.TYPE, ContainerDataMessage.STREAM_CODEC, ContainerDataMessage::handler); + playToClient(ShootClientMessage.TYPE, ShootClientMessage.STREAM_CODEC, ShootClientMessage::handler); + playToClient(DrawClientMessage.TYPE, DrawClientMessage.STREAM_CODEC, (msg, ctx) -> DrawClientMessage.handler()); + playToClient(ResetCameraTypeMessage.TYPE, ResetCameraTypeMessage.STREAM_CODEC, (message2, context2) -> ResetCameraTypeMessage.handler()); + playToClient(RadarMenuOpenMessage.TYPE, RadarMenuOpenMessage.STREAM_CODEC, RadarMenuOpenMessage::handler); + playToClient(RadarMenuCloseMessage.TYPE, RadarMenuCloseMessage.STREAM_CODEC, (message1, context1) -> RadarMenuCloseMessage.handler()); + playToClient(ClientTacticalSprintSyncMessage.TYPE, ClientTacticalSprintSyncMessage.STREAM_CODEC, (msg, ctx) -> ClientTacticalSprintSyncMessage.handler(msg)); + playToClient(DogTagEditorMessage.TYPE, DogTagEditorMessage.STREAM_CODEC, (msg, ctx) -> DogTagEditorMessage.handler(msg)); + playToClient(VehiclesDataMessage.TYPE, VehiclesDataMessage.STREAM_CODEC, (msg, ctx) -> VehiclesDataMessage.handler(msg)); - registrar.playToServer(LaserShootMessage.TYPE, LaserShootMessage.STREAM_CODEC, LaserShootMessage::handler); - registrar.playToServer(ShootMessage.TYPE, ShootMessage.STREAM_CODEC, ShootMessage::handler); - registrar.playToServer(DoubleJumpMessage.TYPE, DoubleJumpMessage.STREAM_CODEC, (message, context) -> DoubleJumpMessage.handler(context)); - registrar.playToServer(VehicleMovementMessage.TYPE, VehicleMovementMessage.STREAM_CODEC, VehicleMovementMessage::handler); - registrar.playToServer(MeleeAttackMessage.TYPE, MeleeAttackMessage.STREAM_CODEC, MeleeAttackMessage::handler); - registrar.playToServer(LungeMineAttackMessage.TYPE, LungeMineAttackMessage.STREAM_CODEC, LungeMineAttackMessage::handler); - registrar.playToServer(VehicleFireMessage.TYPE, VehicleFireMessage.STREAM_CODEC, VehicleFireMessage::handler); - registrar.playToServer(AimVillagerMessage.TYPE, AimVillagerMessage.STREAM_CODEC, AimVillagerMessage::handler); - registrar.playToServer(RadarChangeModeMessage.TYPE, RadarChangeModeMessage.STREAM_CODEC, RadarChangeModeMessage::handler); - registrar.playToServer(RadarSetParametersMessage.TYPE, RadarSetParametersMessage.STREAM_CODEC, RadarSetParametersMessage::handler); - registrar.playToServer(RadarSetPosMessage.TYPE, RadarSetPosMessage.STREAM_CODEC, RadarSetPosMessage::handler); - registrar.playToServer(RadarSetTargetMessage.TYPE, RadarSetTargetMessage.STREAM_CODEC, RadarSetTargetMessage::handler); - registrar.playToServer(GunReforgeMessage.TYPE, GunReforgeMessage.STREAM_CODEC, GunReforgeMessage::handler); - registrar.playToServer(SetPerkLevelMessage.TYPE, SetPerkLevelMessage.STREAM_CODEC, SetPerkLevelMessage::handler); - registrar.playToServer(SwitchVehicleWeaponMessage.TYPE, SwitchVehicleWeaponMessage.STREAM_CODEC, SwitchVehicleWeaponMessage::handler); - registrar.playToServer(AdjustZoomFovMessage.TYPE, AdjustZoomFovMessage.STREAM_CODEC, AdjustZoomFovMessage::handler); - registrar.playToServer(SwitchScopeMessage.TYPE, SwitchScopeMessage.STREAM_CODEC, SwitchScopeMessage::handler); - registrar.playToServer(FireKeyMessage.TYPE, FireKeyMessage.STREAM_CODEC, FireKeyMessage::handler); - registrar.playToServer(ReloadMessage.TYPE, ReloadMessage.STREAM_CODEC, ReloadMessage::handler); - registrar.playToServer(FireModeMessage.TYPE, FireModeMessage.STREAM_CODEC, FireModeMessage::handler); - registrar.playToServer(PlayerStopRidingMessage.TYPE, PlayerStopRidingMessage.STREAM_CODEC, PlayerStopRidingMessage::handler); - registrar.playToServer(ZoomMessage.TYPE, ZoomMessage.STREAM_CODEC, ZoomMessage::handler); - registrar.playToServer(DroneFireMessage.TYPE, DroneFireMessage.STREAM_CODEC, DroneFireMessage::handler); - registrar.playToServer(SetFiringParametersMessage.TYPE, SetFiringParametersMessage.STREAM_CODEC, (message, context) -> SetFiringParametersMessage.handler(context)); - registrar.playToServer(ArtilleryIndicatorFireMessage.TYPE, ArtilleryIndicatorFireMessage.STREAM_CODEC, (message, context) -> ArtilleryIndicatorFireMessage.handler(context)); - registrar.playToServer(SensitivityMessage.TYPE, SensitivityMessage.STREAM_CODEC, SensitivityMessage::handler); - registrar.playToServer(EditMessage.TYPE, EditMessage.STREAM_CODEC, EditMessage::handler); - registrar.playToServer(InteractMessage.TYPE, InteractMessage.STREAM_CODEC, InteractMessage::handler); - registrar.playToServer(AdjustMortarAngleMessage.TYPE, AdjustMortarAngleMessage.STREAM_CODEC, AdjustMortarAngleMessage::handler); - registrar.playToServer(ChangeVehicleSeatMessage.TYPE, ChangeVehicleSeatMessage.STREAM_CODEC, ChangeVehicleSeatMessage::handler); - registrar.playToServer(ShowChargingRangeMessage.TYPE, ShowChargingRangeMessage.STREAM_CODEC, ShowChargingRangeMessage::handler); - registrar.playToServer(TacticalSprintMessage.TYPE, TacticalSprintMessage.STREAM_CODEC, TacticalSprintMessage::handler); - registrar.playToServer(DogTagFinishEditMessage.TYPE, DogTagFinishEditMessage.STREAM_CODEC, DogTagFinishEditMessage::handler); - registrar.playToServer(MouseMoveMessage.TYPE, MouseMoveMessage.STREAM_CODEC, MouseMoveMessage::handler); + playToServer(LaserShootMessage.TYPE, LaserShootMessage.STREAM_CODEC, LaserShootMessage::handler); + playToServer(ShootMessage.TYPE, ShootMessage.STREAM_CODEC, ShootMessage::handler); + playToServer(DoubleJumpMessage.TYPE, DoubleJumpMessage.STREAM_CODEC, (message, context) -> DoubleJumpMessage.handler(context)); + playToServer(VehicleMovementMessage.TYPE, VehicleMovementMessage.STREAM_CODEC, VehicleMovementMessage::handler); + playToServer(MeleeAttackMessage.TYPE, MeleeAttackMessage.STREAM_CODEC, MeleeAttackMessage::handler); + playToServer(LungeMineAttackMessage.TYPE, LungeMineAttackMessage.STREAM_CODEC, LungeMineAttackMessage::handler); + playToServer(VehicleFireMessage.TYPE, VehicleFireMessage.STREAM_CODEC, VehicleFireMessage::handler); + playToServer(AimVillagerMessage.TYPE, AimVillagerMessage.STREAM_CODEC, AimVillagerMessage::handler); + playToServer(RadarChangeModeMessage.TYPE, RadarChangeModeMessage.STREAM_CODEC, RadarChangeModeMessage::handler); + playToServer(RadarSetParametersMessage.TYPE, RadarSetParametersMessage.STREAM_CODEC, RadarSetParametersMessage::handler); + playToServer(RadarSetPosMessage.TYPE, RadarSetPosMessage.STREAM_CODEC, RadarSetPosMessage::handler); + playToServer(RadarSetTargetMessage.TYPE, RadarSetTargetMessage.STREAM_CODEC, RadarSetTargetMessage::handler); + playToServer(GunReforgeMessage.TYPE, GunReforgeMessage.STREAM_CODEC, (message1, context1) -> GunReforgeMessage.handler(context1)); + playToServer(SetPerkLevelMessage.TYPE, SetPerkLevelMessage.STREAM_CODEC, SetPerkLevelMessage::handler); + playToServer(SwitchVehicleWeaponMessage.TYPE, SwitchVehicleWeaponMessage.STREAM_CODEC, SwitchVehicleWeaponMessage::handler); + playToServer(AdjustZoomFovMessage.TYPE, AdjustZoomFovMessage.STREAM_CODEC, AdjustZoomFovMessage::handler); + playToServer(SwitchScopeMessage.TYPE, SwitchScopeMessage.STREAM_CODEC, SwitchScopeMessage::handler); + playToServer(FireKeyMessage.TYPE, FireKeyMessage.STREAM_CODEC, FireKeyMessage::handler); + playToServer(ReloadMessage.TYPE, ReloadMessage.STREAM_CODEC, (message2, context2) -> ReloadMessage.handler(context2)); + playToServer(FireModeMessage.TYPE, FireModeMessage.STREAM_CODEC, (message1, context1) -> FireModeMessage.handler(context1)); + playToServer(PlayerStopRidingMessage.TYPE, PlayerStopRidingMessage.STREAM_CODEC, (message1, context1) -> PlayerStopRidingMessage.handler(context1)); + playToServer(ZoomMessage.TYPE, ZoomMessage.STREAM_CODEC, ZoomMessage::handler); + playToServer(DroneFireMessage.TYPE, DroneFireMessage.STREAM_CODEC, (message1, context1) -> DroneFireMessage.handler(context1)); + playToServer(SetFiringParametersMessage.TYPE, SetFiringParametersMessage.STREAM_CODEC, (message, context) -> SetFiringParametersMessage.handler(context)); + playToServer(ArtilleryIndicatorFireMessage.TYPE, ArtilleryIndicatorFireMessage.STREAM_CODEC, (message, context) -> ArtilleryIndicatorFireMessage.handler(context)); + playToServer(SensitivityMessage.TYPE, SensitivityMessage.STREAM_CODEC, SensitivityMessage::handler); + playToServer(EditMessage.TYPE, EditMessage.STREAM_CODEC, EditMessage::handler); + playToServer(InteractMessage.TYPE, InteractMessage.STREAM_CODEC, (interactMessage, context) -> InteractMessage.handler(context)); + playToServer(AdjustMortarAngleMessage.TYPE, AdjustMortarAngleMessage.STREAM_CODEC, AdjustMortarAngleMessage::handler); + playToServer(ChangeVehicleSeatMessage.TYPE, ChangeVehicleSeatMessage.STREAM_CODEC, ChangeVehicleSeatMessage::handler); + playToServer(ShowChargingRangeMessage.TYPE, ShowChargingRangeMessage.STREAM_CODEC, ShowChargingRangeMessage::handler); + playToServer(TacticalSprintMessage.TYPE, TacticalSprintMessage.STREAM_CODEC, TacticalSprintMessage::handler); + playToServer(DogTagFinishEditMessage.TYPE, DogTagFinishEditMessage.STREAM_CODEC, DogTagFinishEditMessage::handler); + playToServer(MouseMoveMessage.TYPE, MouseMoveMessage.STREAM_CODEC, MouseMoveMessage::handler); + } + + public static void playToClient(CustomPacketPayload.Type type, StreamCodec reader, IPayloadHandler handler) { + registrar.playToClient(type, reader, handler); + } + + public static void playToServer(CustomPacketPayload.Type type, StreamCodec reader, IPayloadHandler handler) { + registrar.playToServer(type, reader, handler); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/receive/RadarMenuCloseMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/receive/RadarMenuCloseMessage.java index 72965fe3e..9596497d2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/receive/RadarMenuCloseMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/receive/RadarMenuCloseMessage.java @@ -3,22 +3,18 @@ package com.atsuishio.superbwarfare.network.message.receive; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.client.screens.FuMO25ScreenHelper; import io.netty.buffer.ByteBuf; -import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.neoforged.neoforge.network.handling.IPayloadContext; import org.jetbrains.annotations.NotNull; -public record RadarMenuCloseMessage(int msgType) implements CustomPacketPayload { +public enum RadarMenuCloseMessage implements CustomPacketPayload { + INSTANCE; + public static final Type TYPE = new Type<>(Mod.loc("radar_menu_close")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.INT, - RadarMenuCloseMessage::msgType, - RadarMenuCloseMessage::new - ); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); - public static void handler(RadarMenuCloseMessage message, final IPayloadContext context) { + public static void handler() { FuMO25ScreenHelper.resetEntities(); FuMO25ScreenHelper.pos = null; } diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/receive/ResetCameraTypeMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/receive/ResetCameraTypeMessage.java index 7cd81d370..ccb08cdb0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/receive/ResetCameraTypeMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/receive/ResetCameraTypeMessage.java @@ -3,22 +3,18 @@ package com.atsuishio.superbwarfare.network.message.receive; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.network.ClientPacketHandler; import io.netty.buffer.ByteBuf; -import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; -import net.neoforged.neoforge.network.handling.IPayloadContext; import org.jetbrains.annotations.NotNull; -public record ResetCameraTypeMessage(int msgType) implements CustomPacketPayload { +public enum ResetCameraTypeMessage implements CustomPacketPayload { + INSTANCE; + public static final Type TYPE = new Type<>(Mod.loc("reset_camera_type")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.INT, - ResetCameraTypeMessage::msgType, - ResetCameraTypeMessage::new - ); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); - public static void handler(ResetCameraTypeMessage message, final IPayloadContext context) { + public static void handler() { ClientPacketHandler.handleResetCameraType(); } diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/ArtilleryIndicatorFireMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/ArtilleryIndicatorFireMessage.java index 8e2c09120..1957e114e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/ArtilleryIndicatorFireMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/ArtilleryIndicatorFireMessage.java @@ -31,10 +31,11 @@ import java.util.Objects; import static com.atsuishio.superbwarfare.item.ArtilleryIndicator.TAG_MORTARS; -public class ArtilleryIndicatorFireMessage implements CustomPacketPayload { +public enum ArtilleryIndicatorFireMessage implements CustomPacketPayload { + INSTANCE; public static final Type TYPE = new Type<>(Mod.loc("artillery_indicator_fire")); - public static final StreamCodec STREAM_CODEC = StreamCodec.unit(new ArtilleryIndicatorFireMessage()); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(ArtilleryIndicatorFireMessage.INSTANCE); public static void handler(final IPayloadContext context) { Player player = context.player(); diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/DoubleJumpMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/DoubleJumpMessage.java index 3249e7490..f68392f28 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/DoubleJumpMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/DoubleJumpMessage.java @@ -4,7 +4,6 @@ import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.init.ModSounds; import io.netty.buffer.ByteBuf; import net.minecraft.core.BlockPos; -import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.server.level.ServerPlayer; @@ -15,14 +14,12 @@ import net.minecraft.world.phys.Vec3; import net.neoforged.neoforge.network.handling.IPayloadContext; import org.jetbrains.annotations.NotNull; -public record DoubleJumpMessage(int empty) implements CustomPacketPayload { +public enum DoubleJumpMessage implements CustomPacketPayload { + INSTANCE; + public static final Type TYPE = new Type<>(Mod.loc("double_jump")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.INT, - DoubleJumpMessage::empty, - DoubleJumpMessage::new - ); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); public static void handler(final IPayloadContext context) { ServerPlayer player = (ServerPlayer) context.player(); diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/DroneFireMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/DroneFireMessage.java index edcaea308..6752d2963 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/DroneFireMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/DroneFireMessage.java @@ -12,7 +12,6 @@ import io.netty.buffer.ByteBuf; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; -import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.world.entity.Entity; @@ -26,16 +25,14 @@ import org.jetbrains.annotations.NotNull; import java.util.Objects; -public record DroneFireMessage(int msgType) implements CustomPacketPayload { +public enum DroneFireMessage implements CustomPacketPayload { + INSTANCE; + public static final Type TYPE = new Type<>(Mod.loc("drone_fire")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.INT, - DroneFireMessage::msgType, - DroneFireMessage::new - ); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); - public static void handler(DroneFireMessage message, final IPayloadContext context) { + public static void handler(final IPayloadContext context) { Player player = context.player(); ItemStack stack = player.getMainHandItem(); var tag = NBTTool.getTag(stack); diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/FireModeMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/FireModeMessage.java index afb0e69d6..03a902af6 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/FireModeMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/FireModeMessage.java @@ -8,7 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.tools.SoundTool; import io.netty.buffer.ByteBuf; -import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.server.level.ServerPlayer; @@ -18,16 +17,14 @@ import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.network.handling.IPayloadContext; import org.jetbrains.annotations.NotNull; -public record FireModeMessage(int msgType) implements CustomPacketPayload { +public enum FireModeMessage implements CustomPacketPayload { + INSTANCE; + public static final Type TYPE = new Type<>(Mod.loc("fire_mode")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.INT, - FireModeMessage::msgType, - FireModeMessage::new - ); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); - public static void handler(FireModeMessage message, final IPayloadContext context) { + public static void handler(final IPayloadContext context) { changeFireMode(context.player()); } diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/GunReforgeMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/GunReforgeMessage.java index e73282ba2..2db00df42 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/GunReforgeMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/GunReforgeMessage.java @@ -3,7 +3,6 @@ package com.atsuishio.superbwarfare.network.message.send; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.menu.ReforgingTableMenu; import io.netty.buffer.ByteBuf; -import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.server.level.ServerPlayer; @@ -11,16 +10,14 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.neoforged.neoforge.network.handling.IPayloadContext; import org.jetbrains.annotations.NotNull; -public record GunReforgeMessage(int msgType) implements CustomPacketPayload { +public enum GunReforgeMessage implements CustomPacketPayload { + INSTANCE; + public static final Type TYPE = new Type<>(Mod.loc("gun_reforge")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.INT, - GunReforgeMessage::msgType, - GunReforgeMessage::new - ); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); - public static void handler(GunReforgeMessage message, final IPayloadContext context) { + public static void handler(final IPayloadContext context) { ServerPlayer player = (ServerPlayer) context.player(); AbstractContainerMenu abstractcontainermenu = player.containerMenu; diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/InteractMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/InteractMessage.java index 5077e0ed9..35ef464a1 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/InteractMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/InteractMessage.java @@ -9,7 +9,6 @@ import com.atsuishio.superbwarfare.tools.TraceTool; import io.netty.buffer.ByteBuf; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.world.InteractionHand; @@ -23,20 +22,18 @@ import net.minecraft.world.phys.Vec3; import net.neoforged.neoforge.network.handling.IPayloadContext; import org.jetbrains.annotations.NotNull; -public record InteractMessage(int msgType) implements CustomPacketPayload { +public enum InteractMessage implements CustomPacketPayload { + INSTANCE; + public static final Type TYPE = new Type<>(Mod.loc("interact")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.INT, - InteractMessage::msgType, - InteractMessage::new - ); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); - public static void handler(InteractMessage message, final IPayloadContext context) { - handleInteract(context.player(), message.msgType); + public static void handler(final IPayloadContext context) { + handleInteract(context.player()); } - public static void handleInteract(Player player, int type) { + public static void handleInteract(Player player) { ItemStack stack = player.getMainHandItem(); var tag = NBTTool.getTag(stack); diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/PlayerStopRidingMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/PlayerStopRidingMessage.java index 418148b79..18f83be6f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/PlayerStopRidingMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/PlayerStopRidingMessage.java @@ -3,23 +3,20 @@ package com.atsuishio.superbwarfare.network.message.send; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.entity.vehicle.base.VehicleEntity; import io.netty.buffer.ByteBuf; -import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.server.level.ServerPlayer; import net.neoforged.neoforge.network.handling.IPayloadContext; import org.jetbrains.annotations.NotNull; -public record PlayerStopRidingMessage(int msgType) implements CustomPacketPayload { +public enum PlayerStopRidingMessage implements CustomPacketPayload { + INSTANCE; + public static final Type TYPE = new Type<>(Mod.loc("player_stop_riding")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.INT, - PlayerStopRidingMessage::msgType, - PlayerStopRidingMessage::new - ); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); - public static void handler(PlayerStopRidingMessage message, final IPayloadContext context) { + public static void handler(final IPayloadContext context) { ServerPlayer player = (ServerPlayer) context.player(); var vehicle = player.getVehicle(); if (!(vehicle instanceof VehicleEntity)) return; diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/ReloadMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/ReloadMessage.java index 17ec27927..33afb0a40 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/ReloadMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/ReloadMessage.java @@ -5,7 +5,6 @@ import com.atsuishio.superbwarfare.data.gun.GunData; import com.atsuishio.superbwarfare.data.gun.ReloadType; import com.atsuishio.superbwarfare.item.gun.GunItem; import io.netty.buffer.ByteBuf; -import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.world.entity.player.Player; @@ -13,22 +12,18 @@ import net.minecraft.world.item.ItemStack; import net.neoforged.neoforge.network.handling.IPayloadContext; import org.jetbrains.annotations.NotNull; -public record ReloadMessage(int msgType) implements CustomPacketPayload { +public enum ReloadMessage implements CustomPacketPayload { + INSTANCE; + public static final Type TYPE = new Type<>(Mod.loc("reload")); - public static final StreamCodec STREAM_CODEC = StreamCodec.composite( - ByteBufCodecs.INT, - ReloadMessage::msgType, - ReloadMessage::new - ); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(INSTANCE); - public static void handler(ReloadMessage message, final IPayloadContext context) { - pressAction(context.player(), message.msgType); + public static void handler(final IPayloadContext context) { + pressAction(context.player()); } - public static void pressAction(Player player, int type) { - if (type != 0) return; - + public static void pressAction(Player player) { ItemStack stack = player.getMainHandItem(); if (!(stack.getItem() instanceof GunItem gunItem)) return; diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/send/SetFiringParametersMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/send/SetFiringParametersMessage.java index b4d2b1f79..b3371b887 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/send/SetFiringParametersMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/send/SetFiringParametersMessage.java @@ -31,10 +31,11 @@ import java.util.Objects; import static com.atsuishio.superbwarfare.item.ArtilleryIndicator.TAG_MORTARS; -public class SetFiringParametersMessage implements CustomPacketPayload { +public enum SetFiringParametersMessage implements CustomPacketPayload { + INSTANCE; public static final Type TYPE = new Type<>(Mod.loc("set_firing_parameters")); - public static final StreamCodec STREAM_CODEC = StreamCodec.unit(new SetFiringParametersMessage()); + public static final StreamCodec STREAM_CODEC = StreamCodec.unit(SetFiringParametersMessage.INSTANCE); public static void handler(final IPayloadContext context) { Player player = context.player();