Minor cleanup of DisguiseUtilities.checkConflicts
This commit is contained in:
		| @@ -489,60 +489,65 @@ public class DisguiseUtilities { | |||||||
|      */ |      */ | ||||||
|     public static void checkConflicts(TargetedDisguise disguise, String name) { |     public static void checkConflicts(TargetedDisguise disguise, String name) { | ||||||
|         // If the disguise is being used.. Else we may accidentally undisguise something else |         // If the disguise is being used.. Else we may accidentally undisguise something else | ||||||
|         if (DisguiseAPI.isDisguiseInUse(disguise)) { |         if (!DisguiseAPI.isDisguiseInUse(disguise)) { | ||||||
|             Iterator<TargetedDisguise> disguiseItel = getDisguises().get(disguise.getEntity().getUniqueId()).iterator(); |             return; | ||||||
|             // Iterate through the disguises |         } | ||||||
|             while (disguiseItel.hasNext()) { |  | ||||||
|                 TargetedDisguise d = disguiseItel.next(); |  | ||||||
|                 // Make sure the disguise isn't the same thing |  | ||||||
|                 if (d != disguise) { |  | ||||||
|                     // If the loop'd disguise is hiding the disguise to everyone in its list |  | ||||||
|                     if (d.getDisguiseTarget() == TargetType.HIDE_DISGUISE_TO_EVERYONE_BUT_THESE_PLAYERS) { |  | ||||||
|                         // If player is a observer in the loop |  | ||||||
|                         if (disguise.getDisguiseTarget() == TargetType.HIDE_DISGUISE_TO_EVERYONE_BUT_THESE_PLAYERS) { |  | ||||||
|                             // If player is a observer in the disguise |  | ||||||
|                             // Remove them from the loop |  | ||||||
|                             if (name != null) { |  | ||||||
|                                 d.removePlayer(name); |  | ||||||
|                             } else { |  | ||||||
|                                 for (String playername : disguise.getObservers()) { |  | ||||||
|                                     d.silentlyRemovePlayer(playername); |  | ||||||
|                                 } |  | ||||||
|                             } |  | ||||||
|                         } else if (disguise.getDisguiseTarget() == TargetType.SHOW_TO_EVERYONE_BUT_THESE_PLAYERS) { |  | ||||||
|                             // If player is not a observer in the loop |  | ||||||
|                             if (name != null) { |  | ||||||
|                                 if (!disguise.getObservers().contains(name)) { |  | ||||||
|                                     d.removePlayer(name); |  | ||||||
|                                 } |  | ||||||
|                             } else { |  | ||||||
|                                 for (String playername : new ArrayList<>(d.getObservers())) { |  | ||||||
|                                     if (!disguise.getObservers().contains(playername)) { |  | ||||||
|                                         d.silentlyRemovePlayer(playername); |  | ||||||
|                                     } |  | ||||||
|                                 } |  | ||||||
|                             } |  | ||||||
|                         } |  | ||||||
|                     } else if (d.getDisguiseTarget() == TargetType.SHOW_TO_EVERYONE_BUT_THESE_PLAYERS) { |  | ||||||
|                         // Here you add it to the loop if they see the disguise |  | ||||||
|                         if (disguise.getDisguiseTarget() == TargetType.HIDE_DISGUISE_TO_EVERYONE_BUT_THESE_PLAYERS) { |  | ||||||
|                             // Everyone who is in the disguise needs to be added to the loop |  | ||||||
|                             if (name != null) { |  | ||||||
|                                 d.addPlayer(name); |  | ||||||
|                             } else { |  | ||||||
|                                 for (String playername : disguise.getObservers()) { |  | ||||||
|                                     d.silentlyAddPlayer(playername); |  | ||||||
|                                 } |  | ||||||
|                             } |  | ||||||
|                         } else if (disguise.getDisguiseTarget() == TargetType.SHOW_TO_EVERYONE_BUT_THESE_PLAYERS) { |  | ||||||
|                             // This here is a paradox. |  | ||||||
|                             // If fed a name. I can do this. |  | ||||||
|                             // But the rest of the time.. Its going to conflict. |  | ||||||
|  |  | ||||||
|                             disguiseItel.remove(); |         Iterator<TargetedDisguise> disguiseItel = getDisguises().get(disguise.getEntity().getUniqueId()).iterator(); | ||||||
|                             d.removeDisguise(true); |  | ||||||
|  |         // Iterate through the disguises | ||||||
|  |         while (disguiseItel.hasNext()) { | ||||||
|  |             TargetedDisguise d = disguiseItel.next(); | ||||||
|  |             // Make sure the disguise isn't the same thing | ||||||
|  |             if (d == disguise) { | ||||||
|  |                 continue; | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             // If the loop'd disguise is hiding the disguise to everyone in its list | ||||||
|  |             if (d.getDisguiseTarget() == TargetType.HIDE_DISGUISE_TO_EVERYONE_BUT_THESE_PLAYERS) { | ||||||
|  |                 // If player is a observer in the loop | ||||||
|  |                 if (disguise.getDisguiseTarget() == TargetType.HIDE_DISGUISE_TO_EVERYONE_BUT_THESE_PLAYERS) { | ||||||
|  |                     // If player is a observer in the disguise | ||||||
|  |                     // Remove them from the loop | ||||||
|  |                     if (name != null) { | ||||||
|  |                         d.removePlayer(name); | ||||||
|  |                     } else { | ||||||
|  |                         for (String playername : disguise.getObservers()) { | ||||||
|  |                             d.silentlyRemovePlayer(playername); | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
|  |                 } else if (disguise.getDisguiseTarget() == TargetType.SHOW_TO_EVERYONE_BUT_THESE_PLAYERS) { | ||||||
|  |                     // If player is not a observer in the loop | ||||||
|  |                     if (name != null) { | ||||||
|  |                         if (!disguise.getObservers().contains(name)) { | ||||||
|  |                             d.removePlayer(name); | ||||||
|  |                         } | ||||||
|  |                     } else { | ||||||
|  |                         for (String playername : new ArrayList<>(d.getObservers())) { | ||||||
|  |                             if (!disguise.getObservers().contains(playername)) { | ||||||
|  |                                 d.silentlyRemovePlayer(playername); | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } else if (d.getDisguiseTarget() == TargetType.SHOW_TO_EVERYONE_BUT_THESE_PLAYERS) { | ||||||
|  |                 // Here you add it to the loop if they see the disguise | ||||||
|  |                 if (disguise.getDisguiseTarget() == TargetType.HIDE_DISGUISE_TO_EVERYONE_BUT_THESE_PLAYERS) { | ||||||
|  |                     // Everyone who is in the disguise needs to be added to the loop | ||||||
|  |                     if (name != null) { | ||||||
|  |                         d.addPlayer(name); | ||||||
|  |                     } else { | ||||||
|  |                         for (String playername : disguise.getObservers()) { | ||||||
|  |                             d.silentlyAddPlayer(playername); | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } else if (disguise.getDisguiseTarget() == TargetType.SHOW_TO_EVERYONE_BUT_THESE_PLAYERS) { | ||||||
|  |                     // This here is a paradox. | ||||||
|  |                     // If fed a name. I can do this. | ||||||
|  |                     // But the rest of the time.. Its going to conflict. | ||||||
|  |  | ||||||
|  |                     disguiseItel.remove(); | ||||||
|  |                     d.removeDisguise(true); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user