diff --git a/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java b/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java index 4bb14f46..bb83b11c 100644 --- a/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java +++ b/src/main/java/me/libraryaddict/disguise/utilities/DisguiseUtilities.java @@ -2721,12 +2721,21 @@ public class DisguiseUtilities { public static ArrayList getNamePackets(Disguise disguise, String[] internalOldNames) { ArrayList packets = new ArrayList<>(); - String[] newNames = - (disguise instanceof PlayerDisguise && !((PlayerDisguise) disguise).isNameVisible()) ? new String[0] : - reverse(disguise.getMultiName()); + String[] newNames = new String[0]; int[] standIds = disguise.getArmorstandIds(); int[] destroyIds = new int[0]; + if (!LibsPremium.isPremium()) { + internalOldNames = new String[]{StringUtils.join(internalOldNames, "\\n")}; + + if (!disguise.isPlayerDisguise() || ((PlayerDisguise) disguise).isNameVisible()) { + newNames = new String[]{StringUtils.join(newNames, "\\n")}; + } + } else { + newNames = (disguise instanceof PlayerDisguise && !((PlayerDisguise) disguise).isNameVisible()) ? + new String[0] : reverse(disguise.getMultiName()); + } + if (internalOldNames.length > newNames.length) { // Destroy packet destroyIds = Arrays.copyOfRange(standIds, newNames.length, internalOldNames.length);