mirror of
https://github.com/GeyserExtensionists/GeyserModelEngine.git
synced 2025-12-19 15:09:18 +00:00
huh
This commit is contained in:
@@ -26,6 +26,7 @@ import re.imc.geysermodelengine.util.BooleanPacker;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -60,6 +61,9 @@ public class EntityTask {
|
||||
return;
|
||||
}
|
||||
|
||||
PacketEntity packetEntity = model.getEntity();
|
||||
// packetEntity.setHeadYaw((float) Math.toDegrees(model.getModeledEntity().getYHeadRot()));
|
||||
// packetEntity.setHeadPitch((float) Math.toDegrees(model.getModeledEntity().getXHeadRot()));
|
||||
model.teleportToModel();
|
||||
|
||||
Set<Player> viewers = model.getViewers();
|
||||
@@ -206,6 +210,7 @@ public class EntityTask {
|
||||
}
|
||||
boneUpdates.put(name, bone.isVisible());
|
||||
});
|
||||
|
||||
// }
|
||||
|
||||
|
||||
@@ -272,10 +277,8 @@ public class EntityTask {
|
||||
}
|
||||
|
||||
|
||||
//Collections.sort(list);
|
||||
//System.out.println(list);
|
||||
//System.out.println(boneUpdates);
|
||||
//System.out.println(intUpdates);
|
||||
List<String> list = new ArrayList<>(boneUpdates.keySet());
|
||||
Collections.sort(list);
|
||||
|
||||
for (Player player : players) {
|
||||
EntityUtils.sendIntProperties(player, entity, intUpdates);
|
||||
@@ -301,9 +304,10 @@ public class EntityTask {
|
||||
|
||||
public void sendHitBox(Player viewer) {
|
||||
float w = 0;
|
||||
|
||||
if (model.getActiveModel().isShadowVisible()) {
|
||||
if (model.getActiveModel().getModelRenderer() instanceof DisplayRenderer displayRenderer) {
|
||||
w = displayRenderer.getHitbox().getShadowRadius().get();
|
||||
// w = displayRenderer.getHitbox().getShadowRadius().get();
|
||||
}
|
||||
}
|
||||
EntityUtils.sendCustomHitBox(viewer, model.getEntity().getEntityId(), 0.02f, w);
|
||||
|
||||
@@ -8,12 +8,10 @@ import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes;
|
||||
import com.github.retrooper.packetevents.protocol.teleport.RelativeFlag;
|
||||
import com.github.retrooper.packetevents.util.Vector3d;
|
||||
import com.github.retrooper.packetevents.wrapper.PacketWrapper;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerDestroyEntities;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityPositionSync;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityTeleport;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSpawnEntity;
|
||||
import com.github.retrooper.packetevents.wrapper.play.server.*;
|
||||
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -25,6 +23,7 @@ import java.util.UUID;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class PacketEntity {
|
||||
|
||||
// public static final MinecraftVersion V1_20_5 = new MinecraftVersion("1.20.5");
|
||||
@@ -41,6 +40,9 @@ public class PacketEntity {
|
||||
private EntityType type;
|
||||
private Set<Player> viewers;
|
||||
private Location location;
|
||||
private float headYaw;
|
||||
private float headPitch;
|
||||
|
||||
private boolean removed = false;
|
||||
public @NotNull Location getLocation() {
|
||||
return location;
|
||||
@@ -51,6 +53,7 @@ public class PacketEntity {
|
||||
this.location = location.clone();
|
||||
if (sent) {
|
||||
sendLocationPacket(viewers);
|
||||
// sendHeadRotation(viewers); // TODO
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -89,6 +92,11 @@ public class PacketEntity {
|
||||
|
||||
}
|
||||
|
||||
public void sendHeadRotation(Collection<Player> players) {
|
||||
WrapperPlayServerEntityRotation packet = new WrapperPlayServerEntityRotation(id, headYaw, headPitch, false);
|
||||
players.forEach(player -> PacketEvents.getAPI().getPlayerManager().sendPacket(player, packet));
|
||||
}
|
||||
|
||||
public void sendEntityDestroyPacket(Collection<Player> players) {
|
||||
WrapperPlayServerDestroyEntities packet = new WrapperPlayServerDestroyEntities(id);
|
||||
players.forEach(player -> PacketEvents.getAPI().getPlayerManager().sendPacket(player, packet));
|
||||
|
||||
Reference in New Issue
Block a user