mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-15 08:25:21 +01:00
Remove LinkedList usage
https://twitter.com/joshbloch/status/583813919019573248
This commit is contained in:
@@ -181,7 +181,7 @@ public final class PluginManager {
|
||||
// Add the plugin to the list of loaded plugins.
|
||||
this.plugins.put(identifier.name, plugin);
|
||||
// Create a collection for the plugin's listeners.
|
||||
this.listeners.put(plugin, new LinkedList<>());
|
||||
this.listeners.put(plugin, new ArrayList<>());
|
||||
|
||||
// Call the plugin's onLoad method.
|
||||
try {
|
||||
@@ -242,18 +242,14 @@ public final class PluginManager {
|
||||
* @param priority The priority to call for.
|
||||
*/
|
||||
private void checkAndFilter(Event event, HandlerPriority priority) {
|
||||
// Create a collection of listeners.
|
||||
List<EventHandler<? extends Event>> listeners = new LinkedList<>();
|
||||
|
||||
// Add all listeners from every plugin.
|
||||
this.listeners.values().forEach(listeners::addAll);
|
||||
|
||||
listeners.stream()
|
||||
this.listeners.values().stream()
|
||||
.flatMap(Collection::stream)
|
||||
// Filter the listeners by priority.
|
||||
.filter(handler -> handler.handles().isInstance(event))
|
||||
.filter(handler -> handler.getPriority() == priority)
|
||||
// Invoke the event.
|
||||
.toList().forEach(handler -> this.invokeHandler(event, handler));
|
||||
.forEach(handler -> this.invokeHandler(event, handler));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,8 +11,9 @@ import emu.grasscutter.server.game.GameServer;
|
||||
import emu.grasscutter.server.http.HttpServer;
|
||||
import emu.grasscutter.server.http.Router;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* Hooks into the {@link GameServer} class, adding convenient ways to do certain things.
|
||||
@@ -60,8 +61,17 @@ public final class ServerHook {
|
||||
* Gets all online players.
|
||||
* @return Players connected to the server.
|
||||
*/
|
||||
@Deprecated(forRemoval = true)
|
||||
public List<Player> getOnlinePlayers() {
|
||||
return new LinkedList<>(this.gameServer.getPlayers().values());
|
||||
return new ArrayList<>(this.gameServer.getPlayers().values());
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all online players.
|
||||
* @return Players connected to the server.
|
||||
*/
|
||||
public Stream<Player> getOnlinePlayersStream() {
|
||||
return this.gameServer.getPlayers().values().stream();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user