From cc0b2d75b7cc71abfb1f3ee865ca051d89027547 Mon Sep 17 00:00:00 2001 From: HeroBrineGoat <76707404+MasterOfTheFish@users.noreply.github.com> Date: Fri, 14 Jan 2022 20:36:46 -0500 Subject: [PATCH] Possible rotation working --- .../fisher2911/hmccosmetics/user/User.java | 43 +++++-------------- .../hmccosmetics/user/UserManager.java | 2 - 2 files changed, 11 insertions(+), 34 deletions(-) diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java b/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java index 59b0ef9c..362a69a5 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/user/User.java @@ -6,6 +6,7 @@ import com.comphenix.protocol.ProtocolManager; import com.comphenix.protocol.events.PacketContainer; import com.comphenix.protocol.wrappers.EnumWrappers; import com.comphenix.protocol.wrappers.Pair; +import com.comphenix.protocol.wrappers.Vector3F; import com.comphenix.protocol.wrappers.WrappedChatComponent; import com.comphenix.protocol.wrappers.WrappedDataWatcher; import com.sun.jdi.InvocationException; @@ -17,6 +18,7 @@ import io.github.fisher2911.hmccosmetics.message.Messages; import io.github.fisher2911.hmccosmetics.message.Placeholder; import io.github.fisher2911.hmccosmetics.util.Keys; import io.github.fisher2911.hmccosmetics.util.builder.ItemBuilder; +import net.minecraft.core.Vector3f; import net.minecraft.network.protocol.game.PacketPlayOutEntityHeadRotation; import net.minecraft.network.protocol.game.PacketPlayOutEntityMetadata; import net.minecraft.network.syncher.DataWatcher; @@ -32,6 +34,8 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.EntityEquipment; import org.bukkit.inventory.ItemStack; import org.bukkit.persistence.PersistentDataType; +import org.bukkit.util.EulerAngle; +import org.bukkit.util.Vector; import org.jetbrains.annotations.Nullable; import java.lang.reflect.InvocationTargetException; @@ -316,46 +320,21 @@ public class User { armorPacket.getIntegers().write(0, this.armorStandId); armorPacket.getSlotStackPairLists().write(0, equipmentList); -// final PacketContainer rotationContainer = new PacketContainer(PacketType.Play.Server.ENTITY_LOOK); -// final Location location = player.getLocation(); -// rotationContainer. -// getIntegers(). -// write(0, this.armorStandId); -// rotationContainer. -// getBytes(). -// write(0, (byte) (location.getYaw() * 256.0F / 360.0F)); -// -// final PacketContainer rotationContainer2 = new PacketContainer(PacketType.Play.Server.ENTITY_HEAD_ROTATION); -// rotationContainer2. -// getIntegers(). -// write(0, this.armorStandId); -// rotationContainer2. -// getBytes(). -// write(0, (byte) (location.getPitch() * 256.0F / 360.0F)); + final Location location = player.getLocation(); final PacketContainer metaContainer = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA); -// metaContainer. -// getBytes(). -// write(15, (byte) 0x01); - - - WrappedChatComponent wrappedChatComponent = WrappedChatComponent.fromText(ChatColor.RED + "TEST"); - Optional opt = Optional.of(wrappedChatComponent); WrappedDataWatcher metadata = new WrappedDataWatcher(); - metadata.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(15, WrappedDataWatcher.Registry.get(Byte.class)), (byte) (0x01)); //isSmall, noBasePlate, set Marker -// metadata.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(15, WrappedDataWatcher.Registry.get(Byte.class)), (byte) (0x01)); //isSmall, noBasePlate, set Marker + metadata.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(16, + WrappedDataWatcher.Registry.get(Vector3F.getMinecraftClass())), new Vector3f( + 0, + location.getYaw(), + 0 + )); //isSmall, noBasePlate, set Marker metaContainer.getIntegers().write(0, this.armorStandId); metaContainer.getWatchableCollectionModifier().write(0, metadata.getWatchableObjects()); -// final WrappedDataWatcher dataWatcher = new WrappedDataWatcher(); -// dataWatcher.setObject(15, (byte) 0x01); -// -// metaContainer.getDataWatcherModifier().write( -// 0, dataWatcher -// ); - final ProtocolManager protocolManager = ProtocolLibrary.getProtocolManager(); for (final Player p : Bukkit.getOnlinePlayers()) { diff --git a/src/main/java/io/github/fisher2911/hmccosmetics/user/UserManager.java b/src/main/java/io/github/fisher2911/hmccosmetics/user/UserManager.java index cdd2ec71..a27b0655 100644 --- a/src/main/java/io/github/fisher2911/hmccosmetics/user/UserManager.java +++ b/src/main/java/io/github/fisher2911/hmccosmetics/user/UserManager.java @@ -230,8 +230,6 @@ public class UserManager { fake.getIntegers().write(0, player.getEntityId()); fake.getSlotStackPairLists().write(0, equipmentList); - player.sendMessage("Set Hat"); - for (final Player p : Bukkit.getOnlinePlayers()) { try { this.plugin.getProtocolManager().sendServerPacket(p, fake);