Skip to content

Commit 7bf664d

Browse files
committed
Change conditions for displaying deprecated event warnings.
Prevents warnings when using AsyncPlayerChatEvent on Paper.
1 parent 31a3017 commit 7bf664d

2 files changed

Lines changed: 27 additions & 17 deletions

File tree

events-bukkit/src/main/java/community/leaf/eventful/bukkit/EventsImpl.java

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -121,24 +121,27 @@ private static void checkThenWarnIfDeprecatedEvent(Plugin plugin, Class<? extend
121121
Warning.WarningState warningState = plugin.getServer().getWarningState();
122122
Optional<Warning> warning = annotation(clazz, Warning.class);
123123

124-
// Differs from bukkit: always print warnings unless explicitly turned off.
125-
if (warningState == Warning.WarningState.OFF) { break; }
124+
boolean shouldBeWarned = warning.filter(Warning::value).isPresent();
125+
boolean canBeWarned = warningState != Warning.WarningState.OFF;
126126

127-
plugin.getLogger().log(
128-
Level.WARNING,
129-
String.format(
130-
"%s has registered a listener for %s, but the event is deprecated (%s). %s.",
131-
plugin.getDescription().getFullName(),
132-
eventType.getSimpleName(),
133-
clazz.getName(),
134-
warning.map(Warning::reason)
135-
.filter(Predicate.not(String::isBlank))
136-
.orElse("Server performance will be affected")
137-
),
138-
(warningState == Warning.WarningState.ON) ? new AuthorNagException(null) : null
139-
);
140-
141-
return;
127+
if (shouldBeWarned && canBeWarned)
128+
{
129+
plugin.getLogger().log(
130+
Level.WARNING,
131+
String.format(
132+
"%s has registered a listener for %s, but the event is deprecated (%s). %s.",
133+
plugin.getDescription().getFullName(),
134+
eventType.getSimpleName(),
135+
clazz.getName(),
136+
warning.map(Warning::reason)
137+
.filter(Predicate.not(String::isBlank))
138+
.orElse("Server performance will be affected")
139+
),
140+
(warningState == Warning.WarningState.ON) ? new AuthorNagException(null) : null
141+
);
142+
143+
return; // already warned, don't spam
144+
}
142145
}
143146
}
144147

examples/events-example-bukkit/src/main/java/community/leaf/examples/eventful/bukkit/ExampleEventfulPlugin.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.bukkit.event.EventHandler;
1818
import org.bukkit.event.EventPriority;
1919
import org.bukkit.event.Listener;
20+
import org.bukkit.event.player.AsyncPlayerChatEvent;
2021
import org.bukkit.event.player.PlayerDropItemEvent;
2122
import org.bukkit.event.player.PlayerInteractEvent;
2223
import org.bukkit.event.player.PlayerPreLoginEvent;
@@ -131,4 +132,10 @@ public void onPlayerSneak(PlayerToggleSneakEvent event)
131132
throw new RuntimeException("Oopsies (example exception)");
132133
}
133134
}
135+
136+
@EventListener(ListenerOrder.FIRST)
137+
public void onPlayerChat(AsyncPlayerChatEvent event)
138+
{
139+
event.setMessage(event.getMessage().replace("->", "→").replace("<-", "←"));
140+
}
134141
}

0 commit comments

Comments
 (0)