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.awt.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.List;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.ScheduledFuture;
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -60,6 +61,9 @@ public class EntityTask {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PacketEntity packetEntity = model.getEntity();
|
||||||
|
// packetEntity.setHeadYaw((float) Math.toDegrees(model.getModeledEntity().getYHeadRot()));
|
||||||
|
// packetEntity.setHeadPitch((float) Math.toDegrees(model.getModeledEntity().getXHeadRot()));
|
||||||
model.teleportToModel();
|
model.teleportToModel();
|
||||||
|
|
||||||
Set<Player> viewers = model.getViewers();
|
Set<Player> viewers = model.getViewers();
|
||||||
@@ -206,6 +210,7 @@ public class EntityTask {
|
|||||||
}
|
}
|
||||||
boneUpdates.put(name, bone.isVisible());
|
boneUpdates.put(name, bone.isVisible());
|
||||||
});
|
});
|
||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
@@ -272,10 +277,8 @@ public class EntityTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//Collections.sort(list);
|
List<String> list = new ArrayList<>(boneUpdates.keySet());
|
||||||
//System.out.println(list);
|
Collections.sort(list);
|
||||||
//System.out.println(boneUpdates);
|
|
||||||
//System.out.println(intUpdates);
|
|
||||||
|
|
||||||
for (Player player : players) {
|
for (Player player : players) {
|
||||||
EntityUtils.sendIntProperties(player, entity, intUpdates);
|
EntityUtils.sendIntProperties(player, entity, intUpdates);
|
||||||
@@ -301,9 +304,10 @@ public class EntityTask {
|
|||||||
|
|
||||||
public void sendHitBox(Player viewer) {
|
public void sendHitBox(Player viewer) {
|
||||||
float w = 0;
|
float w = 0;
|
||||||
|
|
||||||
if (model.getActiveModel().isShadowVisible()) {
|
if (model.getActiveModel().isShadowVisible()) {
|
||||||
if (model.getActiveModel().getModelRenderer() instanceof DisplayRenderer displayRenderer) {
|
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);
|
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.protocol.teleport.RelativeFlag;
|
||||||
import com.github.retrooper.packetevents.util.Vector3d;
|
import com.github.retrooper.packetevents.util.Vector3d;
|
||||||
import com.github.retrooper.packetevents.wrapper.PacketWrapper;
|
import com.github.retrooper.packetevents.wrapper.PacketWrapper;
|
||||||
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerDestroyEntities;
|
import com.github.retrooper.packetevents.wrapper.play.server.*;
|
||||||
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 io.github.retrooper.packetevents.util.SpigotConversionUtil;
|
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@@ -25,6 +23,7 @@ import java.util.UUID;
|
|||||||
import java.util.concurrent.ThreadLocalRandom;
|
import java.util.concurrent.ThreadLocalRandom;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
|
@Setter
|
||||||
public class PacketEntity {
|
public class PacketEntity {
|
||||||
|
|
||||||
// public static final MinecraftVersion V1_20_5 = new MinecraftVersion("1.20.5");
|
// public static final MinecraftVersion V1_20_5 = new MinecraftVersion("1.20.5");
|
||||||
@@ -41,6 +40,9 @@ public class PacketEntity {
|
|||||||
private EntityType type;
|
private EntityType type;
|
||||||
private Set<Player> viewers;
|
private Set<Player> viewers;
|
||||||
private Location location;
|
private Location location;
|
||||||
|
private float headYaw;
|
||||||
|
private float headPitch;
|
||||||
|
|
||||||
private boolean removed = false;
|
private boolean removed = false;
|
||||||
public @NotNull Location getLocation() {
|
public @NotNull Location getLocation() {
|
||||||
return location;
|
return location;
|
||||||
@@ -51,6 +53,7 @@ public class PacketEntity {
|
|||||||
this.location = location.clone();
|
this.location = location.clone();
|
||||||
if (sent) {
|
if (sent) {
|
||||||
sendLocationPacket(viewers);
|
sendLocationPacket(viewers);
|
||||||
|
// sendHeadRotation(viewers); // TODO
|
||||||
}
|
}
|
||||||
return true;
|
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) {
|
public void sendEntityDestroyPacket(Collection<Player> players) {
|
||||||
WrapperPlayServerDestroyEntities packet = new WrapperPlayServerDestroyEntities(id);
|
WrapperPlayServerDestroyEntities packet = new WrapperPlayServerDestroyEntities(id);
|
||||||
players.forEach(player -> PacketEvents.getAPI().getPlayerManager().sendPacket(player, packet));
|
players.forEach(player -> PacketEvents.getAPI().getPlayerManager().sendPacket(player, packet));
|
||||||
|
|||||||
Reference in New Issue
Block a user