mirror of
https://github.com/HibiscusMC/HibiscusCommons.git
synced 2025-12-19 15:09:26 +00:00
refactor: use static entity object for fake nms entity
This commit is contained in:
@@ -40,6 +40,8 @@ import java.util.*;
|
||||
|
||||
public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.nms.NMSPackets {
|
||||
|
||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
||||
static {
|
||||
try {
|
||||
@@ -61,12 +63,10 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendRotateHeadPacket(int entityId, Location location, List<Player> sendTo) {
|
||||
ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
entity.setId(entityId);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
byte headRot = (byte) (location.getYaw() * 256.0F / 360.0F);
|
||||
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(entity, headRot);
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(fakeNmsEntity, headRot);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@@ -207,21 +207,19 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
boolean onGround,
|
||||
List<Player> sendTo
|
||||
) {
|
||||
ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
Entity entity = new ArmorStand(level, x, y, z);
|
||||
entity.setId(entityId);
|
||||
entity.setRot((yaw * 256.0F / 360.0F), (pitch * 256.0F / 360.0F));
|
||||
entity.setOnGround(onGround);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
fakeNmsEntity.setRot((yaw * 256.0F / 360.0F), (pitch * 256.0F / 360.0F));
|
||||
fakeNmsEntity.setOnGround(onGround);
|
||||
|
||||
ClientboundTeleportEntityPacket packet = new ClientboundTeleportEntityPacket(entity);
|
||||
ClientboundTeleportEntityPacket packet = new ClientboundTeleportEntityPacket(fakeNmsEntity);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendCameraPacket(int entityId, List<Player> sendTo) {
|
||||
// Fake entity just to avoid reflection
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, MinecraftServer.getServer().overworld());
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(entity);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(fakeNmsEntity);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@ import java.util.*;
|
||||
|
||||
public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.nms.NMSPackets {
|
||||
|
||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
||||
static {
|
||||
try {
|
||||
@@ -71,12 +73,10 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendRotateHeadPacket(int entityId, Location location, List<Player> sendTo) {
|
||||
ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
entity.setId(entityId);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
byte headRot = (byte) (location.getYaw() * 256.0F / 360.0F);
|
||||
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(entity, headRot);
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(fakeNmsEntity, headRot);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@@ -216,21 +216,19 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
boolean onGround,
|
||||
List<Player> sendTo
|
||||
) {
|
||||
ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
Entity entity = new ArmorStand(level, x, y, z);
|
||||
entity.setId(entityId);
|
||||
entity.setRot((yaw * 256.0F / 360.0F), (pitch * 256.0F / 360.0F));
|
||||
entity.setOnGround(onGround);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
fakeNmsEntity.setRot((yaw * 256.0F / 360.0F), (pitch * 256.0F / 360.0F));
|
||||
fakeNmsEntity.setOnGround(onGround);
|
||||
|
||||
ClientboundTeleportEntityPacket packet = new ClientboundTeleportEntityPacket(entity);
|
||||
ClientboundTeleportEntityPacket packet = new ClientboundTeleportEntityPacket(fakeNmsEntity);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendCameraPacket(int entityId, List<Player> sendTo) {
|
||||
// Fake entity just to avoid reflection
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, MinecraftServer.getServer().overworld());
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(entity);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(fakeNmsEntity);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
|
||||
@@ -50,9 +50,9 @@ import java.util.*;
|
||||
|
||||
public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.nms.NMSPackets {
|
||||
|
||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
||||
static Constructor<ClientboundRotateHeadPacket> rotationConstructor;
|
||||
static Constructor<ClientboundAddEntityPacket> spawnConstructor;
|
||||
|
||||
static {
|
||||
try {
|
||||
@@ -61,12 +61,6 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
rotationConstructor = ClientboundRotateHeadPacket.class.getDeclaredConstructor(FriendlyByteBuf.class);
|
||||
rotationConstructor.setAccessible(true);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -80,12 +74,10 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendRotateHeadPacket(int entityId, Location location, List<Player> sendTo) {
|
||||
ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
entity.setId(entityId);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
byte headRot = (byte) (location.getYaw() * 256.0F / 360.0F);
|
||||
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(entity, headRot);
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(fakeNmsEntity, headRot);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@@ -225,21 +217,19 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
boolean onGround,
|
||||
List<Player> sendTo
|
||||
) {
|
||||
ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
Entity entity = new ArmorStand(level, x, y, z);
|
||||
entity.setId(entityId);
|
||||
entity.setRot((yaw * 256.0F / 360.0F), (pitch * 256.0F / 360.0F));
|
||||
entity.setOnGround(onGround);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
fakeNmsEntity.setRot((yaw * 256.0F / 360.0F), (pitch * 256.0F / 360.0F));
|
||||
fakeNmsEntity.setOnGround(onGround);
|
||||
|
||||
ClientboundTeleportEntityPacket packet = new ClientboundTeleportEntityPacket(entity);
|
||||
ClientboundTeleportEntityPacket packet = new ClientboundTeleportEntityPacket(fakeNmsEntity);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendCameraPacket(int entityId, List<Player> sendTo) {
|
||||
// Fake entity just to avoid reflection
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, MinecraftServer.getServer().overworld());
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(entity);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(fakeNmsEntity);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
|
||||
@@ -53,6 +53,8 @@ import java.util.*;
|
||||
|
||||
public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.nms.NMSPackets {
|
||||
|
||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
||||
static {
|
||||
try {
|
||||
@@ -74,12 +76,10 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendRotateHeadPacket(int entityId, Location location, List<Player> sendTo) {
|
||||
ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
entity.setId(entityId);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
byte headRot = (byte) (location.getYaw() * 256.0F / 360.0F);
|
||||
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(entity, headRot);
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(fakeNmsEntity, headRot);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@@ -230,9 +230,9 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendCameraPacket(int entityId, List<Player> sendTo) {
|
||||
// Fake entity just to avoid reflection
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, MinecraftServer.getServer().overworld());
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(entity);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(fakeNmsEntity);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,8 @@ import java.util.*;
|
||||
|
||||
public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.nms.NMSPackets {
|
||||
|
||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
||||
|
||||
static {
|
||||
@@ -78,12 +80,10 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendRotateHeadPacket(int entityId, Location location, List<Player> sendTo) {
|
||||
ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
entity.setId(entityId);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
byte headRot = (byte) (location.getYaw() * 256.0F / 360.0F);
|
||||
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(entity, headRot);
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(fakeNmsEntity, headRot);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@@ -234,9 +234,9 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendCameraPacket(int entityId, List<Player> sendTo) {
|
||||
// Fake entity just to avoid reflection
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, MinecraftServer.getServer().overworld());
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(entity);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(fakeNmsEntity);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
|
||||
@@ -57,6 +57,8 @@ import java.util.*;
|
||||
|
||||
public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.nms.NMSPackets {
|
||||
|
||||
private static ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
private static Entity fakeNmsEntity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
static Constructor<ClientboundSetPassengersPacket> passengerConstructor;
|
||||
|
||||
static {
|
||||
@@ -79,12 +81,10 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendRotateHeadPacket(int entityId, Location location, List<Player> sendTo) {
|
||||
ServerLevel level = MinecraftServer.getServer().overworld();
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, level);
|
||||
entity.setId(entityId);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
byte headRot = (byte) (location.getYaw() * 256.0F / 360.0F);
|
||||
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(entity, headRot);
|
||||
ClientboundRotateHeadPacket packet = new ClientboundRotateHeadPacket(fakeNmsEntity, headRot);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
@@ -235,11 +235,9 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
|
||||
|
||||
@Override
|
||||
public void sendCameraPacket(int entityId, List<Player> sendTo) {
|
||||
// Fake entity just to avoid reflection
|
||||
Entity entity = new ArmorStand(net.minecraft.world.entity.EntityType.ARMOR_STAND, MinecraftServer.getServer().overworld());
|
||||
entity.setId(entityId);
|
||||
fakeNmsEntity.setId(entityId);
|
||||
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(entity);
|
||||
ClientboundSetCameraPacket packet = new ClientboundSetCameraPacket(fakeNmsEntity);
|
||||
for (Player p : sendTo) sendPacket(p, packet);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user