Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.mcreator.modid;
- import net.minecraftforge.fml.network.NetworkEvent;
- import net.minecraftforge.common.MinecraftForge;
- import net.minecraft.network.PacketBuffer;
- import net.minecraft.entity.player.ServerPlayerEntity;
- import net.mcreator.modid.ModIdMod;
- import java.util.function.Supplier;
- import java.util.function.BiConsumer;
- import java.util.function.Function;
- public class TextFieldPacketHandler {
- public TextFieldPacketHandler() {
- addNetworkMessage((int) 6554/*Random number :P*/, TextFieldDataSyncMessage.class, TextFieldDataSyncMessage::buffer, TextFieldDataSyncMessage::new, TextFieldDataSyncMessage::handler);
- MinecraftForge.EVENT_BUS.register(this);
- }
- public <T> void addNetworkMessage(int id, Class<T> messageType, BiConsumer<T, PacketBuffer> encoder, Function<PacketBuffer, T> decoder,
- BiConsumer<T, Supplier<NetworkEvent.Context>> messageConsumer) {
- ModIdMod.PACKET_HANDLER.registerMessage(id, messageType, encoder, decoder, messageConsumer);
- }
- public static class TextFieldDataSyncMessage {
- public String data;
- public TextFieldDataSyncMessage(PacketBuffer buffer) {
- this.data = "";
- this.data = (buffer.readString());
- }
- public TextFieldDataSyncMessage(String data) {
- this.data = data;
- }
- public static void buffer(TextFieldDataSyncMessage message, PacketBuffer buffer) {
- buffer.writeString(message.data);
- }
- public static void handler(TextFieldDataSyncMessage message, Supplier<NetworkEvent.Context> contextSupplier) {
- NetworkEvent.Context context = contextSupplier.get();
- context.enqueueWork(() -> {
- if (context.getDirection().getReceptionSide().isServer()) {
- ServerPlayerEntity sender = context.getSender();
- if (sender != null) {
- sender.getCapability(ModIdModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
- capability.TmpTextFInput = message.data;
- capability.syncPlayerVariables(sender);
- });
- }
- }
- });
- context.setPacketHandled(true);
- }
- }
- }
Advertisement
RAW Paste Data
Copied
Advertisement