尝试重构战术冲刺禁用指令
This commit is contained in:
parent
50f9ecb46b
commit
77fa71a9ee
3 changed files with 38 additions and 2 deletions
|
@ -3,11 +3,13 @@ package com.atsuishio.superbwarfare.command;
|
|||
import com.atsuishio.superbwarfare.config.server.ExplosionConfig;
|
||||
import com.atsuishio.superbwarfare.config.server.MiscConfig;
|
||||
import com.atsuishio.superbwarfare.config.server.VehicleConfig;
|
||||
import com.atsuishio.superbwarfare.network.message.receive.ClientTacticalSprintSyncMessage;
|
||||
import com.mojang.brigadier.arguments.BoolArgumentType;
|
||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||
import net.minecraft.commands.CommandSourceStack;
|
||||
import net.minecraft.commands.Commands;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.neoforged.neoforge.network.PacketDistributor;
|
||||
|
||||
public class ConfigCommand {
|
||||
|
||||
|
@ -28,6 +30,8 @@ public class ConfigCommand {
|
|||
VehicleConfig.COLLISION_DESTROY_BLOCKS_BEASTLY.set(false);
|
||||
|
||||
VehicleConfig.COLLISION_DESTROY_BLOCKS.save();
|
||||
VehicleConfig.COLLISION_DESTROY_HARD_BLOCKS.save();
|
||||
VehicleConfig.COLLISION_DESTROY_BLOCKS_BEASTLY.save();
|
||||
|
||||
context.getSource().sendSuccess(() -> Component.translatable("commands.config.collision_destroy.none"), true);
|
||||
return 0;
|
||||
|
@ -74,6 +78,8 @@ public class ConfigCommand {
|
|||
MiscConfig.ALLOW_TACTICAL_SPRINT.set(value);
|
||||
MiscConfig.ALLOW_TACTICAL_SPRINT.save();
|
||||
|
||||
PacketDistributor.sendToAllPlayers(new ClientTacticalSprintSyncMessage(value));
|
||||
|
||||
context.getSource().sendSuccess(() -> Component.translatable(value ? "commands.config.tactical_sprint.enabled" : "commands.config.tactical_sprint.disabled"), true);
|
||||
return 0;
|
||||
})));
|
||||
|
|
|
@ -9,7 +9,7 @@ public class NetworkRegistry {
|
|||
public static void register(final RegisterPayloadHandlersEvent event) {
|
||||
final PayloadRegistrar registrar = event.registrar("1");
|
||||
|
||||
registrar.playToClient(PlayerVariablesSyncMessage.TYPE, PlayerVariablesSyncMessage.STREAM_CODEC, (message, context1) -> PlayerVariablesSyncMessage.handler(message));
|
||||
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);
|
||||
|
@ -17,11 +17,12 @@ public class NetworkRegistry {
|
|||
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, (drawClientMessage, context) -> DrawClientMessage.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(SimulationDistanceMessage.TYPE, SimulationDistanceMessage.STREAM_CODEC, SimulationDistanceMessage::handler);
|
||||
registrar.playToClient(ClientTacticalSprintSyncMessage.TYPE, ClientTacticalSprintSyncMessage.STREAM_CODEC, (msg, ctx) -> ClientTacticalSprintSyncMessage.handler(msg));
|
||||
|
||||
registrar.playToServer(LaserShootMessage.TYPE, LaserShootMessage.STREAM_CODEC, LaserShootMessage::handler);
|
||||
registrar.playToServer(ShootMessage.TYPE, ShootMessage.STREAM_CODEC, ShootMessage::handler);
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
package com.atsuishio.superbwarfare.network.message.receive;
|
||||
|
||||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.config.server.MiscConfig;
|
||||
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 org.jetbrains.annotations.NotNull;
|
||||
|
||||
public record ClientTacticalSprintSyncMessage(boolean flag) implements CustomPacketPayload {
|
||||
public static final Type<ClientTacticalSprintSyncMessage> TYPE = new Type<>(Mod.loc("client_indicator"));
|
||||
|
||||
public static final StreamCodec<ByteBuf, ClientTacticalSprintSyncMessage> STREAM_CODEC = StreamCodec.composite(
|
||||
ByteBufCodecs.BOOL,
|
||||
ClientTacticalSprintSyncMessage::flag,
|
||||
ClientTacticalSprintSyncMessage::new
|
||||
);
|
||||
|
||||
public static void handler(ClientTacticalSprintSyncMessage message) {
|
||||
MiscConfig.ALLOW_TACTICAL_SPRINT.set(message.flag);
|
||||
MiscConfig.ALLOW_TACTICAL_SPRINT.save();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Type<? extends CustomPacketPayload> type() {
|
||||
return TYPE;
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue