diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/world/anhgelus/molehunt/Molehunt.java | 4 | ||||
| -rw-r--r-- | src/main/java/world/anhgelus/molehunt/config/ConfigPayload.java | 25 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/world/anhgelus/molehunt/Molehunt.java b/src/main/java/world/anhgelus/molehunt/Molehunt.java index 5df63b1..140ab14 100644 --- a/src/main/java/world/anhgelus/molehunt/Molehunt.java +++ b/src/main/java/world/anhgelus/molehunt/Molehunt.java @@ -7,6 +7,7 @@ import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback; import net.fabricmc.fabric.api.entity.event.v1.ServerLivingEntityEvents; import net.fabricmc.fabric.api.entity.event.v1.ServerPlayerEvents; import net.fabricmc.fabric.api.message.v1.ServerMessageEvents; +import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; import net.minecraft.network.packet.s2c.play.OverlayMessageS2CPacket; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.server.network.ServerPlayerEntity; @@ -15,6 +16,7 @@ import net.minecraft.world.GameMode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import world.anhgelus.molehunt.config.Config; +import world.anhgelus.molehunt.config.ConfigPayload; import java.util.HashMap; @@ -93,5 +95,7 @@ public class Molehunt implements ModInitializer { if (game.getMoles().contains(oldPlayer)) game.updateMole(oldPlayer, newPlayer); newPlayer.changeGameMode(GameMode.SPECTATOR); }); + + PayloadTypeRegistry.playS2C().register(ConfigPayload.ID, ConfigPayload.CODEC); } } diff --git a/src/main/java/world/anhgelus/molehunt/config/ConfigPayload.java b/src/main/java/world/anhgelus/molehunt/config/ConfigPayload.java new file mode 100644 index 0000000..a884c9a --- /dev/null +++ b/src/main/java/world/anhgelus/molehunt/config/ConfigPayload.java @@ -0,0 +1,25 @@ +package world.anhgelus.molehunt.config;
+
+import net.minecraft.network.RegistryByteBuf;
+import net.minecraft.network.codec.PacketCodec;
+import net.minecraft.network.codec.PacketCodecs;
+import net.minecraft.network.packet.CustomPayload;
+import net.minecraft.util.Identifier;
+import world.anhgelus.molehunt.Molehunt;
+
+public record ConfigPayload(boolean showNametag, boolean showSkins, boolean showTab) implements CustomPayload {
+ public static final Identifier CONFIG_PACKET_ID = Identifier.of(Molehunt.MOD_ID, "config");
+
+ public static final CustomPayload.Id<ConfigPayload> ID = new CustomPayload.Id<>(CONFIG_PACKET_ID);
+ public static final PacketCodec<RegistryByteBuf, ConfigPayload> CODEC = PacketCodec.tuple(
+ PacketCodecs.BOOL, ConfigPayload::showNametag,
+ PacketCodecs.BOOL, ConfigPayload::showSkins,
+ PacketCodecs.BOOL, ConfigPayload::showTab,
+ ConfigPayload::new
+ );
+
+ @Override
+ public Id<? extends CustomPayload> getId() {
+ return ID;
+ }
+}
|
