Skip to content

Commit

Permalink
Fix sulk sensors detecting vanished players (#5262)
Browse files Browse the repository at this point in the history
  • Loading branch information
JRoy committed Apr 2, 2023
1 parent 11e6d3c commit e7c56b3
Showing 1 changed file with 22 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -121,13 +121,26 @@ private static boolean isArrowPickupEvent() {
}
}

private static boolean isGameEventEvent() {
try {
Class.forName("org.bukkit.event.block.BlockReceiveGameEvent");
return true;
} catch (final ClassNotFoundException ignored) {
return false;
}
}

public void registerEvents() {
ess.getServer().getPluginManager().registerEvents(this, ess);

if (isArrowPickupEvent()) {
ess.getServer().getPluginManager().registerEvents(new ArrowPickupListener(), ess);
}

if (isGameEventEvent()) {
ess.getServer().getPluginManager().registerEvents(new SculkListener1_17(), ess);
}

if (isEntityPickupEvent()) {
ess.getServer().getPluginManager().registerEvents(new PickupListener1_12(), ess);
} else {
Expand Down Expand Up @@ -1001,6 +1014,15 @@ public void onPlayerPickupItem(final org.bukkit.event.entity.EntityPickupItemEve
}
}

private final class SculkListener1_17 implements Listener {
@EventHandler
public void onGameEvent(final org.bukkit.event.block.BlockReceiveGameEvent event) {
if (event.getEntity() instanceof Player && ess.getUser((Player) event.getEntity()).isVanished()) {
event.setCancelled(true);
}
}
}

private final class CommandSendFilter implements CommandSendListenerProvider.Filter {
@Override
public Predicate<String> apply(Player player) {
Expand Down

0 comments on commit e7c56b3

Please sign in to comment.