From 368bd884f47aec78fca3e5275a523b9ea70de263 Mon Sep 17 00:00:00 2001 From: sunmisc Date: Thu, 28 Nov 2024 01:19:56 +0300 Subject: [PATCH] ensure order --- src/main/java/org/bukkit/FireworkEffect.java | 3 ++- src/main/java/org/bukkit/Registry.java | 24 +++++++++++-------- .../java/org/bukkit/block/banner/Pattern.java | 3 ++- .../event/inventory/InventoryDragEvent.java | 12 +++++----- .../bukkit/plugin/PluginDescriptionFile.java | 5 ++-- .../java/org/bukkit/potion/PotionEffect.java | 17 ++++++------- 6 files changed, 36 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/bukkit/FireworkEffect.java b/src/main/java/org/bukkit/FireworkEffect.java index bc300b3a..a56e2bdb 100644 --- a/src/main/java/org/bukkit/FireworkEffect.java +++ b/src/main/java/org/bukkit/FireworkEffect.java @@ -2,6 +2,7 @@ package org.bukkit; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import java.util.List; import java.util.Map; import org.bukkit.configuration.serialization.ConfigurationSerializable; @@ -384,7 +385,7 @@ public final class FireworkEffect implements ConfigurationSerializable { @NotNull @Override public Map serialize() { - return Map.of( + return ImmutableMap.of( FLICKER, flicker, TRAIL, trail, COLORS, colors, diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java index d247dce2..f0e80686 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java @@ -2,11 +2,12 @@ package org.bukkit; import com.google.common.base.Preconditions; import com.google.common.base.Predicates; - -import java.util.*; -import java.util.function.Function; +import com.google.common.collect.ImmutableMap; +import java.util.Iterator; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; import java.util.function.Predicate; -import java.util.stream.Collectors; import java.util.stream.Stream; import java.util.stream.StreamSupport; import org.bukkit.advancement.Advancement; @@ -404,12 +405,15 @@ public interface Registry extends Iterable { } protected SimpleRegistry(@NotNull Class type, @NotNull Predicate predicate) { - this.map = Arrays.stream(type.getEnumConstants()) - .filter(predicate) - .collect(Collectors.toUnmodifiableMap( - Keyed::getKey, - Function.identity()) - ); + ImmutableMap.Builder builder = ImmutableMap.builder(); + + for (T entry : type.getEnumConstants()) { + if (predicate.test(entry)) { + builder.put(entry.getKey(), entry); + } + } + + map = builder.build(); this.type = type; } diff --git a/src/main/java/org/bukkit/block/banner/Pattern.java b/src/main/java/org/bukkit/block/banner/Pattern.java index 4c3d3ea2..de815683 100644 --- a/src/main/java/org/bukkit/block/banner/Pattern.java +++ b/src/main/java/org/bukkit/block/banner/Pattern.java @@ -1,6 +1,7 @@ package org.bukkit.block.banner; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; import java.util.Map; import java.util.NoSuchElementException; import org.bukkit.Bukkit; @@ -63,7 +64,7 @@ public class Pattern implements ConfigurationSerializable { @NotNull @Override public Map serialize() { - return Map.of( + return ImmutableMap.of( COLOR, color.toString(), PATTERN, pattern.getKey().toString() ); diff --git a/src/main/java/org/bukkit/event/inventory/InventoryDragEvent.java b/src/main/java/org/bukkit/event/inventory/InventoryDragEvent.java index 5235706c..da37e0dd 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryDragEvent.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryDragEvent.java @@ -1,11 +1,10 @@ package org.bukkit.event.inventory; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableSet; import java.util.Collections; import java.util.Map; import java.util.Set; -import java.util.stream.Collectors; - import org.bukkit.Location; import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; @@ -73,10 +72,11 @@ public class InventoryDragEvent extends InventoryInteractEvent { this.newCursor = newCursor; this.oldCursor = oldCursor; this.addedItems = slots; - this.containerSlots = slots.keySet() - .stream() - .map(what::convertSlot) - .collect(Collectors.toUnmodifiableSet()); + ImmutableSet.Builder b = ImmutableSet.builder(); + for (Integer slot : slots.keySet()) { + b.add(what.convertSlot(slot)); + } + this.containerSlots = b.build(); } /** diff --git a/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java b/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java index 73b5a1e5..3f72b822 100644 --- a/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java +++ b/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java @@ -2,6 +2,7 @@ package org.bukkit.plugin; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; import java.io.InputStream; import java.io.Reader; import java.io.Writer; @@ -1126,7 +1127,7 @@ public final class PluginDescriptionFile { } contributors = contributorsBuilder.build(); } else { - contributors = List.of(); + contributors = List.of(); } if (map.get("default-permission") != null) { @@ -1148,7 +1149,7 @@ public final class PluginDescriptionFile { } catch (ClassCastException ex) { throw new InvalidDescriptionException(ex, "awareness has wrong type"); } - this.awareness = Set.copyOf(awareness); + this.awareness = ImmutableSet.copyOf(awareness); } if (map.get("api-version") != null) { diff --git a/src/main/java/org/bukkit/potion/PotionEffect.java b/src/main/java/org/bukkit/potion/PotionEffect.java index cf412e9f..59444d30 100644 --- a/src/main/java/org/bukkit/potion/PotionEffect.java +++ b/src/main/java/org/bukkit/potion/PotionEffect.java @@ -1,6 +1,7 @@ package org.bukkit.potion; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; import java.util.Map; import java.util.NoSuchElementException; import org.bukkit.Bukkit; @@ -142,14 +143,14 @@ public class PotionEffect implements ConfigurationSerializable { @Override @NotNull public Map serialize() { - return Map.of( - TYPE, type.getKey().toString(), - DURATION, duration, - AMPLIFIER, amplifier, - AMBIENT, ambient, - PARTICLES, particles, - ICON, icon - ); + return ImmutableMap.builder() + .put(TYPE, type.getKey().toString()) + .put(DURATION, duration) + .put(AMPLIFIER, amplifier) + .put(AMBIENT, ambient) + .put(PARTICLES, particles) + .put(ICON, icon) + .build(); }