use of net.minecraft.server.v1_16_R1.PacketPlayOutEntityHeadRotation in project DragonsOnline by UniverseCraft.
the class PlayerNPC116R3 method spawnFor.
public void spawnFor(Player player) {
if (isDestroyed)
return;
// resync
location = getEntity().getLocation();
location.setYaw(originalYaw);
handle.setCustomNameVisible(false);
sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, handle), player);
sync(() -> sendPacket(new PacketPlayOutNamedEntitySpawn(handle), player), 1);
PacketPlayOutEntityTeleport tp = new PacketPlayOutEntityTeleport();
setField(tp, "a", getEntityId());
setField(tp, "b", location.getX());
setField(tp, "c", location.getY());
setField(tp, "d", location.getZ());
setField(tp, "e", getPacketRotation(location.getYaw()));
setField(tp, "f", getPacketRotation(location.getPitch()));
setField(tp, "g", handle.isOnGround());
sync(() -> sendPacket(new PacketPlayOutEntityMetadata(handle.getId(), handle.getDataWatcher(), true), player), 2);
sync(() -> setTablistName(getTablistName()), 2);
sync(() -> sendPacket(tp, player), 3);
sync(() -> sendPacket(new PacketPlayOutEntityHeadRotation(handle, getPacketRotation(location.getYaw())), player), 6);
sync(() -> removeFromTablistFor(player), 20 + (int) Math.ceil(2 * bridge.getPing(player) * 20 / 1000));
lastSeenLocation.put(player, location.clone());
// https://www.spigotmc.org/threads/remove-nameplate-of-an-nms-player-entity.436099/ (Phaze)
ScoreboardTeam team = new ScoreboardTeam(((CraftScoreboard) Bukkit.getScoreboardManager().getMainScoreboard()).getHandle(), player.getName());
team.setNameTagVisibility(ScoreboardTeamBase.EnumNameTagVisibility.NEVER);
sendPacket(new PacketPlayOutScoreboardTeam(team, 1), player);
sendPacket(new PacketPlayOutScoreboardTeam(team, 0), player);
sendPacket(new PacketPlayOutScoreboardTeam(team, List.of(handle.getName()), 3), player);
}
use of net.minecraft.server.v1_16_R1.PacketPlayOutEntityHeadRotation in project SilkSpawners by timbru31.
the class NMSHandler method spawnEntity.
@Override
public void spawnEntity(final org.bukkit.World w, final String entityID, final double x, final double y, final double z, final Player player) {
final NBTTagCompound tag = new NBTTagCompound();
tag.setString("id", entityID);
final World world = ((CraftWorld) w).getHandle();
final Entity entity = EntityTypes.a(tag, world);
if (entity == null) {
Bukkit.getLogger().warning("[SilkSpawners] Failed to spawn, falling through. You should report this (entity == null)!");
return;
}
final float yaw = world.random.nextFloat() * (-180 - 180) + 180;
entity.setPositionRotation(x, y, z, yaw, 0);
world.addEntity(entity, SpawnReason.SPAWNER_EGG);
final PacketPlayOutEntityHeadRotation rotation = new PacketPlayOutEntityHeadRotation(entity, (byte) yaw);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(rotation);
}
use of net.minecraft.server.v1_16_R1.PacketPlayOutEntityHeadRotation in project SilkSpawners by timbru31.
the class NMSHandler method spawnEntity.
@SuppressWarnings("resource")
@Override
public void spawnEntity(final org.bukkit.World w, final String entityID, final double x, final double y, final double z, final Player player) {
final NBTTagCompound tag = new NBTTagCompound();
tag.setString("id", entityID);
final World world = ((CraftWorld) w).getHandle();
final Entity entity = EntityTypes.a(tag, world);
if (entity == null) {
Bukkit.getLogger().warning("[SilkSpawners] Failed to spawn, falling through. You should report this (entity == null)!");
return;
}
final float yaw = world.random.nextFloat() * (-180 - 180) + 180;
entity.setPositionRotation(x, y, z, yaw, 0);
world.addEntity(entity, SpawnReason.SPAWNER_EGG);
final PacketPlayOutEntityHeadRotation rotation = new PacketPlayOutEntityHeadRotation(entity, (byte) yaw);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(rotation);
}
use of net.minecraft.server.v1_16_R1.PacketPlayOutEntityHeadRotation in project SilkSpawners by timbru31.
the class NMSHandler method spawnEntity.
@SuppressWarnings("resource")
@Override
public void spawnEntity(final org.bukkit.World w, final String entityID, final double x, final double y, final double z, final Player player) {
final NBTTagCompound tag = new NBTTagCompound();
tag.setString("id", entityID);
final World world = ((CraftWorld) w).getHandle();
final Optional<Entity> entity = EntityTypes.a(tag, world);
if (!entity.isPresent()) {
Bukkit.getLogger().warning("[SilkSpawners] Failed to spawn, falling through. You should report this (entity == null)!");
return;
}
final float yaw = world.random.nextFloat() * (-180 - 180) + 180;
entity.get().setPositionRotation(x, y, z, yaw, 0);
world.addEntity(entity.get(), SpawnReason.SPAWNER_EGG);
final PacketPlayOutEntityHeadRotation rotation = new PacketPlayOutEntityHeadRotation(entity.get(), (byte) yaw);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(rotation);
}
use of net.minecraft.server.v1_16_R1.PacketPlayOutEntityHeadRotation in project SilkSpawners by timbru31.
the class NMSHandler method spawnEntity.
@SuppressWarnings("resource")
@Override
public void spawnEntity(final org.bukkit.World w, final String entityID, final double x, final double y, final double z, final Player player) {
final NBTTagCompound tag = new NBTTagCompound();
tag.setString("id", entityID);
final World world = ((CraftWorld) w).getHandle();
final Optional<Entity> entity = EntityTypes.a(tag, world);
if (!entity.isPresent()) {
Bukkit.getLogger().warning("[SilkSpawners] Failed to spawn, falling through. You should report this (entity == null)!");
return;
}
final float yaw = world.random.nextFloat() * (-180 - 180) + 180;
entity.get().setPositionRotation(x, y, z, yaw, 0);
world.addEntity(entity.get(), SpawnReason.SPAWNER_EGG);
final PacketPlayOutEntityHeadRotation rotation = new PacketPlayOutEntityHeadRotation(entity.get(), (byte) yaw);
((CraftPlayer) player).getHandle().playerConnection.sendPacket(rotation);
}
Aggregations