Update PluginInterceptor.java

This commit is contained in:
minster586
2025-07-23 18:31:44 -04:00
parent b806562280
commit 28688d54ad

View File

@@ -1 +1,34 @@
package com.minster586.devmode;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.RegisteredListener;
import java.util.Optional;
public class PluginInterceptor {
public static Optional<String> getCancellingPlugin(Event event) {
if (!event.isCancelled()) return Optional.empty();
HandlerList handlerList = event.getHandlers();
for (RegisteredListener listener : handlerList.getRegisteredListeners()) {
Plugin plugin = listener.getPlugin();
try {
listener.callEvent(event); // Simulate who handles it
} catch (Exception ignored) {
// Ignore exceptions thrown during simulated call
}
// If event remains cancelled, this plugin may be responsible
if (event.isCancelled()) {
return Optional.of(plugin.getName());
}
}
return Optional.empty();
}
}