9
0
mirror of https://github.com/HibiscusMC/HibiscusCommons.git synced 2026-01-03 22:26:15 +00:00

feat: move more packets to NMS

This commit is contained in:
LoJoSho
2024-11-30 14:32:40 -06:00
parent ef8dd9adce
commit 1a794fa1ea
8 changed files with 716 additions and 28 deletions

View File

@@ -1,5 +1,6 @@
package me.lojosho.hibiscuscommons.nms;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
@@ -32,4 +33,20 @@ public interface NMSPackets {
String name
);
void sendMountPacket(int mountId, int[] passengerIds, List<Player> sendTo);
void sendLeashPacket(int leashEntity, int entityId, List<Player> sendTo);
void sendTeleportPacket(
int entityId,
double x,
double y,
double z,
float yaw,
float pitch,
boolean onGround,
List<Player> sendTo
);
void sendRotationPacket(int entityId, float yaw, boolean onGround, List<Player> sendTo);
}

View File

@@ -57,10 +57,7 @@ public class PacketManager {
int passengerId,
@NotNull List<Player> sendTo
) {
PacketContainer packet = new PacketContainer(PacketType.Play.Server.MOUNT);
packet.getIntegers().write(0, mountId);
packet.getIntegerArrays().write(0, new int[]{passengerId});
for (Player p : sendTo) sendPacket(p, packet);
NMSHandlers.getHandler().getPacketHandler().sendMountPacket(mountId, new int[]{passengerId}, sendTo);
}
public static void sendLookPacket(
@@ -101,6 +98,9 @@ public class PacketManager {
) {
float ROTATION_FACTOR = 256.0F / 360.0F;
float yaw2 = yaw * ROTATION_FACTOR;
NMSHandlers.getHandler().getPacketHandler().sendRotationPacket(entityId, yaw2, onGround, sendTo);
/*
PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_LOOK);
packet.getIntegers().write(0, entityId);
packet.getBytes().write(0, (byte) yaw2);
@@ -109,6 +109,8 @@ public class PacketManager {
//Bukkit.getLogger().info("DEBUG: Yaw: " + (location.getYaw() * ROTATION_FACTOR) + " | Original Yaw: " + location.getYaw());
packet.getBooleans().write(0, onGround);
for (Player p : sendTo) sendPacket(p, packet);
*/
}
public static void sendRidingPacket(
@@ -124,12 +126,15 @@ public class PacketManager {
final int[] passengerIds,
final @NotNull List<Player> sendTo
) {
NMSHandlers.getHandler().getPacketHandler().sendMountPacket(mountId, passengerIds, sendTo);
/*
PacketContainer packet = new PacketContainer(PacketType.Play.Server.MOUNT);
packet.getIntegers().write(0, mountId);
packet.getIntegerArrays().write(0, passengerIds);
for (final Player p : sendTo) {
sendPacket(p, packet);
}
*/
}
/**
@@ -172,12 +177,15 @@ public class PacketManager {
final int entityId,
final @NotNull List<Player> sendTo
) {
NMSHandlers.getHandler().getPacketHandler().sendLeashPacket(leashedEntity, entityId, sendTo);
/*
PacketContainer packet = new PacketContainer(PacketType.Play.Server.ATTACH_ENTITY);
packet.getIntegers().write(0, leashedEntity);
packet.getIntegers().write(1, entityId);
for (final Player p : sendTo) {
sendPacket(p, packet);
}
*/
}
/**
@@ -193,6 +201,14 @@ public class PacketManager {
boolean onGround,
final @NotNull List<Player> sendTo
) {
double x = location.getX();
double y = location.getY();
double z = location.getZ();
float yaw = location.getYaw();
float pitch = location.getPitch();
NMSHandlers.getHandler().getPacketHandler().sendTeleportPacket(entityId, x, y, z, yaw, pitch, onGround, sendTo);
/*
PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_TELEPORT);
packet.getIntegers().write(0, entityId);
packet.getDoubles().write(0, location.getX());
@@ -204,6 +220,7 @@ public class PacketManager {
for (final Player p : sendTo) {
sendPacket(p, packet);
}
*/
}