Send self disguise in the same tracker refresh entry..
This commit is contained in:
parent
bd317b4cce
commit
992e416edf
@ -3,7 +3,6 @@ package me.libraryaddict.disguise.disguisetypes;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
|
|
||||||
import com.comphenix.protocol.wrappers.WrappedGameProfile;
|
import com.comphenix.protocol.wrappers.WrappedGameProfile;
|
||||||
|
|
||||||
@ -102,9 +101,6 @@ public class PlayerDisguise extends TargetedDisguise {
|
|||||||
setSkin(gameProfile);
|
setSkin(gameProfile);
|
||||||
if (DisguiseUtilities.isDisguiseInUse(PlayerDisguise.this)) {
|
if (DisguiseUtilities.isDisguiseInUse(PlayerDisguise.this)) {
|
||||||
DisguiseUtilities.refreshTrackers(PlayerDisguise.this);
|
DisguiseUtilities.refreshTrackers(PlayerDisguise.this);
|
||||||
if (getEntity() instanceof Player && isSelfDisguiseVisible()) {
|
|
||||||
DisguiseUtilities.sendSelfDisguise((Player) getEntity(), PlayerDisguise.this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -345,9 +345,6 @@ public class DisguiseUtilities {
|
|||||||
}
|
}
|
||||||
if (DisguiseAPI.isDisguiseInUse(disguise)) {
|
if (DisguiseAPI.isDisguiseInUse(disguise)) {
|
||||||
DisguiseUtilities.refreshTrackers(disguise);
|
DisguiseUtilities.refreshTrackers(disguise);
|
||||||
if (disguise.getEntity() instanceof Player && disguise.isSelfDisguiseVisible()) {
|
|
||||||
DisguiseUtilities.sendSelfDisguise((Player) disguise.getEntity(), disguise);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -518,6 +515,9 @@ public class DisguiseUtilities {
|
|||||||
*/
|
*/
|
||||||
public static void refreshTrackers(TargetedDisguise disguise) {
|
public static void refreshTrackers(TargetedDisguise disguise) {
|
||||||
try {
|
try {
|
||||||
|
if (disguise.isDisguiseInUse() && disguise.getEntity() instanceof Player) {
|
||||||
|
DisguiseUtilities.sendSelfDisguise((Player) disguise.getEntity(), disguise);
|
||||||
|
}
|
||||||
Object entityTrackerEntry = ReflectionManager.getEntityTrackerEntry(disguise.getEntity());
|
Object entityTrackerEntry = ReflectionManager.getEntityTrackerEntry(disguise.getEntity());
|
||||||
if (entityTrackerEntry != null) {
|
if (entityTrackerEntry != null) {
|
||||||
HashSet trackedPlayers = (HashSet) ReflectionManager.getNmsField("EntityTrackerEntry", "trackedPlayers").get(
|
HashSet trackedPlayers = (HashSet) ReflectionManager.getNmsField("EntityTrackerEntry", "trackedPlayers").get(
|
||||||
@ -532,7 +532,7 @@ public class DisguiseUtilities {
|
|||||||
// if (entity instanceof Player && !((Player) ReflectionManager.getBukkitEntity(player)).canSee((Player)
|
// if (entity instanceof Player && !((Player) ReflectionManager.getBukkitEntity(player)).canSee((Player)
|
||||||
// entity))
|
// entity))
|
||||||
// continue;
|
// continue;
|
||||||
if (player == disguise.getEntity() || disguise.canSee(player.getName())) {
|
if (disguise.canSee(player.getName())) {
|
||||||
clear.invoke(entityTrackerEntry, p);
|
clear.invoke(entityTrackerEntry, p);
|
||||||
updatePlayer.invoke(entityTrackerEntry, p);
|
updatePlayer.invoke(entityTrackerEntry, p);
|
||||||
}
|
}
|
||||||
@ -609,9 +609,10 @@ public class DisguiseUtilities {
|
|||||||
/**
|
/**
|
||||||
* Sends the self disguise to the player
|
* Sends the self disguise to the player
|
||||||
*/
|
*/
|
||||||
public static void sendSelfDisguise(final Player player, final Disguise disguise) {
|
public static void sendSelfDisguise(final Player player, final TargetedDisguise disguise) {
|
||||||
try {
|
try {
|
||||||
if (!player.isValid() || !player.isOnline() || !disguise.isSelfDisguiseVisible()) {
|
if (!disguise.isDisguiseInUse() || !player.isValid() || !player.isOnline() || !disguise.isSelfDisguiseVisible()
|
||||||
|
|| !disguise.canSee(player)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Object entityTrackerEntry = ReflectionManager.getEntityTrackerEntry(player);
|
Object entityTrackerEntry = ReflectionManager.getEntityTrackerEntry(player);
|
||||||
@ -748,7 +749,7 @@ public class DisguiseUtilities {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
selfDisguised.add(player.getUniqueId());
|
selfDisguised.add(player.getUniqueId());
|
||||||
sendSelfDisguise(player, disguise);
|
sendSelfDisguise(player, (TargetedDisguise) disguise);
|
||||||
if (disguise.isHidingArmorFromSelf() || disguise.isHidingHeldItemFromSelf()) {
|
if (disguise.isHidingArmorFromSelf() || disguise.isHidingHeldItemFromSelf()) {
|
||||||
if (PacketsManager.isInventoryListenerEnabled()) {
|
if (PacketsManager.isInventoryListenerEnabled()) {
|
||||||
player.updateInventory();
|
player.updateInventory();
|
||||||
|
Loading…
Reference in New Issue
Block a user