9
0
mirror of https://github.com/HibiscusMC/HMCCosmetics.git synced 2025-12-28 19:39:14 +00:00

Possible rotation working

This commit is contained in:
HeroBrineGoat
2022-01-14 20:36:46 -05:00
parent 520b9854f5
commit cc0b2d75b7
2 changed files with 11 additions and 34 deletions

View File

@@ -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<WrappedChatComponent> 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()) {

View File

@@ -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);