Fixed bug where disguise would be visible for a few seconds after teleporting.
This commit is contained in:
		| @@ -38,7 +38,6 @@ import org.bukkit.scheduler.BukkitRunnable; | ||||
|  | ||||
| import com.comphenix.protocol.ProtocolLibrary; | ||||
| import com.comphenix.protocol.events.PacketContainer; | ||||
| import org.bukkit.entity.Arrow; | ||||
| import org.bukkit.scheduler.BukkitTask; | ||||
|  | ||||
| public class DisguiseListener implements Listener { | ||||
| @@ -163,7 +162,6 @@ public class DisguiseListener implements Listener { | ||||
|     /** | ||||
|      * Most likely faster if we don't bother doing checks if he sees a player disguise | ||||
|      * | ||||
|      * @param event | ||||
|      */ | ||||
|     @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) | ||||
|     public void onMove(PlayerMoveEvent event) { | ||||
| @@ -204,7 +202,7 @@ public class DisguiseListener implements Listener { | ||||
|             Entity entity = event.getRightClicked(); | ||||
|             String entityName; | ||||
|             if (entity instanceof Player && !disguiseClone.containsKey(p.getName())) { | ||||
|                 entityName = ((Player) entity).getName(); | ||||
|                 entityName = entity.getName(); | ||||
|             } else { | ||||
|                 entityName = DisguiseType.getType(entity).toReadable(); | ||||
|             } | ||||
| @@ -246,9 +244,9 @@ public class DisguiseListener implements Listener { | ||||
|                     } else { | ||||
|                         if (entity instanceof Player && DisguiseConfig.isNameOfPlayerShownAboveDisguise()) { | ||||
|                             if (disguise.getWatcher() instanceof LivingWatcher) { | ||||
|                                 ((LivingWatcher) disguise.getWatcher()).setCustomName(((Player) entity).getDisplayName()); | ||||
|                                 disguise.getWatcher().setCustomName(((Player) entity).getDisplayName()); | ||||
|                                 if (DisguiseConfig.isNameAboveHeadAlwaysVisible()) { | ||||
|                                     ((LivingWatcher) disguise.getWatcher()).setCustomNameVisible(true); | ||||
|                                     disguise.getWatcher().setCustomNameVisible(true); | ||||
|                                 } | ||||
|                             } | ||||
|                         } | ||||
| @@ -327,17 +325,6 @@ public class DisguiseListener implements Listener { | ||||
|             for (Disguise disguise : DisguiseAPI.getDisguises(event.getPlayer())) { | ||||
|                 disguise.removeDisguise(); | ||||
|             } | ||||
|         } else { | ||||
|             //Stupid hack to fix worldswitch invisibility bug | ||||
|             final boolean viewSelfToggled = DisguiseAPI.isViewSelfToggled(event.getPlayer()); | ||||
|             final Disguise disguise = DisguiseAPI.getDisguise(event.getPlayer()); | ||||
|             disguise.setViewSelfDisguise(!viewSelfToggled); | ||||
|             Bukkit.getScheduler().runTaskLater(plugin, new Runnable() { | ||||
|                 @Override | ||||
|                 public void run() { | ||||
|                     disguise.setViewSelfDisguise(viewSelfToggled); | ||||
|                 } | ||||
|             }, 20L); //I wish I could use lambdas here, so badly | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -377,6 +364,17 @@ public class DisguiseListener implements Listener { | ||||
|             for (Disguise disguise : DisguiseAPI.getDisguises(event.getPlayer())) { | ||||
|                 disguise.removeDisguise(); | ||||
|             } | ||||
|         } else { | ||||
|             //Stupid hack to fix worldswitch invisibility bug | ||||
|             final boolean viewSelfToggled = DisguiseAPI.isViewSelfToggled(event.getPlayer()); | ||||
|             final Disguise disguise = DisguiseAPI.getDisguise(event.getPlayer()); | ||||
|             disguise.setViewSelfDisguise(!viewSelfToggled); | ||||
|             Bukkit.getScheduler().runTaskLater(plugin, new Runnable() { | ||||
|                 @Override | ||||
|                 public void run() { | ||||
|                     disguise.setViewSelfDisguise(viewSelfToggled); | ||||
|                 } | ||||
|             }, 4L); //I wish I could use lambdas here, so badly | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user