Increase scoreboard team limit from 16 to 64 for 1.13+
This commit is contained in:
		| @@ -9,6 +9,7 @@ import me.libraryaddict.disguise.LibsDisguises; | |||||||
| import me.libraryaddict.disguise.disguisetypes.watchers.PlayerWatcher; | import me.libraryaddict.disguise.disguisetypes.watchers.PlayerWatcher; | ||||||
| import me.libraryaddict.disguise.utilities.DisguiseUtilities; | import me.libraryaddict.disguise.utilities.DisguiseUtilities; | ||||||
| import me.libraryaddict.disguise.utilities.reflection.LibsProfileLookup; | import me.libraryaddict.disguise.utilities.reflection.LibsProfileLookup; | ||||||
|  | import me.libraryaddict.disguise.utilities.reflection.NmsVersion; | ||||||
| import me.libraryaddict.disguise.utilities.reflection.ReflectionManager; | import me.libraryaddict.disguise.utilities.reflection.ReflectionManager; | ||||||
| import org.bukkit.Bukkit; | import org.bukkit.Bukkit; | ||||||
| import org.bukkit.entity.Entity; | import org.bukkit.entity.Entity; | ||||||
| @@ -279,10 +280,10 @@ public class PlayerDisguise extends TargetedDisguise { | |||||||
|  |  | ||||||
|         switch (DisguiseConfig.getPlayerNameType()) { |         switch (DisguiseConfig.getPlayerNameType()) { | ||||||
|             case TEAMS: |             case TEAMS: | ||||||
|                 cLimit = 16 * 2; |                 cLimit = (NmsVersion.v1_13.isSupported() ? 64 : 16) * 2; | ||||||
|                 break; |                 break; | ||||||
|             case EXTENDED: |             case EXTENDED: | ||||||
|                 cLimit = 16 * 3; |                 cLimit = ((NmsVersion.v1_13.isSupported() ? 64 : 16) * 2) + 16; | ||||||
|                 break; |                 break; | ||||||
|             case ARMORSTANDS: |             case ARMORSTANDS: | ||||||
|                 cLimit = 256; |                 cLimit = 256; | ||||||
|   | |||||||
| @@ -1601,27 +1601,29 @@ public class DisguiseUtilities { | |||||||
|             throw new IllegalStateException("This can only be used for names longer than 16 characters!"); |             throw new IllegalStateException("This can only be used for names longer than 16 characters!"); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (name.length() > 48) { |         int limit = NmsVersion.v1_13.isSupported() ? 64 : 16; | ||||||
|             name = name.substring(0, 48); |  | ||||||
|  |         if (name.length() > (16 + (limit * 2))) { | ||||||
|  |             name = name.substring(0, (16 + (limit * 2))); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         Scoreboard board = Bukkit.getScoreboardManager().getMainScoreboard(); |         Scoreboard board = Bukkit.getScoreboardManager().getMainScoreboard(); | ||||||
|  |  | ||||||
|         // If name is short enough to be used outside of player name |         // If name is short enough to be used outside of player name | ||||||
|         if (DisguiseConfig.isScoreboardNames() && name.length() <= 32) { |         if (DisguiseConfig.isScoreboardNames() && name.length() <= limit * 2) { | ||||||
|             String[] newName = new String[]{name, playerName, ""}; |             String[] newName = new String[]{name, playerName, ""}; | ||||||
|  |  | ||||||
|             if (name.length() > 16) { |             if (name.length() > limit) { | ||||||
|                 if (name.charAt(15) == ChatColor.COLOR_CHAR) { |                 if (name.charAt(limit - 1) == ChatColor.COLOR_CHAR) { | ||||||
|                     newName[0] = name.substring(0, 15); |                     newName[0] = name.substring(0, limit - 1); | ||||||
|                 } else { |                 } else { | ||||||
|                     newName[0] = name.substring(0, 16); |                     newName[0] = name.substring(0, limit); | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|                 String suffix = ChatColor.getLastColors(newName[0]) + name.substring(newName[0].length()); |                 String suffix = ChatColor.getLastColors(newName[0]) + name.substring(newName[0].length()); | ||||||
|  |  | ||||||
|                 if (suffix.length() > 16) { |                 if (suffix.length() > limit) { | ||||||
|                     suffix = suffix.substring(0, 16); |                     suffix = suffix.substring(0, limit); | ||||||
|                 } |                 } | ||||||
|                 // Don't allow second name to hit 17 chars |                 // Don't allow second name to hit 17 chars | ||||||
|                 newName[2] = suffix; |                 newName[2] = suffix; | ||||||
| @@ -1652,7 +1654,7 @@ public class DisguiseUtilities { | |||||||
|             return newName; |             return newName; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         for (int prefixLen = 16; prefixLen >= 0; prefixLen--) { |         for (int prefixLen = limit; prefixLen >= 0; prefixLen--) { | ||||||
|             String prefix = name.substring(0, prefixLen); |             String prefix = name.substring(0, prefixLen); | ||||||
|  |  | ||||||
|             if (prefix.endsWith("" + ChatColor.COLOR_CHAR)) { |             if (prefix.endsWith("" + ChatColor.COLOR_CHAR)) { | ||||||
| @@ -1662,7 +1664,7 @@ public class DisguiseUtilities { | |||||||
|             String colors = ChatColor.getLastColors(prefix); |             String colors = ChatColor.getLastColors(prefix); | ||||||
|  |  | ||||||
|             // We found our prefix. Now we check about seperating it between name and suffix |             // We found our prefix. Now we check about seperating it between name and suffix | ||||||
|             for (int nameLen = Math.min(name.length() - (prefixLen + colors.length()), 16 - colors.length()); |             for (int nameLen = Math.min(name.length() - (prefixLen + colors.length()), limit - colors.length()); | ||||||
|                  nameLen > 0; nameLen--) { |                  nameLen > 0; nameLen--) { | ||||||
|                 String nName = colors + name.substring(prefixLen, nameLen + prefixLen); |                 String nName = colors + name.substring(prefixLen, nameLen + prefixLen); | ||||||
|  |  | ||||||
| @@ -1672,8 +1674,8 @@ public class DisguiseUtilities { | |||||||
|  |  | ||||||
|                 String suffix = name.substring(nameLen + prefixLen); |                 String suffix = name.substring(nameLen + prefixLen); | ||||||
|  |  | ||||||
|                 if (suffix.length() > 16) { |                 if (suffix.length() > limit) { | ||||||
|                     suffix = suffix.substring(0, 16); |                     suffix = suffix.substring(0, limit); | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|                 String[] extended = new String[]{prefix, nName, suffix}; |                 String[] extended = new String[]{prefix, nName, suffix}; | ||||||
| @@ -1688,10 +1690,10 @@ public class DisguiseUtilities { | |||||||
|  |  | ||||||
|         // Failed to find a unique name.. Ah well. |         // Failed to find a unique name.. Ah well. | ||||||
|  |  | ||||||
|         String prefix = name.substring(0, 16); |         String prefix = name.substring(0, limit); | ||||||
|  |  | ||||||
|         if (prefix.endsWith(ChatColor.COLOR_CHAR + "")) { |         if (prefix.endsWith(ChatColor.COLOR_CHAR + "")) { | ||||||
|             prefix = prefix.substring(0, 15); |             prefix = prefix.substring(0, limit - 1); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         String nName = name.substring(prefix.length(), prefix.length() + Math.min(16, prefix.length())); |         String nName = name.substring(prefix.length(), prefix.length() + Math.min(16, prefix.length())); | ||||||
| @@ -1702,8 +1704,8 @@ public class DisguiseUtilities { | |||||||
|  |  | ||||||
|         String suffix = name.substring(prefix.length() + nName.length()); |         String suffix = name.substring(prefix.length() + nName.length()); | ||||||
|  |  | ||||||
|         if (suffix.length() > 16) { |         if (suffix.length() > limit) { | ||||||
|             suffix = suffix.substring(0, 16); |             suffix = suffix.substring(0, limit); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         return new String[]{prefix, nName, suffix}; |         return new String[]{prefix, nName, suffix}; | ||||||
| @@ -2026,7 +2028,6 @@ public class DisguiseUtilities { | |||||||
|         return list.toArray(new String[0]); |         return list.toArray(new String[0]); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|     public static ItemStack getSlot(PlayerInventory equip, EquipmentSlot slot) { |     public static ItemStack getSlot(PlayerInventory equip, EquipmentSlot slot) { | ||||||
|         switch (slot) { |         switch (slot) { | ||||||
|             case HAND: |             case HAND: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user