2021-08-09 09:20:54 +02:00
|
|
|
/*
|
|
|
|
* Copyright (C) filoghost and contributors
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
*/
|
|
|
|
package me.filoghost.holographicdisplays.nms.v1_16_R3;
|
|
|
|
|
2021-08-25 18:27:45 +02:00
|
|
|
import me.filoghost.holographicdisplays.common.PositionCoordinates;
|
2021-08-25 15:45:33 +02:00
|
|
|
import me.filoghost.holographicdisplays.nms.common.EntityID;
|
2021-08-09 09:20:54 +02:00
|
|
|
import net.minecraft.server.v1_16_R3.Packet;
|
|
|
|
import net.minecraft.server.v1_16_R3.PacketPlayOutEntityTeleport;
|
|
|
|
|
|
|
|
class EntityTeleportNMSPacket extends VersionNMSPacket {
|
|
|
|
|
|
|
|
private final Packet<?> rawPacket;
|
|
|
|
|
2021-08-25 18:27:45 +02:00
|
|
|
EntityTeleportNMSPacket(EntityID entityID, PositionCoordinates position, double positionOffsetY) {
|
2021-08-09 09:20:54 +02:00
|
|
|
PacketByteBuffer packetByteBuffer = PacketByteBuffer.get();
|
|
|
|
|
|
|
|
packetByteBuffer.writeVarInt(entityID.getNumericID());
|
|
|
|
|
|
|
|
// Position
|
2021-08-19 11:56:28 +02:00
|
|
|
packetByteBuffer.writeDouble(position.getX());
|
|
|
|
packetByteBuffer.writeDouble(position.getY() + positionOffsetY);
|
|
|
|
packetByteBuffer.writeDouble(position.getZ());
|
2021-08-09 09:20:54 +02:00
|
|
|
|
|
|
|
// Rotation
|
|
|
|
packetByteBuffer.writeByte(0);
|
|
|
|
packetByteBuffer.writeByte(0);
|
|
|
|
|
|
|
|
// On ground
|
|
|
|
packetByteBuffer.writeBoolean(false);
|
|
|
|
|
|
|
|
this.rawPacket = writeData(new PacketPlayOutEntityTeleport(), packetByteBuffer);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
Packet<?> getRawPacket() {
|
|
|
|
return rawPacket;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|