From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=84=97=E3=84=A0=CB=8B=20=E3=84=91=E3=84=A7=CB=8A?= Date: Fri, 19 Jun 2020 19:55:56 +0800 Subject: [PATCH] Remove Streams using IntelliJ IDEA diff --git a/src/main/java/co/aikar/timings/TimingsReportListener.java b/src/main/java/co/aikar/timings/TimingsReportListener.java index ecd149157d4fb80444f34bf5633d74bcdb63dec5..966287589d7cbf4d626dcdf162ed8cea53cb0b34 100644 --- a/src/main/java/co/aikar/timings/TimingsReportListener.java +++ b/src/main/java/co/aikar/timings/TimingsReportListener.java @@ -60,7 +60,9 @@ public class TimingsReportListener implements net.kyori.adventure.audience.Forwa @Override public void sendMessage(@NotNull String message) { - senders.forEach((sender) -> sender.sendMessage(message)); + for (CommandSender sender : senders) { + sender.sendMessage(message); + } } public void addConsoleIfNeeded() { diff --git a/src/main/java/co/aikar/timings/TimingsReportListener.java.orig b/src/main/java/co/aikar/timings/TimingsReportListener.java.orig new file mode 100644 index 0000000000000000000000000000000000000000..ef58a6c00f444bd498a2d8fc4e457236f393954f --- /dev/null +++ b/src/main/java/co/aikar/timings/TimingsReportListener.java.orig @@ -0,0 +1,77 @@ +package co.aikar.timings; + +import com.google.common.collect.Lists; +import org.apache.commons.lang.Validate; +import org.bukkit.Bukkit; +import org.bukkit.command.CommandSender; +import org.bukkit.command.ConsoleCommandSender; +import org.bukkit.command.MessageCommandSender; +import org.bukkit.command.RemoteConsoleCommandSender; + +import java.util.List; +import java.util.UUID; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +@SuppressWarnings("WeakerAccess") +public class TimingsReportListener implements MessageCommandSender { + private final List senders; + private final Runnable onDone; + private String timingsURL; + + public TimingsReportListener(@NotNull CommandSender senders) { + this(senders, null); + } + public TimingsReportListener(@NotNull CommandSender sender, @Nullable Runnable onDone) { + this(Lists.newArrayList(sender), onDone); + } + public TimingsReportListener(@NotNull List senders) { + this(senders, null); + } + public TimingsReportListener(@NotNull List senders, @Nullable Runnable onDone) { + Validate.notNull(senders); + Validate.notEmpty(senders); + + this.senders = Lists.newArrayList(senders); + this.onDone = onDone; + } + + @Nullable + public String getTimingsURL() { + return timingsURL; + } + + public void done() { + done(null); + } + + public void done(@Nullable String url) { + this.timingsURL = url; + if (onDone != null) { + onDone.run(); + } + for (CommandSender sender : senders) { + if (sender instanceof TimingsReportListener) { + ((TimingsReportListener) sender).done(); + } + } + } + + @Override + public void sendMessage(@NotNull String message) { + senders.forEach((sender) -> sender.sendMessage(message)); + } + + public void addConsoleIfNeeded() { + boolean hasConsole = false; + for (CommandSender sender : this.senders) { + if (sender instanceof ConsoleCommandSender || sender instanceof RemoteConsoleCommandSender) { + hasConsole = true; + } + } + if (!hasConsole) { + this.senders.add(Bukkit.getConsoleSender()); + } + } +} diff --git a/src/main/java/com/destroystokyo/paper/MaterialSetTag.java b/src/main/java/com/destroystokyo/paper/MaterialSetTag.java index a02a02aa0c87e0f0ed9e509e4dcab01565b3d92a..0c3fef0b4fd7f0ba4e37600e5acc886838e1db13 100644 --- a/src/main/java/com/destroystokyo/paper/MaterialSetTag.java +++ b/src/main/java/com/destroystokyo/paper/MaterialSetTag.java @@ -13,7 +13,9 @@ import org.bukkit.block.BlockState; import org.bukkit.block.data.BlockData; import org.bukkit.inventory.ItemStack; +import java.util.ArrayList; import java.util.Collection; +import java.util.List; import java.util.Set; import java.util.function.Predicate; import java.util.stream.Collectors; diff --git a/src/main/java/io/papermc/paper/tag/BaseTag.java b/src/main/java/io/papermc/paper/tag/BaseTag.java index 4b8552e4e4c07b197fa9431fa911535b0222561e..09276e7fd18c4d82c77d19550ace1c6000f21cb7 100644 --- a/src/main/java/io/papermc/paper/tag/BaseTag.java +++ b/src/main/java/io/papermc/paper/tag/BaseTag.java @@ -2,6 +2,7 @@ package io.papermc.paper.tag; import com.google.common.collect.Lists; import org.bukkit.Keyed; +import org.bukkit.Material; import org.bukkit.NamespacedKey; import org.bukkit.Tag; import org.jetbrains.annotations.NotNull; @@ -84,7 +85,17 @@ public abstract class BaseTag> implemen @NotNull public C add(@NotNull Predicate filter) { - return add(getAllPossibleValues().stream().filter(globalPredicates.stream().reduce(Predicate::or).orElse(t -> true)).filter(filter).collect(Collectors.toSet())); + Set set = new HashSet<>(); + for (T material : getAllPossibleValues()) { + for(Predicate tPredicate : globalPredicates) { + if (tPredicate.test(material)) { + if (filter.test(material)) { + set.add(material); + } + } + } + } + return add(set); } @NotNull @@ -124,7 +135,17 @@ public abstract class BaseTag> implemen @NotNull public C not(@NotNull Predicate filter) { - not(getAllPossibleValues().stream().filter(globalPredicates.stream().reduce(Predicate::or).orElse(t -> true)).filter(filter).collect(Collectors.toSet())); + Set set = new HashSet<>(); + for (T material : getAllPossibleValues()) { + for(Predicate tPredicate : globalPredicates) { + if (tPredicate.test(material)) { + if (filter.test(material)) { + set.add(material); + } + } + } + } + not(set); return (C) this; } @@ -145,7 +166,14 @@ public abstract class BaseTag> implemen @NotNull public C ensureSize(@NotNull String label, int size) { - long actual = this.tagged.stream().filter(globalPredicates.stream().reduce(Predicate::or).orElse(t -> true)).count(); + long actual = 0L; + for (T material : this.tagged) { + for(Predicate tPredicate : globalPredicates) { + if (tPredicate.test(material)) { + actual++; + } + } + } if (size != actual) { throw new IllegalStateException(key.toString() + ": " + label + " - Expected " + size + " values, got " + actual); }