Improve Loader

Improve ObserverTracer
This commit is contained in:
2025-11-07 09:25:40 +01:00
parent 941a1916b7
commit 1ccc2c4b55
5 changed files with 29 additions and 43 deletions
@@ -24,6 +24,7 @@ import lombok.NonNull;
import lombok.experimental.Delegate;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.ClickEvent;
import org.apache.commons.lang3.tuple.Pair;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@@ -90,16 +91,10 @@ public class SWPlayer {
return players.values().stream();
}
@SafeVarargs
public static @NonNull Stream<SWPlayer> allWithComponent(Class<? extends Component> component, Class<? extends Component>... components) {
Stream<SWPlayer> stream = players.values().stream()
.filter(player -> player.components.containsKey(component));
if (components != null) {
for (Class<? extends Component> comp : components) {
stream = stream.filter(player -> player.components.containsKey(comp));
}
}
return stream;
public static <T extends Component> @NonNull Stream<Pair<SWPlayer, T>> allWithSingleComponent(Class<T> component) {
return players.values().stream()
.filter(player -> player.components.containsKey(component))
.map(player -> Pair.of(player, (T) player.components.get(component)));
}
@Delegate