forked from SteamWar/SteamWar
Fix SWPlayer on 1.15
This commit is contained in:
+3
-3
@@ -46,8 +46,8 @@ public class ObserverTracerListener implements Listener {
|
||||
public ObserverTracerListener() {
|
||||
Bukkit.getScheduler().runTaskTimer(BauSystem.getInstance(), () -> {
|
||||
SWPlayer.allWithSingleComponent(ObserverTracer.class).forEach(pair -> {
|
||||
if (pair.getKey().getGameMode() != GameMode.SPECTATOR) return;
|
||||
pair.getValue().show();
|
||||
if (pair.getPlayer().getGameMode() != GameMode.SPECTATOR) return;
|
||||
pair.getComponent().show();
|
||||
});
|
||||
}, 15L, 15L);
|
||||
}
|
||||
@@ -64,7 +64,7 @@ public class ObserverTracerListener implements Listener {
|
||||
createNew(event);
|
||||
}
|
||||
SWPlayer.allWithSingleComponent(ObserverTracer.class).forEach(pair -> {
|
||||
pair.getValue().trace();
|
||||
pair.getComponent().trace();
|
||||
});
|
||||
}, 1L);
|
||||
} else {
|
||||
|
||||
+2
-2
@@ -51,8 +51,8 @@ public class EventListener implements Listener {
|
||||
Bukkit.getScheduler().runTaskTimer(BauSystem.getInstance(), () -> {
|
||||
long millis = System.currentTimeMillis();
|
||||
SWPlayer.allWithSingleComponent(ScriptRunner.ScriptData.class)
|
||||
.filter(pair -> millis - pair.getValue().getLastF() > 200)
|
||||
.forEach(pair -> pair.getValue().setLastF(Long.MAX_VALUE));
|
||||
.filter(pair -> millis - pair.getComponent().getLastF() > 200)
|
||||
.forEach(pair -> pair.getComponent().setLastF(Long.MAX_VALUE));
|
||||
}, 1, 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
package de.steamwar.core;
|
||||
|
||||
import de.steamwar.message.Message;
|
||||
import lombok.Data;
|
||||
import lombok.NonNull;
|
||||
import lombok.experimental.Delegate;
|
||||
import net.md_5.bungee.api.ChatMessageType;
|
||||
@@ -91,10 +92,16 @@ public class SWPlayer {
|
||||
return players.values().stream();
|
||||
}
|
||||
|
||||
public static <T extends Component> @NonNull Stream<Pair<SWPlayer, T>> allWithSingleComponent(Class<T> component) {
|
||||
public static <T extends Component> @NonNull Stream<SWPlayerWithComponent<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)));
|
||||
.map(player -> new SWPlayerWithComponent<>(player, (T) player.components.get(component)));
|
||||
}
|
||||
|
||||
@Data
|
||||
public static final class SWPlayerWithComponent<T extends Component> {
|
||||
private final SWPlayer player;
|
||||
private final T component;
|
||||
}
|
||||
|
||||
@Delegate
|
||||
|
||||
Reference in New Issue
Block a user