Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PacketSyncTeleporter2S {
- private BlockPos blockPos;
- private int x,y,z,selected, dest;
- private String dimension,name;
- private boolean exists;
- public PacketSyncTeleporter2S(
- int dest, int x,int y,int z, int selected, boolean exists, String dimension, String name, BlockPos pos) {
- this.blockPos = pos;
- this.exists = exists;
- this.name = name;
- this.dimension = dimension;
- this.dest = dest;
- this.x = x;
- this.y = y;
- this.z = z;
- this.selected = selected;
- }
- //read
- public PacketSyncTeleporter2S(FriendlyByteBuf buf) {
- this.dimension = buf.readUtf();
- this.name = buf.readUtf();
- this.blockPos = buf.readBlockPos();
- this.x = buf.readInt();
- this.y = buf.readInt();
- this.z = buf.readInt();
- this.exists = buf.readBoolean();
- this.dest = buf.readInt();
- this.selected = buf.readInt();
- }
- //write
- public void toBytes(FriendlyByteBuf buf) {
- buf.writeInt(x);
- buf.writeInt(y);
- buf.writeInt(z);
- buf.writeInt(selected);
- buf.writeInt(dest);
- buf.writeUtf(dimension);
- buf.writeUtf(name);
- buf.writeBoolean(exists);
- buf.writeBlockPos(blockPos);
- }
- public boolean handle(Supplier<NetworkEvent.Context> ctx) {
- NetworkEvent.Context context = ctx.get();
- context.enqueueWork(() -> {
- // This is the server
- ServerLevel level = context.getSender().getLevel();
- if(level.getBlockEntity(blockPos) instanceof WarpPipeBlockEntity blockEntity) {
- blockEntity.setSelectedWheelPart(selected);
- blockEntity.setPosX(x, dest);
- blockEntity.setPosY(y, dest);
- blockEntity.setPosZ(z, dest);
- blockEntity.setDestName(dest, name);
- blockEntity.setDestDimension(dest, dimension);
- blockEntity.setDestExists(dest, exists);
- blockEntity.setChanged();
- if(Minecraft.getInstance().player.containerMenu instanceof TeleporterMenu menu &&
- menu.blockEntity.getBlockPos().equals(blockPos)) {
- blockEntity.setSelectedWheelPart(dest);
- blockEntity.setPosX(x, dest);
- blockEntity.setPosY(y, dest);
- blockEntity.setPosZ(z, dest);
- blockEntity.setDestName(dest, name);
- blockEntity.setDestDimension(dest, dimension);
- blockEntity.setDestExists(dest, exists);
- blockEntity.setChanged();
- }
- }
- });
- return true;
- }
- }
Add Comment
Please, Sign In to add comment