Run forest! Run! Aka rabbits now hop
This commit is contained in:
parent
6d38cf0e76
commit
a3b67b9a4f
@ -38,6 +38,7 @@ import org.bukkit.entity.LivingEntity;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.entity.Zombie;
|
import org.bukkit.entity.Zombie;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.metadata.FixedMetadataValue;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
import com.comphenix.protocol.PacketType;
|
import com.comphenix.protocol.PacketType;
|
||||||
@ -1176,6 +1177,7 @@ public class PacketsManager {
|
|||||||
packetsToListen.add(PacketType.Play.Server.ENTITY_MOVE_LOOK);
|
packetsToListen.add(PacketType.Play.Server.ENTITY_MOVE_LOOK);
|
||||||
packetsToListen.add(PacketType.Play.Server.ENTITY_HEAD_ROTATION);
|
packetsToListen.add(PacketType.Play.Server.ENTITY_HEAD_ROTATION);
|
||||||
packetsToListen.add(PacketType.Play.Server.ENTITY_TELEPORT);
|
packetsToListen.add(PacketType.Play.Server.ENTITY_TELEPORT);
|
||||||
|
packetsToListen.add(PacketType.Play.Server.REL_ENTITY_MOVE);
|
||||||
}
|
}
|
||||||
// Add equipment packet
|
// Add equipment packet
|
||||||
if (DisguiseConfig.isEquipmentPacketsEnabled()) {
|
if (DisguiseConfig.isEquipmentPacketsEnabled()) {
|
||||||
@ -1360,11 +1362,30 @@ public class PacketsManager {
|
|||||||
// Else if the disguise is moving.
|
// Else if the disguise is moving.
|
||||||
else if (sentPacket.getType() == PacketType.Play.Server.ENTITY_MOVE_LOOK
|
else if (sentPacket.getType() == PacketType.Play.Server.ENTITY_MOVE_LOOK
|
||||||
|| sentPacket.getType() == PacketType.Play.Server.ENTITY_LOOK
|
|| sentPacket.getType() == PacketType.Play.Server.ENTITY_LOOK
|
||||||
|| sentPacket.getType() == PacketType.Play.Server.ENTITY_TELEPORT) {
|
|| sentPacket.getType() == PacketType.Play.Server.ENTITY_TELEPORT
|
||||||
|
|| sentPacket.getType() == PacketType.Play.Server.REL_ENTITY_MOVE) {
|
||||||
|
if (disguise.getType() == DisguiseType.RABBIT
|
||||||
|
&& (sentPacket.getType() == PacketType.Play.Server.REL_ENTITY_MOVE || sentPacket.getType() == PacketType.Play.Server.ENTITY_MOVE_LOOK)) {
|
||||||
|
if (entity.getMetadata("LibsRabbitHop").isEmpty()
|
||||||
|
|| System.currentTimeMillis() - entity.getMetadata("LibsRabbitHop").get(0).asLong() < 100
|
||||||
|
|| System.currentTimeMillis() - entity.getMetadata("LibsRabbitHop").get(0).asLong() > 500) {
|
||||||
|
if (entity.getMetadata("LibsRabbitHop").isEmpty()
|
||||||
|
|| System.currentTimeMillis() - entity.getMetadata("LibsRabbitHop").get(0).asLong() > 500) {
|
||||||
|
entity.removeMetadata("LibsRabbitHop", libsDisguises);
|
||||||
|
entity.setMetadata("LibsRabbitHop",
|
||||||
|
new FixedMetadataValue(libsDisguises, System.currentTimeMillis()));
|
||||||
|
}
|
||||||
|
packets = Arrays.copyOf(packets, packets.length + 1);
|
||||||
|
packets[1] = new PacketContainer(PacketType.Play.Server.ENTITY_STATUS);
|
||||||
|
packets[1].getIntegers().write(0, entity.getEntityId());
|
||||||
|
packets[1].getBytes().write(0, (byte) 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (sentPacket.getType() == PacketType.Play.Server.ENTITY_LOOK
|
if (sentPacket.getType() == PacketType.Play.Server.ENTITY_LOOK
|
||||||
&& disguise.getType() == DisguiseType.WITHER_SKULL) {
|
&& disguise.getType() == DisguiseType.WITHER_SKULL) {
|
||||||
packets = new PacketContainer[0];
|
packets = new PacketContainer[0];
|
||||||
} else {
|
} else if (sentPacket.getType() != PacketType.Play.Server.REL_ENTITY_MOVE) {
|
||||||
packets[0] = sentPacket.shallowClone();
|
packets[0] = sentPacket.shallowClone();
|
||||||
StructureModifier<Byte> bytes = packets[0].getBytes();
|
StructureModifier<Byte> bytes = packets[0].getBytes();
|
||||||
boolean tele = sentPacket.getType() == PacketType.Play.Server.ENTITY_TELEPORT;
|
boolean tele = sentPacket.getType() == PacketType.Play.Server.ENTITY_TELEPORT;
|
||||||
@ -1471,6 +1492,7 @@ public class PacketsManager {
|
|||||||
else {
|
else {
|
||||||
packets = null;
|
packets = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
Loading…
Reference in New Issue
Block a user