diff --git a/patches/api/0005-Skip-events-without-listeners.patch b/patches/api/0005-Skip-events-without-listeners.patch new file mode 100644 index 0000000..d4e7e0d --- /dev/null +++ b/patches/api/0005-Skip-events-without-listeners.patch @@ -0,0 +1,42 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MartijnMuijsers +Date: Thu, 1 Dec 2022 13:45:13 +0100 +Subject: [PATCH] Skip events without listeners + +License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) + +This patch is based on the following patch: +"skip event if no listeners" +By: Simon Gardling +As part of: JettPack (https://gitlab.com/Titaniumtown/JettPack) +Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) + +diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java +index 9db611841b73fed8dc8a71f4d7fdef95af3cf89d..7edbcee946bb310bba54720cd47cd21f0a36276d 100644 +--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java ++++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java +@@ -651,6 +651,14 @@ public final class SimplePluginManager implements PluginManager { + */ + @Override + public void callEvent(@NotNull Event event) { ++ // Gale start - JettPack - skip events without listeners ++ HandlerList handlers = event.getHandlers(); ++ RegisteredListener[] listeners = handlers.getRegisteredListeners(); ++ if (listeners.length == 0) { ++ return; ++ } ++ // Gale end - JettPack - skip events without listeners ++ + // Paper - replace callEvent by merging to below method + if (event.isAsynchronous() && server.isPrimaryThread()) { + throw new IllegalStateException(event.getEventName() + " may only be triggered asynchronously."); +@@ -658,9 +666,6 @@ public final class SimplePluginManager implements PluginManager { + throw new IllegalStateException(event.getEventName() + " may only be triggered synchronously."); + } + +- HandlerList handlers = event.getHandlers(); +- RegisteredListener[] listeners = handlers.getRegisteredListeners(); +- + for (RegisteredListener registration : listeners) { + if (!registration.getPlugin().isEnabled()) { + continue; diff --git a/patches/api/0005-Player-canSee-by-entity-UUID.patch b/patches/api/0006-Player-canSee-by-entity-UUID.patch similarity index 100% rename from patches/api/0005-Player-canSee-by-entity-UUID.patch rename to patches/api/0006-Player-canSee-by-entity-UUID.patch diff --git a/patches/api/0006-Specific-interval-TPS-API.patch b/patches/api/0007-Specific-interval-TPS-API.patch similarity index 100% rename from patches/api/0006-Specific-interval-TPS-API.patch rename to patches/api/0007-Specific-interval-TPS-API.patch diff --git a/patches/api/0007-5-second-TPS-average.patch b/patches/api/0008-5-second-TPS-average.patch similarity index 100% rename from patches/api/0007-5-second-TPS-average.patch rename to patches/api/0008-5-second-TPS-average.patch diff --git a/patches/api/0008-Last-tick-time-API.patch b/patches/api/0009-Last-tick-time-API.patch similarity index 100% rename from patches/api/0008-Last-tick-time-API.patch rename to patches/api/0009-Last-tick-time-API.patch