From 46d9357bf5db80b8303f7e1862e8c1dbc8ba69cd Mon Sep 17 00:00:00 2001 From: Syrent Date: Tue, 30 Jan 2024 17:19:25 +0330 Subject: [PATCH] fix: effects persists after unvanish --- .../java/ir/syrent/velocityvanish/spigot/core/VanishManager.kt | 2 +- .../velocityvanish/spigot/hook/hooks/PlaceholderAPIHook.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/ir/syrent/velocityvanish/spigot/core/VanishManager.kt b/src/main/java/ir/syrent/velocityvanish/spigot/core/VanishManager.kt index 1bb32f2b..a43b4d97 100644 --- a/src/main/java/ir/syrent/velocityvanish/spigot/core/VanishManager.kt +++ b/src/main/java/ir/syrent/velocityvanish/spigot/core/VanishManager.kt @@ -136,7 +136,7 @@ class VanishManager( Ruom.runSync({ for (potionEffect in potions) { if (ServerVersion.supports(10)) { - if (player.getPotionEffect(potionEffect.type)?.amplifier != potionEffect.amplifier) continue + if (player.hasPotionEffect(potionEffect.type) && player.getPotionEffect(potionEffect.type)?.amplifier != potionEffect.amplifier) continue } try { @Suppress("DEPRECATION") NMSUtils.sendPacket(player, ClientboundRemoveMobEffectPacketAccessor.getConstructor0().newInstance(player.entityId, MobEffectAccessor.getMethodById1().invoke(null, potionEffect.type.id))) diff --git a/src/main/java/ir/syrent/velocityvanish/spigot/hook/hooks/PlaceholderAPIHook.kt b/src/main/java/ir/syrent/velocityvanish/spigot/hook/hooks/PlaceholderAPIHook.kt index cf7c41c3..c3407a92 100644 --- a/src/main/java/ir/syrent/velocityvanish/spigot/hook/hooks/PlaceholderAPIHook.kt +++ b/src/main/java/ir/syrent/velocityvanish/spigot/hook/hooks/PlaceholderAPIHook.kt @@ -61,7 +61,7 @@ class PlaceholderAPIHook(plugin: VelocityVanishSpigot, name: String) : Dependenc Ruom.onlinePlayers.filter { !plugin.vanishedNamesOnline.contains(it.name) }.size.toString() } else if (type.equals("total", true)) { val players = mutableListOf() - for (serverPlayers in plugin.proxyPlayers.values.filter { it.isNotEmpty() }) { + for (serverPlayers in plugin.proxyPlayers.values.filter { it.isNotEmpty() }.distinct()) { players.addAll(serverPlayers) } players.filter { !plugin.vanishedNamesOnline.contains(it) }.size.toString()