1
mirror of https://github.com/Shiewk/SModeration.git synced 2026-04-28 05:54:16 +02:00

Add a VanishToggleEvent

This commit is contained in:
Shy
2025-04-02 18:29:20 +02:00
parent 2f66c6f12c
commit 8df1029d42
2 changed files with 48 additions and 0 deletions
@@ -1,6 +1,7 @@
package de.shiewk.smoderation.paper.command;
import de.shiewk.smoderation.paper.SModerationPaper;
import de.shiewk.smoderation.paper.event.VanishToggleEvent;
import de.shiewk.smoderation.paper.util.PlayerUtil;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import it.unimi.dsi.fastutil.objects.ObjectListIterator;
@@ -63,6 +64,11 @@ public class VanishCommand implements TabExecutor {
public static void toggleVanish(Player player){
final boolean newStatus = !isVanished(player);
VanishToggleEvent event = new VanishToggleEvent(player, newStatus);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()){
return;
}
if (newStatus){
vanishedPlayers.add(player);
for (CommandSender sender : SModerationPaper.container.collectBroadcastTargets()) {
@@ -0,0 +1,42 @@
package de.shiewk.smoderation.paper.event;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;
public class VanishToggleEvent extends PlayerEvent implements Cancellable {
private static final HandlerList handlerList = new HandlerList();
private final boolean state;
private boolean cancelled;
public VanishToggleEvent(Player player, boolean state) {
super(player);
this.state = state;
}
public boolean getState() {
return state;
}
@Override
public @NotNull HandlerList getHandlers() {
return handlerList;
}
public static HandlerList getHandlerList() {
return handlerList;
}
@Override
public boolean isCancelled() {
return cancelled;
}
@Override
public void setCancelled(boolean cancelled) {
this.cancelled = cancelled;
}
}