diff --git a/src/main/java/net/treset/adaptiveview/mixin/PlayerListMixin.java b/src/main/java/net/treset/adaptiveview/mixin/PlayerListMixin.java new file mode 100644 index 0000000..53408a2 --- /dev/null +++ b/src/main/java/net/treset/adaptiveview/mixin/PlayerListMixin.java @@ -0,0 +1,18 @@ +package net.treset.adaptiveview.mixin; + +import net.minecraft.network.protocol.Packet; +import net.minecraft.server.players.PlayerList; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +@Mixin(PlayerList.class) +public abstract class PlayerListMixin { + // we just prevent the ClientboundSetChunkCacheRadiusPacket from being sent to the players + @Redirect(method = "setViewDistance", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/server/players/PlayerList;broadcastAll(Lnet/minecraft/network/protocol/Packet;)V" + )) + public void redirectBroadcastAll(PlayerList instance, Packet packet) {} +} diff --git a/src/main/resources/adaptiveview.mixins.json b/src/main/resources/adaptiveview.mixins.json index be568ea..9d9c5ea 100644 --- a/src/main/resources/adaptiveview.mixins.json +++ b/src/main/resources/adaptiveview.mixins.json @@ -4,7 +4,8 @@ "package": "net.treset.adaptiveview.mixin", "compatibilityLevel": "JAVA_17", "mixins": [ - "MinecraftServerMixin" + "MinecraftServerMixin", + "PlayerListMixin" ], "injectors": { "defaultRequire": 1