优化网络包注册

This commit is contained in:
Light_Quanta 2025-07-09 18:03:57 +08:00
parent f8b463848c
commit e53137b47a
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
17 changed files with 132 additions and 147 deletions

View file

@ -131,7 +131,7 @@ public class ClickHandler {
return; return;
} }
if (stack.is(ModItems.ARTILLERY_INDICATOR.get())) { if (stack.is(ModItems.ARTILLERY_INDICATOR.get())) {
PacketDistributor.sendToServer(new SetFiringParametersMessage()); PacketDistributor.sendToServer(SetFiringParametersMessage.INSTANCE);
event.setCanceled(true); event.setCanceled(true);
return; return;
} }
@ -256,17 +256,17 @@ public class ClickHandler {
if (key == ModKeyMappings.RELOAD.getKey().getValue()) { if (key == ModKeyMappings.RELOAD.getKey().getValue()) {
ClientEventHandler.burstFireAmount = 0; ClientEventHandler.burstFireAmount = 0;
ClickHandler.isEditing = false; ClickHandler.isEditing = false;
PacketDistributor.sendToServer(new ReloadMessage(0)); PacketDistributor.sendToServer(ReloadMessage.INSTANCE);
} }
if (key == ModKeyMappings.FIRE_MODE.getKey().getValue()) { if (key == ModKeyMappings.FIRE_MODE.getKey().getValue()) {
PacketDistributor.sendToServer(new FireModeMessage(0)); PacketDistributor.sendToServer(FireModeMessage.INSTANCE);
} }
if (key == ModKeyMappings.INTERACT.getKey().getValue()) { if (key == ModKeyMappings.INTERACT.getKey().getValue()) {
var mc = Minecraft.getInstance(); var mc = Minecraft.getInstance();
if (mc.player.getMainHandItem().getItem() instanceof GunItem) { if (mc.player.getMainHandItem().getItem() instanceof GunItem) {
KeyMapping.click(mc.options.keyUse.getKey()); KeyMapping.click(mc.options.keyUse.getKey());
} else if (mc.player.getMainHandItem().is(ModItems.MONITOR.get())) { } else if (mc.player.getMainHandItem().is(ModItems.MONITOR.get())) {
PacketDistributor.sendToServer(new InteractMessage(0)); PacketDistributor.sendToServer(InteractMessage.INSTANCE);
} }
} }
if (key == ModKeyMappings.DISMOUNT.getKey().getValue()) { 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())) { 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())) { if (stack.is(ModItems.MONITOR.get())) {
PacketDistributor.sendToServer(new DroneFireMessage(0)); PacketDistributor.sendToServer(DroneFireMessage.INSTANCE);
} }
if (stack.is(ModItems.LUNGE_MINE.get())) { 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 (!data.useBackpackAmmo() && data.ammo.get() <= 0 && data.reload.time() == 0) {
if (ReloadConfig.LEFT_CLICK_RELOAD.get()) { if (ReloadConfig.LEFT_CLICK_RELOAD.get()) {
PacketDistributor.sendToServer(new ReloadMessage(0)); PacketDistributor.sendToServer(ReloadMessage.INSTANCE);
ClientEventHandler.burstFireAmount = 0; ClientEventHandler.burstFireAmount = 0;
} }
} else { } else {
@ -446,7 +446,7 @@ public class ClickHandler {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (stack.is(ModItems.BOCEK.get())) { if (stack.is(ModItems.BOCEK.get())) {
PacketDistributor.sendToServer(new ReloadMessage(0)); PacketDistributor.sendToServer(ReloadMessage.INSTANCE);
} }
} }
@ -498,7 +498,7 @@ public class ClickHandler {
if (canDoubleJump) { if (canDoubleJump) {
player.setDeltaMovement(new Vec3(player.getLookAngle().x, 0.8, player.getLookAngle().z)); 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); 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; canDoubleJump = false;
} }
} }
@ -520,6 +520,6 @@ public class ClickHandler {
ClientEventHandler.dismountCountdown = 20; ClientEventHandler.dismountCountdown = 20;
return; return;
} }
PacketDistributor.sendToServer(new PlayerStopRidingMessage(0)); PacketDistributor.sendToServer(PlayerStopRidingMessage.INSTANCE);
} }
} }

View file

@ -116,7 +116,7 @@ public class ReforgingTableScreen extends AbstractContainerScreen<ReforgingTable
@Override @Override
public void onPress() { public void onPress() {
PacketDistributor.sendToServer(new GunReforgeMessage(0)); PacketDistributor.sendToServer(GunReforgeMessage.INSTANCE);
} }
@Override @Override

View file

@ -293,7 +293,7 @@ public class ClientEventHandler {
if (stack.is(ModItems.ARTILLERY_INDICATOR.get()) && holdFire) { if (stack.is(ModItems.ARTILLERY_INDICATOR.get()) && holdFire) {
holdArtilleryIndicator = Mth.clamp(holdArtilleryIndicator + 1, 0, 10); holdArtilleryIndicator = Mth.clamp(holdArtilleryIndicator + 1, 0, 10);
if (holdArtilleryIndicator >= 9) { if (holdArtilleryIndicator >= 9) {
PacketDistributor.sendToServer(new ArtilleryIndicatorFireMessage()); PacketDistributor.sendToServer(ArtilleryIndicatorFireMessage.INSTANCE);
} }
} else { } else {
holdArtilleryIndicator = Mth.clamp(holdArtilleryIndicator - 1, 0, 10); holdArtilleryIndicator = Mth.clamp(holdArtilleryIndicator - 1, 0, 10);

View file

@ -53,7 +53,7 @@ public class Monitor extends Item {
tag.putBoolean(LINKED, false); tag.putBoolean(LINKED, false);
tag.putString(LINKED_DRONE, "none"); tag.putString(LINKED_DRONE, "none");
if (player instanceof ServerPlayer serverPlayer) { if (player instanceof ServerPlayer serverPlayer) {
PacketDistributor.sendToPlayer(serverPlayer, new ResetCameraTypeMessage(0)); PacketDistributor.sendToPlayer(serverPlayer, ResetCameraTypeMessage.INSTANCE);
} }
} }

View file

@ -86,7 +86,7 @@ public abstract class EnergyMenu extends AbstractContainerMenu {
@SubscribeEvent @SubscribeEvent
public static void onFuMO25Closed(PlayerContainerEvent.Close event) { public static void onFuMO25Closed(PlayerContainerEvent.Close event) {
if (event.getContainer() instanceof FuMO25Menu && event.getEntity() instanceof ServerPlayer serverPlayer) { if (event.getContainer() instanceof FuMO25Menu && event.getEntity() instanceof ServerPlayer serverPlayer) {
PacketDistributor.sendToPlayer(serverPlayer, new RadarMenuCloseMessage(0)); PacketDistributor.sendToPlayer(serverPlayer, RadarMenuCloseMessage.INSTANCE);
} }
} }
} }

View file

@ -2,62 +2,76 @@ package com.atsuishio.superbwarfare.network;
import com.atsuishio.superbwarfare.network.message.receive.*; import com.atsuishio.superbwarfare.network.message.receive.*;
import com.atsuishio.superbwarfare.network.message.send.*; 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.event.RegisterPayloadHandlersEvent;
import net.neoforged.neoforge.network.handling.IPayloadHandler;
import net.neoforged.neoforge.network.registration.PayloadRegistrar; import net.neoforged.neoforge.network.registration.PayloadRegistrar;
public class NetworkRegistry { public class NetworkRegistry {
private static PayloadRegistrar registrar;
public static void register(final RegisterPayloadHandlersEvent event) { 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)); playToClient(PlayerVariablesSyncMessage.TYPE, PlayerVariablesSyncMessage.STREAM_CODEC, (msg, ctx) -> PlayerVariablesSyncMessage.handler(msg));
registrar.playToClient(ShakeClientMessage.TYPE, ShakeClientMessage.STREAM_CODEC, ShakeClientMessage::handler); playToClient(ShakeClientMessage.TYPE, ShakeClientMessage.STREAM_CODEC, ShakeClientMessage::handler);
registrar.playToClient(ClientMotionSyncMessage.TYPE, ClientMotionSyncMessage.STREAM_CODEC, ClientMotionSyncMessage::handler); playToClient(ClientMotionSyncMessage.TYPE, ClientMotionSyncMessage.STREAM_CODEC, ClientMotionSyncMessage::handler);
registrar.playToClient(ClientIndicatorMessage.TYPE, ClientIndicatorMessage.STREAM_CODEC, ClientIndicatorMessage::handler); playToClient(ClientIndicatorMessage.TYPE, ClientIndicatorMessage.STREAM_CODEC, ClientIndicatorMessage::handler);
registrar.playToClient(PlayerGunKillMessage.TYPE, PlayerGunKillMessage.STREAM_CODEC, PlayerGunKillMessage::handler); playToClient(PlayerGunKillMessage.TYPE, PlayerGunKillMessage.STREAM_CODEC, PlayerGunKillMessage::handler);
registrar.playToClient(GunsDataMessage.TYPE, GunsDataMessage.STREAM_CODEC, GunsDataMessage::handler); playToClient(GunsDataMessage.TYPE, GunsDataMessage.STREAM_CODEC, GunsDataMessage::handler);
registrar.playToClient(ContainerDataMessage.TYPE, ContainerDataMessage.STREAM_CODEC, ContainerDataMessage::handler); playToClient(ContainerDataMessage.TYPE, ContainerDataMessage.STREAM_CODEC, ContainerDataMessage::handler);
registrar.playToClient(ShootClientMessage.TYPE, ShootClientMessage.STREAM_CODEC, ShootClientMessage::handler); playToClient(ShootClientMessage.TYPE, ShootClientMessage.STREAM_CODEC, ShootClientMessage::handler);
registrar.playToClient(DrawClientMessage.TYPE, DrawClientMessage.STREAM_CODEC, (msg, ctx) -> DrawClientMessage.handler()); playToClient(DrawClientMessage.TYPE, DrawClientMessage.STREAM_CODEC, (msg, ctx) -> DrawClientMessage.handler());
registrar.playToClient(ResetCameraTypeMessage.TYPE, ResetCameraTypeMessage.STREAM_CODEC, ResetCameraTypeMessage::handler); playToClient(ResetCameraTypeMessage.TYPE, ResetCameraTypeMessage.STREAM_CODEC, (message2, context2) -> ResetCameraTypeMessage.handler());
registrar.playToClient(RadarMenuOpenMessage.TYPE, RadarMenuOpenMessage.STREAM_CODEC, RadarMenuOpenMessage::handler); playToClient(RadarMenuOpenMessage.TYPE, RadarMenuOpenMessage.STREAM_CODEC, RadarMenuOpenMessage::handler);
registrar.playToClient(RadarMenuCloseMessage.TYPE, RadarMenuCloseMessage.STREAM_CODEC, RadarMenuCloseMessage::handler); playToClient(RadarMenuCloseMessage.TYPE, RadarMenuCloseMessage.STREAM_CODEC, (message1, context1) -> RadarMenuCloseMessage.handler());
registrar.playToClient(ClientTacticalSprintSyncMessage.TYPE, ClientTacticalSprintSyncMessage.STREAM_CODEC, (msg, ctx) -> ClientTacticalSprintSyncMessage.handler(msg)); playToClient(ClientTacticalSprintSyncMessage.TYPE, ClientTacticalSprintSyncMessage.STREAM_CODEC, (msg, ctx) -> ClientTacticalSprintSyncMessage.handler(msg));
registrar.playToClient(DogTagEditorMessage.TYPE, DogTagEditorMessage.STREAM_CODEC, (msg, ctx) -> DogTagEditorMessage.handler(msg)); playToClient(DogTagEditorMessage.TYPE, DogTagEditorMessage.STREAM_CODEC, (msg, ctx) -> DogTagEditorMessage.handler(msg));
registrar.playToClient(VehiclesDataMessage.TYPE, VehiclesDataMessage.STREAM_CODEC, (msg, ctx) -> VehiclesDataMessage.handler(msg)); playToClient(VehiclesDataMessage.TYPE, VehiclesDataMessage.STREAM_CODEC, (msg, ctx) -> VehiclesDataMessage.handler(msg));
registrar.playToServer(LaserShootMessage.TYPE, LaserShootMessage.STREAM_CODEC, LaserShootMessage::handler); playToServer(LaserShootMessage.TYPE, LaserShootMessage.STREAM_CODEC, LaserShootMessage::handler);
registrar.playToServer(ShootMessage.TYPE, ShootMessage.STREAM_CODEC, ShootMessage::handler); playToServer(ShootMessage.TYPE, ShootMessage.STREAM_CODEC, ShootMessage::handler);
registrar.playToServer(DoubleJumpMessage.TYPE, DoubleJumpMessage.STREAM_CODEC, (message, context) -> DoubleJumpMessage.handler(context)); playToServer(DoubleJumpMessage.TYPE, DoubleJumpMessage.STREAM_CODEC, (message, context) -> DoubleJumpMessage.handler(context));
registrar.playToServer(VehicleMovementMessage.TYPE, VehicleMovementMessage.STREAM_CODEC, VehicleMovementMessage::handler); playToServer(VehicleMovementMessage.TYPE, VehicleMovementMessage.STREAM_CODEC, VehicleMovementMessage::handler);
registrar.playToServer(MeleeAttackMessage.TYPE, MeleeAttackMessage.STREAM_CODEC, MeleeAttackMessage::handler); playToServer(MeleeAttackMessage.TYPE, MeleeAttackMessage.STREAM_CODEC, MeleeAttackMessage::handler);
registrar.playToServer(LungeMineAttackMessage.TYPE, LungeMineAttackMessage.STREAM_CODEC, LungeMineAttackMessage::handler); playToServer(LungeMineAttackMessage.TYPE, LungeMineAttackMessage.STREAM_CODEC, LungeMineAttackMessage::handler);
registrar.playToServer(VehicleFireMessage.TYPE, VehicleFireMessage.STREAM_CODEC, VehicleFireMessage::handler); playToServer(VehicleFireMessage.TYPE, VehicleFireMessage.STREAM_CODEC, VehicleFireMessage::handler);
registrar.playToServer(AimVillagerMessage.TYPE, AimVillagerMessage.STREAM_CODEC, AimVillagerMessage::handler); playToServer(AimVillagerMessage.TYPE, AimVillagerMessage.STREAM_CODEC, AimVillagerMessage::handler);
registrar.playToServer(RadarChangeModeMessage.TYPE, RadarChangeModeMessage.STREAM_CODEC, RadarChangeModeMessage::handler); playToServer(RadarChangeModeMessage.TYPE, RadarChangeModeMessage.STREAM_CODEC, RadarChangeModeMessage::handler);
registrar.playToServer(RadarSetParametersMessage.TYPE, RadarSetParametersMessage.STREAM_CODEC, RadarSetParametersMessage::handler); playToServer(RadarSetParametersMessage.TYPE, RadarSetParametersMessage.STREAM_CODEC, RadarSetParametersMessage::handler);
registrar.playToServer(RadarSetPosMessage.TYPE, RadarSetPosMessage.STREAM_CODEC, RadarSetPosMessage::handler); playToServer(RadarSetPosMessage.TYPE, RadarSetPosMessage.STREAM_CODEC, RadarSetPosMessage::handler);
registrar.playToServer(RadarSetTargetMessage.TYPE, RadarSetTargetMessage.STREAM_CODEC, RadarSetTargetMessage::handler); playToServer(RadarSetTargetMessage.TYPE, RadarSetTargetMessage.STREAM_CODEC, RadarSetTargetMessage::handler);
registrar.playToServer(GunReforgeMessage.TYPE, GunReforgeMessage.STREAM_CODEC, GunReforgeMessage::handler); playToServer(GunReforgeMessage.TYPE, GunReforgeMessage.STREAM_CODEC, (message1, context1) -> GunReforgeMessage.handler(context1));
registrar.playToServer(SetPerkLevelMessage.TYPE, SetPerkLevelMessage.STREAM_CODEC, SetPerkLevelMessage::handler); playToServer(SetPerkLevelMessage.TYPE, SetPerkLevelMessage.STREAM_CODEC, SetPerkLevelMessage::handler);
registrar.playToServer(SwitchVehicleWeaponMessage.TYPE, SwitchVehicleWeaponMessage.STREAM_CODEC, SwitchVehicleWeaponMessage::handler); playToServer(SwitchVehicleWeaponMessage.TYPE, SwitchVehicleWeaponMessage.STREAM_CODEC, SwitchVehicleWeaponMessage::handler);
registrar.playToServer(AdjustZoomFovMessage.TYPE, AdjustZoomFovMessage.STREAM_CODEC, AdjustZoomFovMessage::handler); playToServer(AdjustZoomFovMessage.TYPE, AdjustZoomFovMessage.STREAM_CODEC, AdjustZoomFovMessage::handler);
registrar.playToServer(SwitchScopeMessage.TYPE, SwitchScopeMessage.STREAM_CODEC, SwitchScopeMessage::handler); playToServer(SwitchScopeMessage.TYPE, SwitchScopeMessage.STREAM_CODEC, SwitchScopeMessage::handler);
registrar.playToServer(FireKeyMessage.TYPE, FireKeyMessage.STREAM_CODEC, FireKeyMessage::handler); playToServer(FireKeyMessage.TYPE, FireKeyMessage.STREAM_CODEC, FireKeyMessage::handler);
registrar.playToServer(ReloadMessage.TYPE, ReloadMessage.STREAM_CODEC, ReloadMessage::handler); playToServer(ReloadMessage.TYPE, ReloadMessage.STREAM_CODEC, (message2, context2) -> ReloadMessage.handler(context2));
registrar.playToServer(FireModeMessage.TYPE, FireModeMessage.STREAM_CODEC, FireModeMessage::handler); playToServer(FireModeMessage.TYPE, FireModeMessage.STREAM_CODEC, (message1, context1) -> FireModeMessage.handler(context1));
registrar.playToServer(PlayerStopRidingMessage.TYPE, PlayerStopRidingMessage.STREAM_CODEC, PlayerStopRidingMessage::handler); playToServer(PlayerStopRidingMessage.TYPE, PlayerStopRidingMessage.STREAM_CODEC, (message1, context1) -> PlayerStopRidingMessage.handler(context1));
registrar.playToServer(ZoomMessage.TYPE, ZoomMessage.STREAM_CODEC, ZoomMessage::handler); playToServer(ZoomMessage.TYPE, ZoomMessage.STREAM_CODEC, ZoomMessage::handler);
registrar.playToServer(DroneFireMessage.TYPE, DroneFireMessage.STREAM_CODEC, DroneFireMessage::handler); playToServer(DroneFireMessage.TYPE, DroneFireMessage.STREAM_CODEC, (message1, context1) -> DroneFireMessage.handler(context1));
registrar.playToServer(SetFiringParametersMessage.TYPE, SetFiringParametersMessage.STREAM_CODEC, (message, context) -> SetFiringParametersMessage.handler(context)); playToServer(SetFiringParametersMessage.TYPE, SetFiringParametersMessage.STREAM_CODEC, (message, context) -> SetFiringParametersMessage.handler(context));
registrar.playToServer(ArtilleryIndicatorFireMessage.TYPE, ArtilleryIndicatorFireMessage.STREAM_CODEC, (message, context) -> ArtilleryIndicatorFireMessage.handler(context)); playToServer(ArtilleryIndicatorFireMessage.TYPE, ArtilleryIndicatorFireMessage.STREAM_CODEC, (message, context) -> ArtilleryIndicatorFireMessage.handler(context));
registrar.playToServer(SensitivityMessage.TYPE, SensitivityMessage.STREAM_CODEC, SensitivityMessage::handler); playToServer(SensitivityMessage.TYPE, SensitivityMessage.STREAM_CODEC, SensitivityMessage::handler);
registrar.playToServer(EditMessage.TYPE, EditMessage.STREAM_CODEC, EditMessage::handler); playToServer(EditMessage.TYPE, EditMessage.STREAM_CODEC, EditMessage::handler);
registrar.playToServer(InteractMessage.TYPE, InteractMessage.STREAM_CODEC, InteractMessage::handler); playToServer(InteractMessage.TYPE, InteractMessage.STREAM_CODEC, (interactMessage, context) -> InteractMessage.handler(context));
registrar.playToServer(AdjustMortarAngleMessage.TYPE, AdjustMortarAngleMessage.STREAM_CODEC, AdjustMortarAngleMessage::handler); playToServer(AdjustMortarAngleMessage.TYPE, AdjustMortarAngleMessage.STREAM_CODEC, AdjustMortarAngleMessage::handler);
registrar.playToServer(ChangeVehicleSeatMessage.TYPE, ChangeVehicleSeatMessage.STREAM_CODEC, ChangeVehicleSeatMessage::handler); playToServer(ChangeVehicleSeatMessage.TYPE, ChangeVehicleSeatMessage.STREAM_CODEC, ChangeVehicleSeatMessage::handler);
registrar.playToServer(ShowChargingRangeMessage.TYPE, ShowChargingRangeMessage.STREAM_CODEC, ShowChargingRangeMessage::handler); playToServer(ShowChargingRangeMessage.TYPE, ShowChargingRangeMessage.STREAM_CODEC, ShowChargingRangeMessage::handler);
registrar.playToServer(TacticalSprintMessage.TYPE, TacticalSprintMessage.STREAM_CODEC, TacticalSprintMessage::handler); playToServer(TacticalSprintMessage.TYPE, TacticalSprintMessage.STREAM_CODEC, TacticalSprintMessage::handler);
registrar.playToServer(DogTagFinishEditMessage.TYPE, DogTagFinishEditMessage.STREAM_CODEC, DogTagFinishEditMessage::handler); playToServer(DogTagFinishEditMessage.TYPE, DogTagFinishEditMessage.STREAM_CODEC, DogTagFinishEditMessage::handler);
registrar.playToServer(MouseMoveMessage.TYPE, MouseMoveMessage.STREAM_CODEC, MouseMoveMessage::handler); playToServer(MouseMoveMessage.TYPE, MouseMoveMessage.STREAM_CODEC, MouseMoveMessage::handler);
}
public static <T extends CustomPacketPayload> void playToClient(CustomPacketPayload.Type<T> type, StreamCodec<? super RegistryFriendlyByteBuf, T> reader, IPayloadHandler<T> handler) {
registrar.playToClient(type, reader, handler);
}
public static <T extends CustomPacketPayload> void playToServer(CustomPacketPayload.Type<T> type, StreamCodec<? super RegistryFriendlyByteBuf, T> reader, IPayloadHandler<T> handler) {
registrar.playToServer(type, reader, handler);
} }
} }

View file

@ -3,22 +3,18 @@ package com.atsuishio.superbwarfare.network.message.receive;
import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.screens.FuMO25ScreenHelper; import com.atsuishio.superbwarfare.client.screens.FuMO25ScreenHelper;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.neoforged.neoforge.network.handling.IPayloadContext;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public record RadarMenuCloseMessage(int msgType) implements CustomPacketPayload { public enum RadarMenuCloseMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<RadarMenuCloseMessage> TYPE = new Type<>(Mod.loc("radar_menu_close")); public static final Type<RadarMenuCloseMessage> TYPE = new Type<>(Mod.loc("radar_menu_close"));
public static final StreamCodec<ByteBuf, RadarMenuCloseMessage> STREAM_CODEC = StreamCodec.composite( public static final StreamCodec<ByteBuf, RadarMenuCloseMessage> STREAM_CODEC = StreamCodec.unit(INSTANCE);
ByteBufCodecs.INT,
RadarMenuCloseMessage::msgType,
RadarMenuCloseMessage::new
);
public static void handler(RadarMenuCloseMessage message, final IPayloadContext context) { public static void handler() {
FuMO25ScreenHelper.resetEntities(); FuMO25ScreenHelper.resetEntities();
FuMO25ScreenHelper.pos = null; FuMO25ScreenHelper.pos = null;
} }

View file

@ -3,22 +3,18 @@ package com.atsuishio.superbwarfare.network.message.receive;
import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.network.ClientPacketHandler; import com.atsuishio.superbwarfare.network.ClientPacketHandler;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.neoforged.neoforge.network.handling.IPayloadContext;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public record ResetCameraTypeMessage(int msgType) implements CustomPacketPayload { public enum ResetCameraTypeMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<ResetCameraTypeMessage> TYPE = new Type<>(Mod.loc("reset_camera_type")); public static final Type<ResetCameraTypeMessage> TYPE = new Type<>(Mod.loc("reset_camera_type"));
public static final StreamCodec<ByteBuf, ResetCameraTypeMessage> STREAM_CODEC = StreamCodec.composite( public static final StreamCodec<ByteBuf, ResetCameraTypeMessage> STREAM_CODEC = StreamCodec.unit(INSTANCE);
ByteBufCodecs.INT,
ResetCameraTypeMessage::msgType,
ResetCameraTypeMessage::new
);
public static void handler(ResetCameraTypeMessage message, final IPayloadContext context) { public static void handler() {
ClientPacketHandler.handleResetCameraType(); ClientPacketHandler.handleResetCameraType();
} }

View file

@ -31,10 +31,11 @@ import java.util.Objects;
import static com.atsuishio.superbwarfare.item.ArtilleryIndicator.TAG_MORTARS; import static com.atsuishio.superbwarfare.item.ArtilleryIndicator.TAG_MORTARS;
public class ArtilleryIndicatorFireMessage implements CustomPacketPayload { public enum ArtilleryIndicatorFireMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<ArtilleryIndicatorFireMessage> TYPE = new Type<>(Mod.loc("artillery_indicator_fire")); public static final Type<ArtilleryIndicatorFireMessage> TYPE = new Type<>(Mod.loc("artillery_indicator_fire"));
public static final StreamCodec<ByteBuf, ArtilleryIndicatorFireMessage> STREAM_CODEC = StreamCodec.unit(new ArtilleryIndicatorFireMessage()); public static final StreamCodec<ByteBuf, ArtilleryIndicatorFireMessage> STREAM_CODEC = StreamCodec.unit(ArtilleryIndicatorFireMessage.INSTANCE);
public static void handler(final IPayloadContext context) { public static void handler(final IPayloadContext context) {
Player player = context.player(); Player player = context.player();

View file

@ -4,7 +4,6 @@ import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.init.ModSounds;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
@ -15,14 +14,12 @@ import net.minecraft.world.phys.Vec3;
import net.neoforged.neoforge.network.handling.IPayloadContext; import net.neoforged.neoforge.network.handling.IPayloadContext;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public record DoubleJumpMessage(int empty) implements CustomPacketPayload { public enum DoubleJumpMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<DoubleJumpMessage> TYPE = new Type<>(Mod.loc("double_jump")); public static final Type<DoubleJumpMessage> TYPE = new Type<>(Mod.loc("double_jump"));
public static final StreamCodec<ByteBuf, DoubleJumpMessage> STREAM_CODEC = StreamCodec.composite( public static final StreamCodec<ByteBuf, DoubleJumpMessage> STREAM_CODEC = StreamCodec.unit(INSTANCE);
ByteBufCodecs.INT,
DoubleJumpMessage::empty,
DoubleJumpMessage::new
);
public static void handler(final IPayloadContext context) { public static void handler(final IPayloadContext context) {
ServerPlayer player = (ServerPlayer) context.player(); ServerPlayer player = (ServerPlayer) context.player();

View file

@ -12,7 +12,6 @@ import io.netty.buffer.ByteBuf;
import net.minecraft.ChatFormatting; import net.minecraft.ChatFormatting;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Entity;
@ -26,16 +25,14 @@ import org.jetbrains.annotations.NotNull;
import java.util.Objects; import java.util.Objects;
public record DroneFireMessage(int msgType) implements CustomPacketPayload { public enum DroneFireMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<DroneFireMessage> TYPE = new Type<>(Mod.loc("drone_fire")); public static final Type<DroneFireMessage> TYPE = new Type<>(Mod.loc("drone_fire"));
public static final StreamCodec<ByteBuf, DroneFireMessage> STREAM_CODEC = StreamCodec.composite( public static final StreamCodec<ByteBuf, DroneFireMessage> STREAM_CODEC = StreamCodec.unit(INSTANCE);
ByteBufCodecs.INT,
DroneFireMessage::msgType,
DroneFireMessage::new
);
public static void handler(DroneFireMessage message, final IPayloadContext context) { public static void handler(final IPayloadContext context) {
Player player = context.player(); Player player = context.player();
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
var tag = NBTTool.getTag(stack); var tag = NBTTool.getTag(stack);

View file

@ -8,7 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds;
import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.tools.SoundTool; import com.atsuishio.superbwarfare.tools.SoundTool;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
@ -18,16 +17,14 @@ import net.neoforged.neoforge.capabilities.Capabilities;
import net.neoforged.neoforge.network.handling.IPayloadContext; import net.neoforged.neoforge.network.handling.IPayloadContext;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public record FireModeMessage(int msgType) implements CustomPacketPayload { public enum FireModeMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<FireModeMessage> TYPE = new Type<>(Mod.loc("fire_mode")); public static final Type<FireModeMessage> TYPE = new Type<>(Mod.loc("fire_mode"));
public static final StreamCodec<ByteBuf, FireModeMessage> STREAM_CODEC = StreamCodec.composite( public static final StreamCodec<ByteBuf, FireModeMessage> STREAM_CODEC = StreamCodec.unit(INSTANCE);
ByteBufCodecs.INT,
FireModeMessage::msgType,
FireModeMessage::new
);
public static void handler(FireModeMessage message, final IPayloadContext context) { public static void handler(final IPayloadContext context) {
changeFireMode(context.player()); changeFireMode(context.player());
} }

View file

@ -3,7 +3,6 @@ package com.atsuishio.superbwarfare.network.message.send;
import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.menu.ReforgingTableMenu; import com.atsuishio.superbwarfare.menu.ReforgingTableMenu;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
@ -11,16 +10,14 @@ import net.minecraft.world.inventory.AbstractContainerMenu;
import net.neoforged.neoforge.network.handling.IPayloadContext; import net.neoforged.neoforge.network.handling.IPayloadContext;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public record GunReforgeMessage(int msgType) implements CustomPacketPayload { public enum GunReforgeMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<GunReforgeMessage> TYPE = new Type<>(Mod.loc("gun_reforge")); public static final Type<GunReforgeMessage> TYPE = new Type<>(Mod.loc("gun_reforge"));
public static final StreamCodec<ByteBuf, GunReforgeMessage> STREAM_CODEC = StreamCodec.composite( public static final StreamCodec<ByteBuf, GunReforgeMessage> STREAM_CODEC = StreamCodec.unit(INSTANCE);
ByteBufCodecs.INT,
GunReforgeMessage::msgType,
GunReforgeMessage::new
);
public static void handler(GunReforgeMessage message, final IPayloadContext context) { public static void handler(final IPayloadContext context) {
ServerPlayer player = (ServerPlayer) context.player(); ServerPlayer player = (ServerPlayer) context.player();
AbstractContainerMenu abstractcontainermenu = player.containerMenu; AbstractContainerMenu abstractcontainermenu = player.containerMenu;

View file

@ -9,7 +9,6 @@ import com.atsuishio.superbwarfare.tools.TraceTool;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction; import net.minecraft.core.Direction;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -23,20 +22,18 @@ import net.minecraft.world.phys.Vec3;
import net.neoforged.neoforge.network.handling.IPayloadContext; import net.neoforged.neoforge.network.handling.IPayloadContext;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public record InteractMessage(int msgType) implements CustomPacketPayload { public enum InteractMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<InteractMessage> TYPE = new Type<>(Mod.loc("interact")); public static final Type<InteractMessage> TYPE = new Type<>(Mod.loc("interact"));
public static final StreamCodec<ByteBuf, InteractMessage> STREAM_CODEC = StreamCodec.composite( public static final StreamCodec<ByteBuf, InteractMessage> STREAM_CODEC = StreamCodec.unit(INSTANCE);
ByteBufCodecs.INT,
InteractMessage::msgType,
InteractMessage::new
);
public static void handler(InteractMessage message, final IPayloadContext context) { public static void handler(final IPayloadContext context) {
handleInteract(context.player(), message.msgType); handleInteract(context.player());
} }
public static void handleInteract(Player player, int type) { public static void handleInteract(Player player) {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
var tag = NBTTool.getTag(stack); var tag = NBTTool.getTag(stack);

View file

@ -3,23 +3,20 @@ package com.atsuishio.superbwarfare.network.message.send;
import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.entity.vehicle.base.VehicleEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.VehicleEntity;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.neoforged.neoforge.network.handling.IPayloadContext; import net.neoforged.neoforge.network.handling.IPayloadContext;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public record PlayerStopRidingMessage(int msgType) implements CustomPacketPayload { public enum PlayerStopRidingMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<PlayerStopRidingMessage> TYPE = new Type<>(Mod.loc("player_stop_riding")); public static final Type<PlayerStopRidingMessage> TYPE = new Type<>(Mod.loc("player_stop_riding"));
public static final StreamCodec<ByteBuf, PlayerStopRidingMessage> STREAM_CODEC = StreamCodec.composite( public static final StreamCodec<ByteBuf, PlayerStopRidingMessage> STREAM_CODEC = StreamCodec.unit(INSTANCE);
ByteBufCodecs.INT,
PlayerStopRidingMessage::msgType,
PlayerStopRidingMessage::new
);
public static void handler(PlayerStopRidingMessage message, final IPayloadContext context) { public static void handler(final IPayloadContext context) {
ServerPlayer player = (ServerPlayer) context.player(); ServerPlayer player = (ServerPlayer) context.player();
var vehicle = player.getVehicle(); var vehicle = player.getVehicle();
if (!(vehicle instanceof VehicleEntity)) return; if (!(vehicle instanceof VehicleEntity)) return;

View file

@ -5,7 +5,6 @@ import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.data.gun.ReloadType; import com.atsuishio.superbwarfare.data.gun.ReloadType;
import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.GunItem;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.network.codec.ByteBufCodecs;
import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.world.entity.player.Player; 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 net.neoforged.neoforge.network.handling.IPayloadContext;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public record ReloadMessage(int msgType) implements CustomPacketPayload { public enum ReloadMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<ReloadMessage> TYPE = new Type<>(Mod.loc("reload")); public static final Type<ReloadMessage> TYPE = new Type<>(Mod.loc("reload"));
public static final StreamCodec<ByteBuf, ReloadMessage> STREAM_CODEC = StreamCodec.composite( public static final StreamCodec<ByteBuf, ReloadMessage> STREAM_CODEC = StreamCodec.unit(INSTANCE);
ByteBufCodecs.INT,
ReloadMessage::msgType,
ReloadMessage::new
);
public static void handler(ReloadMessage message, final IPayloadContext context) { public static void handler(final IPayloadContext context) {
pressAction(context.player(), message.msgType); pressAction(context.player());
} }
public static void pressAction(Player player, int type) { public static void pressAction(Player player) {
if (type != 0) return;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!(stack.getItem() instanceof GunItem gunItem)) return; if (!(stack.getItem() instanceof GunItem gunItem)) return;

View file

@ -31,10 +31,11 @@ import java.util.Objects;
import static com.atsuishio.superbwarfare.item.ArtilleryIndicator.TAG_MORTARS; import static com.atsuishio.superbwarfare.item.ArtilleryIndicator.TAG_MORTARS;
public class SetFiringParametersMessage implements CustomPacketPayload { public enum SetFiringParametersMessage implements CustomPacketPayload {
INSTANCE;
public static final Type<SetFiringParametersMessage> TYPE = new Type<>(Mod.loc("set_firing_parameters")); public static final Type<SetFiringParametersMessage> TYPE = new Type<>(Mod.loc("set_firing_parameters"));
public static final StreamCodec<ByteBuf, SetFiringParametersMessage> STREAM_CODEC = StreamCodec.unit(new SetFiringParametersMessage()); public static final StreamCodec<ByteBuf, SetFiringParametersMessage> STREAM_CODEC = StreamCodec.unit(SetFiringParametersMessage.INSTANCE);
public static void handler(final IPayloadContext context) { public static void handler(final IPayloadContext context) {
Player player = context.player(); Player player = context.player();