Send self disguise in the same tracker refresh entry..
This commit is contained in:
		@@ -3,7 +3,6 @@ package me.libraryaddict.disguise.disguisetypes;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
import org.apache.commons.lang.Validate;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
 | 
			
		||||
import com.comphenix.protocol.wrappers.WrappedGameProfile;
 | 
			
		||||
 | 
			
		||||
@@ -102,9 +101,6 @@ public class PlayerDisguise extends TargetedDisguise {
 | 
			
		||||
                            setSkin(gameProfile);
 | 
			
		||||
                            if (DisguiseUtilities.isDisguiseInUse(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)) {
 | 
			
		||||
                    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) {
 | 
			
		||||
        try {
 | 
			
		||||
            if (disguise.isDisguiseInUse() && disguise.getEntity() instanceof Player) {
 | 
			
		||||
                DisguiseUtilities.sendSelfDisguise((Player) disguise.getEntity(), disguise);
 | 
			
		||||
            }
 | 
			
		||||
            Object entityTrackerEntry = ReflectionManager.getEntityTrackerEntry(disguise.getEntity());
 | 
			
		||||
            if (entityTrackerEntry != null) {
 | 
			
		||||
                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)
 | 
			
		||||
                    // entity))
 | 
			
		||||
                    // continue;
 | 
			
		||||
                    if (player == disguise.getEntity() || disguise.canSee(player.getName())) {
 | 
			
		||||
                    if (disguise.canSee(player.getName())) {
 | 
			
		||||
                        clear.invoke(entityTrackerEntry, p);
 | 
			
		||||
                        updatePlayer.invoke(entityTrackerEntry, p);
 | 
			
		||||
                    }
 | 
			
		||||
@@ -609,9 +609,10 @@ public class DisguiseUtilities {
 | 
			
		||||
    /**
 | 
			
		||||
     * 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 {
 | 
			
		||||
            if (!player.isValid() || !player.isOnline() || !disguise.isSelfDisguiseVisible()) {
 | 
			
		||||
            if (!disguise.isDisguiseInUse() || !player.isValid() || !player.isOnline() || !disguise.isSelfDisguiseVisible()
 | 
			
		||||
                    || !disguise.canSee(player)) {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            Object entityTrackerEntry = ReflectionManager.getEntityTrackerEntry(player);
 | 
			
		||||
@@ -748,7 +749,7 @@ public class DisguiseUtilities {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
        selfDisguised.add(player.getUniqueId());
 | 
			
		||||
        sendSelfDisguise(player, disguise);
 | 
			
		||||
        sendSelfDisguise(player, (TargetedDisguise) disguise);
 | 
			
		||||
        if (disguise.isHidingArmorFromSelf() || disguise.isHidingHeldItemFromSelf()) {
 | 
			
		||||
            if (PacketsManager.isInventoryListenerEnabled()) {
 | 
			
		||||
                player.updateInventory();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user