Advertisement
Guest User

Untitled

a guest
Oct 5th, 2022
466
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.42 KB | Source Code | 0 0
  1. package net.mcreator.modid;
  2.  
  3. import net.minecraftforge.fml.network.NetworkEvent;
  4. import net.minecraftforge.common.MinecraftForge;
  5.  
  6. import net.minecraft.network.PacketBuffer;
  7. import net.minecraft.entity.player.ServerPlayerEntity;
  8.  
  9. import net.mcreator.modid.YourMod;
  10. import net.mcreator.modid.YourModVariables;
  11.  
  12. import java.util.function.Supplier;
  13. import java.util.function.BiConsumer;
  14. import java.util.function.Function;
  15.  
  16.  
  17. public class CustomPacketHandler {
  18.     public CustomPacketHandler() {
  19.     }
  20.  
  21.     public static <T> void addNetworkMessage(int id, Class<T> messageType, BiConsumer<T, PacketBuffer> encoder, Function<PacketBuffer, T> decoder,
  22.             BiConsumer<T, Supplier<NetworkEvent.Context>> messageConsumer) {
  23.         MagicWitchcraftMod.PACKET_HANDLER.registerMessage(id, messageType, encoder, decoder, messageConsumer);
  24.     }
  25.  
  26.  
  27.     public static class TextFieldDataSyncMessage {
  28.         public String data;
  29.         public TextFieldDataSyncMessage(PacketBuffer buffer) {
  30.             this.data = "";
  31.             this.data = (buffer.readString());
  32.         }
  33.  
  34.         public TextFieldDataSyncMessage(String data) {
  35.             this.data = data;
  36.         }
  37.  
  38.         public static void buffer(TextFieldDataSyncMessage message, PacketBuffer buffer) {
  39.             buffer.writeString(message.data);
  40.         }
  41.  
  42.         public static void handler(TextFieldDataSyncMessage message, Supplier<NetworkEvent.Context> contextSupplier) {
  43.             NetworkEvent.Context context = contextSupplier.get();
  44.             context.enqueueWork(new Runnable() {
  45.                 @Override
  46.                 public void run() {
  47.                     if (context.getDirection().getReceptionSide().isServer()) {
  48.                         ServerPlayerEntity sender = context.getSender();
  49.                         if (sender != null) {
  50.                             String _setval = (String) message.data;
  51.                             MagicWitchcraftModVariables.tmpInputList.add(sender.getUniqueID().toString());  // here i'm adding the player uuid to an ArrayList global variable (added with a plugin)
  52.                             MagicWitchcraftModVariables.tmpInputList.add(_setval);  // here i'm adding to the same list the content of the packet send to server, here it's the TextField content.
  53.                         }
  54.                     }
  55.                 }
  56.             });
  57.             context.setPacketHandled(true);
  58.         }
  59.     }
  60. }
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement