Guest User

Untitled

a guest
Feb 19th, 2023
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. public class PacketSyncTeleporter2S {
  2.  
  3. private BlockPos blockPos;
  4. private int x,y,z,selected, dest;
  5. private String dimension,name;
  6. private boolean exists;
  7.  
  8. public PacketSyncTeleporter2S(
  9. int dest, int x,int y,int z, int selected, boolean exists, String dimension, String name, BlockPos pos) {
  10. this.blockPos = pos;
  11. this.exists = exists;
  12. this.name = name;
  13. this.dimension = dimension;
  14. this.dest = dest;
  15. this.x = x;
  16. this.y = y;
  17. this.z = z;
  18. this.selected = selected;
  19. }
  20.  
  21. //read
  22. public PacketSyncTeleporter2S(FriendlyByteBuf buf) {
  23. this.dimension = buf.readUtf();
  24. this.name = buf.readUtf();
  25. this.blockPos = buf.readBlockPos();
  26. this.x = buf.readInt();
  27. this.y = buf.readInt();
  28. this.z = buf.readInt();
  29. this.exists = buf.readBoolean();
  30. this.dest = buf.readInt();
  31. this.selected = buf.readInt();
  32. }
  33.  
  34. //write
  35. public void toBytes(FriendlyByteBuf buf) {
  36. buf.writeInt(x);
  37. buf.writeInt(y);
  38. buf.writeInt(z);
  39. buf.writeInt(selected);
  40. buf.writeInt(dest);
  41. buf.writeUtf(dimension);
  42. buf.writeUtf(name);
  43. buf.writeBoolean(exists);
  44. buf.writeBlockPos(blockPos);
  45. }
  46.  
  47. public boolean handle(Supplier<NetworkEvent.Context> ctx) {
  48. NetworkEvent.Context context = ctx.get();
  49. context.enqueueWork(() -> {
  50. // This is the server
  51. ServerLevel level = context.getSender().getLevel();
  52. if(level.getBlockEntity(blockPos) instanceof WarpPipeBlockEntity blockEntity) {
  53. blockEntity.setSelectedWheelPart(selected);
  54. blockEntity.setPosX(x, dest);
  55. blockEntity.setPosY(y, dest);
  56. blockEntity.setPosZ(z, dest);
  57. blockEntity.setDestName(dest, name);
  58. blockEntity.setDestDimension(dest, dimension);
  59. blockEntity.setDestExists(dest, exists);
  60. blockEntity.setChanged();
  61. if(Minecraft.getInstance().player.containerMenu instanceof TeleporterMenu menu &&
  62. menu.blockEntity.getBlockPos().equals(blockPos)) {
  63. blockEntity.setSelectedWheelPart(dest);
  64. blockEntity.setPosX(x, dest);
  65. blockEntity.setPosY(y, dest);
  66. blockEntity.setPosZ(z, dest);
  67. blockEntity.setDestName(dest, name);
  68. blockEntity.setDestDimension(dest, dimension);
  69. blockEntity.setDestExists(dest, exists);
  70. blockEntity.setChanged();
  71. }
  72. }
  73. });
  74. return true;
  75. }
  76. }
Add Comment
Please, Sign In to add comment