From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MrPowerGamerBR Date: Mon, 10 Jun 2024 13:06:30 -0300 Subject: [PATCH] Helpful NMS packet changes Some nice changes to the packet internals to make packet sending and manipulation easier for us to avoid Reflection and JVM internals (ooo theUnsafe spooky) usage diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundAddEntityPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundAddEntityPacket.java index f66e40326c510aa3267542b1a24ed75d1ed6d3f1..797640c4f26abb32a480a611820bbcd72e43d1ac 100644 --- a/src/main/java/net/minecraft/network/protocol/game/ClientboundAddEntityPacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundAddEntityPacket.java @@ -22,7 +22,7 @@ public class ClientboundAddEntityPacket implements Packet type; + public EntityType type; // SparklyPaper - Helpful NMS packet changes: remove final and make public private final double x; private final double y; private final double z; @@ -180,6 +180,32 @@ public class ClientboundAddEntityPacket implements Packet blockEntitiesData; // Paper start - Handle oversized block entities in chunks private final java.util.List> extraPackets = new java.util.ArrayList<>(); diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundRotateHeadPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundRotateHeadPacket.java index ab44c24ce5f4570dee9d84b4216299bedfa800d8..99fbb958b82a3398564febb1e87e3ef4efca5b1a 100644 --- a/src/main/java/net/minecraft/network/protocol/game/ClientboundRotateHeadPacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundRotateHeadPacket.java @@ -20,6 +20,13 @@ public class ClientboundRotateHeadPacket implements Packet STREAM_CODEC = Packet.codec(ClientboundSectionBlocksUpdatePacket::write, ClientboundSectionBlocksUpdatePacket::new); private static final int POS_IN_SECTION_BITS = 12; - private final SectionPos sectionPos; - private final short[] positions; - private final BlockState[] states; + public SectionPos sectionPos; // SparklyPaper - Helpful NMS packet changes: remove final and make public + public short[] positions; // SparklyPaper - Helpful NMS packet changes: remove final and make public + public BlockState[] states; // SparklyPaper - Helpful NMS packet changes: remove final and make public public ClientboundSectionBlocksUpdatePacket(SectionPos sectionPos, ShortSet positions, LevelChunkSection section) { this.sectionPos = sectionPos; diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundSetCameraPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundSetCameraPacket.java index 799f5a8c69f295216997d52fb4bc6c56d3a18115..633f10f17eebd43e8dc7c878b9101decf31190a9 100644 --- a/src/main/java/net/minecraft/network/protocol/game/ClientboundSetCameraPacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundSetCameraPacket.java @@ -18,6 +18,12 @@ public class ClientboundSetCameraPacket implements Packet DATA_TEXT_ID = SynchedEntityData.defineId(Display.TextDisplay.class, EntityDataSerializers.COMPONENT); + public static final EntityDataAccessor DATA_TEXT_ID = SynchedEntityData.defineId(Display.TextDisplay.class, EntityDataSerializers.COMPONENT); // SparklyPaper - Helpful NMS packet changes: make public public static final EntityDataAccessor DATA_LINE_WIDTH_ID = SynchedEntityData.defineId(Display.TextDisplay.class, EntityDataSerializers.INT); public static final EntityDataAccessor DATA_BACKGROUND_COLOR_ID = SynchedEntityData.defineId( Display.TextDisplay.class, EntityDataSerializers.INT