diff --git a/sakura-server/minecraft-patches/sources/net/minecraft/server/MinecraftServer.java.patch b/sakura-server/minecraft-patches/sources/net/minecraft/server/MinecraftServer.java.patch index 05fcc22..239278f 100644 --- a/sakura-server/minecraft-patches/sources/net/minecraft/server/MinecraftServer.java.patch +++ b/sakura-server/minecraft-patches/sources/net/minecraft/server/MinecraftServer.java.patch @@ -19,7 +19,7 @@ + return this.tickInformationCollector.latestTickInformation(); + } + -+ public final ImmutableList tickHistory(final long from, final long to) { ++ public final it.unimi.dsi.fastutil.objects.ObjectImmutableList tickHistory(final long from, final long to) { + return this.tickInformationCollector.collect(from, to); + } + // Sakura end - track tick information diff --git a/sakura-server/src/main/java/me/samsuik/sakura/command/subcommands/TPSCommand.java b/sakura-server/src/main/java/me/samsuik/sakura/command/subcommands/TPSCommand.java index bfd70fa..93dc1ef 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/command/subcommands/TPSCommand.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/command/subcommands/TPSCommand.java @@ -1,7 +1,7 @@ package me.samsuik.sakura.command.subcommands; import com.google.common.base.Strings; -import com.google.common.collect.ImmutableList; +import it.unimi.dsi.fastutil.objects.ObjectImmutableList; import me.samsuik.sakura.command.BaseSubCommand; import me.samsuik.sakura.tps.ServerTickInformation; import me.samsuik.sakura.tps.graph.BuiltComponentCanvas; @@ -38,7 +38,7 @@ public final class TPSCommand extends BaseSubCommand { scale = this.dynamicScale(identifier); } - final ImmutableList tickHistory = MinecraftServer.getServer().tickHistory(identifier - GRAPH_WIDTH, identifier); + final ObjectImmutableList tickHistory = MinecraftServer.getServer().tickHistory(identifier - GRAPH_WIDTH, identifier); final DetailedTPSGraph graph = new DetailedTPSGraph(GRAPH_WIDTH, GRAPH_HEIGHT, scale, tickHistory); final BuiltComponentCanvas canvas = graph.plot(); @@ -56,7 +56,7 @@ public final class TPSCommand extends BaseSubCommand { } private double dynamicScale(final long identifier) { - final ImmutableList tickHistory = MinecraftServer.getServer().tickHistory(identifier - 5, identifier); + final ObjectImmutableList tickHistory = MinecraftServer.getServer().tickHistory(identifier - 5, identifier); final double averageTps = tickHistory.stream() .mapToDouble(ServerTickInformation::tps) .average() diff --git a/sakura-server/src/main/java/me/samsuik/sakura/player/gui/FeatureGuiInventory.java b/sakura-server/src/main/java/me/samsuik/sakura/player/gui/FeatureGuiInventory.java index 064b04b..ad648aa 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/player/gui/FeatureGuiInventory.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/player/gui/FeatureGuiInventory.java @@ -2,10 +2,10 @@ package me.samsuik.sakura.player.gui; import com.google.common.base.Preconditions; import com.google.common.collect.HashMultimap; -import com.google.common.collect.ImmutableList; import com.google.common.collect.Multimap; import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap; import it.unimi.dsi.fastutil.objects.Object2ObjectMap; +import it.unimi.dsi.fastutil.objects.ObjectImmutableList; import me.samsuik.sakura.player.gui.components.GuiComponent; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; @@ -38,12 +38,12 @@ public final class FeatureGuiInventory implements InventoryHolder { return this.gui; } - public ImmutableList getComponents() { - return ImmutableList.copyOf(this.componentKeys.keySet()); + public ObjectImmutableList getComponents() { + return new ObjectImmutableList<>(this.componentKeys.keySet()); } - public ImmutableList findComponents(final NamespacedKey key) { - return ImmutableList.copyOf(this.componentsUnderKey.get(key)); + public ObjectImmutableList findComponents(final NamespacedKey key) { + return new ObjectImmutableList<>(this.componentsUnderKey.get(key)); } public Optional findFirst(final NamespacedKey key) { diff --git a/sakura-server/src/main/java/me/samsuik/sakura/player/visibility/VisibilityGuiItems.java b/sakura-server/src/main/java/me/samsuik/sakura/player/visibility/VisibilityGuiItems.java index 68bfb9a..c0d20b5 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/player/visibility/VisibilityGuiItems.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/player/visibility/VisibilityGuiItems.java @@ -1,6 +1,6 @@ package me.samsuik.sakura.player.visibility; -import com.google.common.collect.ImmutableList; +import it.unimi.dsi.fastutil.objects.ObjectImmutableList; import it.unimi.dsi.fastutil.objects.Reference2ObjectMap; import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap; import me.samsuik.sakura.player.gui.ItemStackUtil; @@ -15,7 +15,7 @@ import java.util.Locale; @NullMarked public final class VisibilityGuiItems { - static final Reference2ObjectMap> GUI_ITEMS = new Reference2ObjectOpenHashMap<>(); + static final Reference2ObjectMap> GUI_ITEMS = new Reference2ObjectOpenHashMap<>(); static final Reference2ObjectMap TOGGLE_BUTTON_ITEMS = new Reference2ObjectOpenHashMap<>(); static { @@ -28,9 +28,9 @@ public final class VisibilityGuiItems { for (final VisibilityType type : VisibilityTypes.types()) { final ItemStack item = items.get(type); - final ImmutableList stateItems = type.states().stream() + final ObjectImmutableList stateItems = type.states().stream() .map(state -> createItemForState(item, state)) - .collect(ImmutableList.toImmutableList()); + .collect(ObjectImmutableList.toList()); GUI_ITEMS.put(type, stateItems); } diff --git a/sakura-server/src/main/java/me/samsuik/sakura/tps/TickInformationCollector.java b/sakura-server/src/main/java/me/samsuik/sakura/tps/TickInformationCollector.java index 2fbdf4e..1ac070c 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/tps/TickInformationCollector.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/tps/TickInformationCollector.java @@ -1,8 +1,8 @@ package me.samsuik.sakura.tps; -import com.google.common.collect.ImmutableList; import it.unimi.dsi.fastutil.longs.LongArrayList; import it.unimi.dsi.fastutil.objects.ObjectArrayList; +import it.unimi.dsi.fastutil.objects.ObjectImmutableList; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; import org.jspecify.annotations.NullMarked; @@ -53,7 +53,7 @@ public final class TickInformationCollector { this.tickSamples.add(timeTaken); } - public ImmutableList collect(final long from, final long to) { + public ObjectImmutableList collect(final long from, final long to) { final List collected = new ObjectArrayList<>(); for (final ServerTickInformation tickInformation : this.collectedInformation.reversed()) { if (tickInformation.identifier() >= from && tickInformation.identifier() < to) { @@ -68,6 +68,6 @@ public final class TickInformationCollector { collected.add(index, ServerTickInformation.UNKNOWN); } - return ImmutableList.copyOf(collected); + return new ObjectImmutableList<>(collected); } } diff --git a/sakura-server/src/main/java/me/samsuik/sakura/tps/graph/BuiltComponentCanvas.java b/sakura-server/src/main/java/me/samsuik/sakura/tps/graph/BuiltComponentCanvas.java index d1a66ce..f3664b1 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/tps/graph/BuiltComponentCanvas.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/tps/graph/BuiltComponentCanvas.java @@ -1,6 +1,6 @@ package me.samsuik.sakura.tps.graph; -import com.google.common.collect.ImmutableList; +import it.unimi.dsi.fastutil.objects.ObjectImmutableList; import net.kyori.adventure.text.Component; import org.jspecify.annotations.NullMarked; @@ -30,7 +30,7 @@ public final class BuiltComponentCanvas { this.components.add(component); } - public ImmutableList components() { - return ImmutableList.copyOf(this.components); + public ObjectImmutableList components() { + return new ObjectImmutableList<>(this.components); } }