9
0
mirror of https://github.com/HibiscusMC/HibiscusCommons.git synced 2025-12-19 15:09:26 +00:00

fix: interact packet not on correct packet

This commit is contained in:
LoJoSho
2025-06-26 15:10:54 -05:00
parent ee96da9abd
commit f93d73ee79
3 changed files with 16 additions and 6 deletions

View File

@@ -163,7 +163,7 @@ public class NMSPacketChannel extends ChannelDuplexHandler {
case ServerboundContainerClickPacket clickPacket -> msg = handleInventoryClick(clickPacket);
case ServerboundPlayerActionPacket playerActionPacket -> msg = handlePlayerAction(playerActionPacket);
case ServerboundSwingPacket swingPacket -> msg = handlePlayerArm(swingPacket);
case ServerboundUseItemOnPacket useItemOnPacket -> msg = handleEntityUse(useItemOnPacket);
case ServerboundInteractPacket interactPacket -> msg = handleInteract(interactPacket);
default -> {}
}
@@ -212,7 +212,7 @@ public class NMSPacketChannel extends ChannelDuplexHandler {
return packet;
}
private Packet<?> handleEntityUse(ServerboundUseItemOnPacket packet) {
private Packet<?> handleInteract(ServerboundInteractPacket packet) {
AtomicReference<PacketAction> action = new AtomicReference<>(PacketAction.NOTHING);
SubPlugins.getSubPlugins().forEach(plugin -> {

View File

@@ -14,6 +14,7 @@ import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import net.minecraft.advancements.Advancement;
import net.minecraft.advancements.AdvancementHolder;
import net.minecraft.commands.arguments.EntityAnchorArgument;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.*;
import net.minecraft.network.syncher.EntityDataSerializers;
@@ -126,6 +127,14 @@ public class NMSPackets extends NMSCommon implements me.lojosho.hibiscuscommons.
sendPacket(player, packet);
}
@Override
public void sendLookAtPacket(int entityId, Location location, List<Player> sendTo) {
fakeNmsEntity.setId(entityId);
fakeNmsEntity.getBukkitEntity().teleport(location);
ClientboundPlayerLookAtPacket packet = new ClientboundPlayerLookAtPacket(EntityAnchorArgument.Anchor.EYES, fakeNmsEntity, EntityAnchorArgument.Anchor.EYES);
for (Player p : sendTo) sendPacket(p, packet);
}
@Override
public void sendRotateHeadPacket(int entityId, Location location, List<Player> sendTo) {
fakeNmsEntity.setId(entityId);