diff --git a/libs/velocity-proxy-3.5.0-SNAPSHOT-all.jar b/libs/velocity-proxy-3.5.0-SNAPSHOT-all.jar new file mode 100644 index 00000000..2c6d8c8d Binary files /dev/null and b/libs/velocity-proxy-3.5.0-SNAPSHOT-all.jar differ diff --git a/plugin/build.gradle b/plugin/build.gradle index e6801031..76a9f8a0 100644 --- a/plugin/build.gradle +++ b/plugin/build.gradle @@ -27,13 +27,8 @@ dependencies() { implementation(libs.elytrium.fastprepare) compileOnly(libs.minecraft.velocity.api) annotationProcessor(libs.minecraft.velocity.api) - compileOnly(libs.minecraft.velocity.proxy) // From Elytrium Repo. - compileOnly(libs.minecraft.velocity.native) - - // Needs for some velocity methods. - compileOnly(libs.tool.netty.codec) - compileOnly(libs.tool.netty.handler) - compileOnly(libs.tool.fastutil) + compileOnly(files("../libs/velocity-proxy-3.5.0-SNAPSHOT-all.jar")) + compileOnly("it.unimi.dsi:fastutil:8.5.18") // not able to compile without it implementation(libs.minecraft.bstats.velocity) diff --git a/plugin/src/main/java/net/elytrium/limboapi/injection/login/LoginListener.java b/plugin/src/main/java/net/elytrium/limboapi/injection/login/LoginListener.java index 94cd6e30..70df96b3 100644 --- a/plugin/src/main/java/net/elytrium/limboapi/injection/login/LoginListener.java +++ b/plugin/src/main/java/net/elytrium/limboapi/injection/login/LoginListener.java @@ -43,12 +43,12 @@ import com.velocitypowered.api.proxy.InboundConnection; import com.velocitypowered.api.proxy.crypto.IdentifiedKey; import com.velocitypowered.api.proxy.player.TabList; +import com.velocitypowered.api.proxy.server.PlayerInfoForwarding; import com.velocitypowered.api.util.GameProfile; import com.velocitypowered.api.util.UuidUtils; import com.velocitypowered.natives.compression.VelocityCompressor; import com.velocitypowered.natives.util.Natives; import com.velocitypowered.proxy.VelocityServer; -import com.velocitypowered.proxy.config.PlayerInfoForwarding; import com.velocitypowered.proxy.config.VelocityConfiguration; import com.velocitypowered.proxy.connection.MinecraftConnection; import com.velocitypowered.proxy.connection.client.AuthSessionHandler; diff --git a/plugin/src/main/java/net/elytrium/limboapi/injection/tablist/RewritingKeyedVelocityTabList.java b/plugin/src/main/java/net/elytrium/limboapi/injection/tablist/RewritingKeyedVelocityTabList.java index 48fd4ced..2b15bebb 100644 --- a/plugin/src/main/java/net/elytrium/limboapi/injection/tablist/RewritingKeyedVelocityTabList.java +++ b/plugin/src/main/java/net/elytrium/limboapi/injection/tablist/RewritingKeyedVelocityTabList.java @@ -19,6 +19,7 @@ import com.velocitypowered.api.proxy.ProxyServer; import com.velocitypowered.api.proxy.player.TabListEntry; +import com.velocitypowered.proxy.VelocityServer; import com.velocitypowered.proxy.connection.MinecraftConnection; import com.velocitypowered.proxy.connection.client.ConnectedPlayer; import com.velocitypowered.proxy.tablist.KeyedVelocityTabList; @@ -36,7 +37,7 @@ public class RewritingKeyedVelocityTabList extends KeyedVelocityTabList implemen protected final Map entries; public RewritingKeyedVelocityTabList(ConnectedPlayer player, ProxyServer proxyServer) { - super(player, proxyServer); + super(player, (VelocityServer) proxyServer); this.player = super.player; this.connection = super.connection; this.proxyServer = super.proxyServer; diff --git a/plugin/src/main/java/net/elytrium/limboapi/injection/tablist/RewritingVelocityTabListLegacy.java b/plugin/src/main/java/net/elytrium/limboapi/injection/tablist/RewritingVelocityTabListLegacy.java index 643b7b5b..cafa7b7b 100644 --- a/plugin/src/main/java/net/elytrium/limboapi/injection/tablist/RewritingVelocityTabListLegacy.java +++ b/plugin/src/main/java/net/elytrium/limboapi/injection/tablist/RewritingVelocityTabListLegacy.java @@ -19,6 +19,7 @@ import com.velocitypowered.api.proxy.ProxyServer; import com.velocitypowered.api.proxy.player.TabListEntry; +import com.velocitypowered.proxy.VelocityServer; import com.velocitypowered.proxy.connection.MinecraftConnection; import com.velocitypowered.proxy.connection.client.ConnectedPlayer; import com.velocitypowered.proxy.tablist.KeyedVelocityTabListEntry; @@ -36,7 +37,7 @@ public class RewritingVelocityTabListLegacy extends VelocityTabListLegacy implem protected final Map entries; public RewritingVelocityTabListLegacy(ConnectedPlayer player, ProxyServer proxyServer) { - super(player, proxyServer); + super(player, (VelocityServer) proxyServer); this.player = super.player; this.connection = super.connection; this.proxyServer = super.proxyServer; diff --git a/plugin/src/main/java/net/elytrium/limboapi/utils/OverlayObject2IntMap.java b/plugin/src/main/java/net/elytrium/limboapi/utils/OverlayObject2IntMap.java index 6f0f2b42..9626fcad 100644 --- a/plugin/src/main/java/net/elytrium/limboapi/utils/OverlayObject2IntMap.java +++ b/plugin/src/main/java/net/elytrium/limboapi/utils/OverlayObject2IntMap.java @@ -18,9 +18,9 @@ package net.elytrium.limboapi.utils; import com.google.common.collect.Streams; -import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntCollection; import it.unimi.dsi.fastutil.objects.Object2IntMap; +import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; import it.unimi.dsi.fastutil.objects.ObjectSet; import java.util.stream.Collectors; import net.elytrium.limboapi.api.utils.OverlayMap; @@ -77,10 +77,10 @@ public ObjectSet keySet() { @Override public IntCollection values() { - return Streams - .concat(((Object2IntMap) this.parent).values().intStream(), ((Object2IntMap) this.overlay).values().intStream()) - .boxed() - .collect(Collectors.toCollection(IntArrayList::new)); + Object2IntOpenHashMap hashMap = new Object2IntOpenHashMap<>(); + Streams.concat(((Object2IntMap) this.parent).values().intStream(), ((Object2IntMap) this.overlay).values().intStream()) + .forEach(value -> hashMap.put(new Object(), value)); + return hashMap.values(); } @Override