forked from SteamWar/SteamWar
Improve Detonator
This commit is contained in:
@@ -20,7 +20,6 @@
|
||||
package de.steamwar.core;
|
||||
|
||||
import de.steamwar.message.Message;
|
||||
import lombok.Getter;
|
||||
import lombok.NonNull;
|
||||
import lombok.experimental.Delegate;
|
||||
import net.md_5.bungee.api.ChatMessageType;
|
||||
@@ -36,6 +35,7 @@ import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@@ -103,7 +103,6 @@ public class SWPlayer {
|
||||
}
|
||||
|
||||
@Delegate
|
||||
@Getter
|
||||
private final Player player;
|
||||
private final Map<Class<? extends Component>, Component> components = new HashMap<>();
|
||||
|
||||
@@ -119,6 +118,10 @@ public class SWPlayer {
|
||||
return Optional.ofNullable((T) components.get(clazz));
|
||||
}
|
||||
|
||||
public <T extends Component> @NonNull Optional<T> getComponentAndFilter(@NonNull Class<T> clazz, Predicate<T> filter) {
|
||||
return Optional.ofNullable((T) components.get(clazz)).filter(filter);
|
||||
}
|
||||
|
||||
public <T extends Component> @NonNull T getComponentOrDefault(@NonNull Class<T> clazz, @NonNull Supplier<T> defaultValue) {
|
||||
T value = (T) components.get(clazz);
|
||||
if (value != null) return value;
|
||||
|
||||
Reference in New Issue
Block a user