diff --git a/client/fabric_1_16_5/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/fabric_1_16_5/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 3912458c..2d1f477d 100644 --- a/client/fabric_1_16_5/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/fabric_1_16_5/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -12,6 +12,9 @@ import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; import net.minecraft.sounds.SoundSource; @@ -177,6 +180,19 @@ public class AllMusicClient implements ClientModInitializer, AllMusicBridge { } } + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + if (client != null) { + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } + } + @Override public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(ID, (client, handler, buffer, responseSender) -> { diff --git a/client/fabric_1_20_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/fabric_1_20_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 670d84b6..b40fd326 100644 --- a/client/fabric_1_20_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/fabric_1_20_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -12,6 +12,8 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -111,6 +113,16 @@ public class AllMusicClient implements ClientModInitializer, AllMusicBridge { } } + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } + @Override public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(ID, (client, handler, buffer, responseSender) -> { diff --git a/client/fabric_1_21/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/fabric_1_21/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 68f8cc6d..31dcb7d6 100644 --- a/client/fabric_1_21/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/fabric_1_21/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -13,6 +13,8 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -112,6 +114,17 @@ public class AllMusicClient implements ClientModInitializer, AllMusicBridge { } } + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } + @Override public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(MusicCodec.ID, (pack, handler) -> { diff --git a/client/fabric_1_21_11/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/fabric_1_21_11/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 6c6acc92..d8a8c172 100644 --- a/client/fabric_1_21_11/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/fabric_1_21_11/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -12,6 +12,8 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.Identifier; import net.minecraft.server.packs.resources.Resource; @@ -113,6 +115,17 @@ public class AllMusicClient implements ClientModInitializer, AllMusicBridge { } } + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } + @Override public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(MusicCodec.ID, (pack, handler) -> { diff --git a/client/fabric_1_21_3/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/fabric_1_21_3/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index ebdb461b..8cd4f646 100644 --- a/client/fabric_1_21_3/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/fabric_1_21_3/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -13,6 +13,8 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -112,6 +114,17 @@ public class AllMusicClient implements ClientModInitializer, AllMusicBridge { } } + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } + @Override public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(MusicCodec.ID, (pack, handler) -> { diff --git a/client/fabric_1_21_4/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/fabric_1_21_4/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index ebdb461b..8cd4f646 100644 --- a/client/fabric_1_21_4/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/fabric_1_21_4/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -13,6 +13,8 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -112,6 +114,17 @@ public class AllMusicClient implements ClientModInitializer, AllMusicBridge { } } + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } + @Override public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(MusicCodec.ID, (pack, handler) -> { diff --git a/client/fabric_1_21_6/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/fabric_1_21_6/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index f246078f..5e9068cf 100644 --- a/client/fabric_1_21_6/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/fabric_1_21_6/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -12,6 +12,8 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -111,6 +113,17 @@ public class AllMusicClient implements ClientModInitializer, AllMusicBridge { } } + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } + @Override public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(MusicCodec.ID, (pack, handler) -> { diff --git a/client/fabric_1_21_8/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/fabric_1_21_8/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index f246078f..5e9068cf 100644 --- a/client/fabric_1_21_8/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/fabric_1_21_8/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -12,6 +12,8 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -111,6 +113,17 @@ public class AllMusicClient implements ClientModInitializer, AllMusicBridge { } } + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } + @Override public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(MusicCodec.ID, (pack, handler) -> { diff --git a/client/fabric_26_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/fabric_26_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 2c0c70cf..c04442c0 100644 --- a/client/fabric_26_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/fabric_26_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -15,7 +15,9 @@ import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphicsExtractor; +import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.client.renderer.texture.AbstractTexture; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.Identifier; import net.minecraft.server.packs.resources.Resource; @@ -115,6 +117,17 @@ public class AllMusicClient implements ClientModInitializer, AllMusicBridge { } } + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } + @Override public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(MusicCodec.ID, (pack, handler) -> AllMusicCore.packDo(pack.pack())); diff --git a/client/fabric_26_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/fabric_26_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 5f09409b..3b22c550 100644 --- a/client/fabric_26_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/fabric_26_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -14,7 +14,9 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphicsExtractor; +import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.client.renderer.texture.AbstractTexture; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.Identifier; import net.minecraft.server.packs.resources.Resource; @@ -114,6 +116,17 @@ public class AllMusicClient implements ClientModInitializer, AllMusicBridge { } } + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } + @Override public void onInitializeClient() { ClientPlayNetworking.registerGlobalReceiver(MusicCodec.ID, (pack, handler) -> AllMusicCore.packDo(pack.pack())); diff --git a/client/forge_1_12_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/forge_1_12_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 96a21281..770240b8 100644 --- a/client/forge_1_12_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/forge_1_12_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -8,7 +8,9 @@ import com.coloryr.allmusic.client.core.render.TextureRender; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.network.NetHandlerPlayClient; import net.minecraft.client.resources.IResource; +import net.minecraft.network.NetworkManager; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundCategory; import net.minecraft.util.text.TextComponentString; @@ -246,4 +248,14 @@ public class AllMusicClient implements AllMusicBridge { return result; } + + public void kick() { + Minecraft client = Minecraft.getMinecraft(); + + NetHandlerPlayClient packetListener = client.getConnection(); + if (packetListener != null) { + NetworkManager connection = packetListener.getNetworkManager(); + connection.closeChannel(new TextComponentString("Old AllMusic server")); + } + } } diff --git a/client/forge_1_16_5/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/forge_1_16_5/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 72341bb3..0f5c7fc9 100644 --- a/client/forge_1_16_5/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/forge_1_16_5/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -7,6 +7,9 @@ import com.coloryr.allmusic.client.core.render.TextFrameBuffer; import com.coloryr.allmusic.client.core.render.TextureRender; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; +import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TextComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -246,4 +249,15 @@ public class AllMusicClient implements AllMusicBridge { return null; } } + + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } } diff --git a/client/forge_1_20_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/forge_1_20_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 0bb23ba8..aed652f6 100644 --- a/client/forge_1_20_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/forge_1_20_1/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -7,6 +7,8 @@ import com.coloryr.allmusic.client.core.render.TextFrameBuffer; import com.coloryr.allmusic.client.core.render.TextureRender; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -176,4 +178,15 @@ public class AllMusicClient implements AllMusicBridge { return null; } } + + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } } diff --git a/client/forge_1_7_10/src/main/java/com/coloryr/allmusic/client/AllMusic.java b/client/forge_1_7_10/src/main/java/com/coloryr/allmusic/client/AllMusic.java index 27aa30e4..273a568a 100644 --- a/client/forge_1_7_10/src/main/java/com/coloryr/allmusic/client/AllMusic.java +++ b/client/forge_1_7_10/src/main/java/com/coloryr/allmusic/client/AllMusic.java @@ -14,7 +14,11 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.audio.SoundCategory; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.network.NetHandlerPlayClient; import net.minecraft.client.resources.IResource; +import net.minecraft.network.NetworkManager; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.IChatComponent; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.sound.PlaySoundEvent17; @@ -217,40 +221,14 @@ public class AllMusic implements AllMusicBridge { return Minecraft.getMinecraft().gameSettings.getSoundLevel(SoundCategory.RECORDS); } - public void drawPic(Object textureID, int size, int x, int y, int ang) { - int a = size / 2; + @Override + public void kick() { + Minecraft client = Minecraft.getMinecraft(); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, (int) textureID); - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - // GL11.glEnable(GL11.GL_ALPHA); - GL11.glPushMatrix(); - GL11.glTranslatef((float) x + a, (float) y + a, 0.0f); - - if (ang > 0) { - GL11.glRotatef(ang, 0, 0, 1f); + NetHandlerPlayClient packetListener = client.getNetHandler(); + if (packetListener != null) { + NetworkManager connection = packetListener.getNetworkManager(); + connection.closeChannel(new ChatComponentText("Old AllMusic server")); } - - int x0 = -a; - int x1 = a; - int y0 = -a; - int y1 = a; - GL11.glBegin(GL11.GL_QUADS); - GL11.glTexCoord2f(0.0f, 0.0f); - GL11.glVertex3f(x0, y0, 0.0f); - GL11.glTexCoord2f(0.0f, 1.0f); - GL11.glVertex3f(x0, y1, 0.0f); - GL11.glTexCoord2f(1.0f, 1.0f); - GL11.glVertex3f(x1, y1, 0.0f); - GL11.glTexCoord2f(1.0f, 0.0f); - GL11.glVertex3f(x1, y0, 0.0f); - GL11.glEnd(); - GL11.glPopMatrix(); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0); - GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); - } - - public void drawText(String item, int x, int y, int color, boolean shadow) { - FontRenderer font = Minecraft.getMinecraft().fontRenderer; - font.drawString(item, x, y, color, shadow); } } diff --git a/client/neoforge_1_21/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/neoforge_1_21/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index fe5d1faa..0716ce7d 100644 --- a/client/neoforge_1_21/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/neoforge_1_21/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -9,6 +9,8 @@ import com.coloryr.allmusic.comm.AllMusicInit; import com.coloryr.allmusic.comm.MusicCodec; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -177,4 +179,15 @@ public class AllMusicClient implements IPayloadHandler, AllMusicBrid } } } + + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } } diff --git a/client/neoforge_1_21_11/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/neoforge_1_21_11/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 9506bb45..0f0b373c 100644 --- a/client/neoforge_1_21_11/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/neoforge_1_21_11/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -9,6 +9,8 @@ import com.coloryr.allmusic.comm.AllMusicInit; import com.coloryr.allmusic.comm.MusicCodec; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.Identifier; import net.minecraft.server.packs.resources.Resource; @@ -176,4 +178,15 @@ public class AllMusicClient implements IPayloadHandler, AllMusicBrid return null; } } + + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } } diff --git a/client/neoforge_1_21_3/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/neoforge_1_21_3/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index cfcbc479..1a61ff23 100644 --- a/client/neoforge_1_21_3/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/neoforge_1_21_3/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -9,6 +9,8 @@ import com.coloryr.allmusic.comm.AllMusicInit; import com.coloryr.allmusic.comm.MusicCodec; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -176,4 +178,15 @@ public class AllMusicClient implements IPayloadHandler, AllMusicBrid } } } + + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } } diff --git a/client/neoforge_1_21_4/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/neoforge_1_21_4/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index cfcbc479..1a61ff23 100644 --- a/client/neoforge_1_21_4/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/neoforge_1_21_4/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -9,6 +9,8 @@ import com.coloryr.allmusic.comm.AllMusicInit; import com.coloryr.allmusic.comm.MusicCodec; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -176,4 +178,15 @@ public class AllMusicClient implements IPayloadHandler, AllMusicBrid } } } + + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } } diff --git a/client/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 35ff8d4b..443f400f 100644 --- a/client/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/neoforge_1_21_6/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -9,6 +9,8 @@ import com.coloryr.allmusic.comm.AllMusicInit; import com.coloryr.allmusic.comm.MusicCodec; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.resources.Resource; @@ -174,4 +176,14 @@ public class AllMusicClient implements AllMusicBridge, IPayloadHandler, AllMusicBrid return null; } } + + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } } diff --git a/client/neoforge_26_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java b/client/neoforge_26_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java index 3c396691..3ac78cae 100644 --- a/client/neoforge_26_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java +++ b/client/neoforge_26_2/src/main/java/com/coloryr/allmusic/client/AllMusicClient.java @@ -9,6 +9,8 @@ import com.coloryr.allmusic.comm.AllMusicInit; import com.coloryr.allmusic.comm.MusicCodec; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphicsExtractor; +import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.network.Connection; import net.minecraft.network.chat.Component; import net.minecraft.resources.Identifier; import net.minecraft.server.packs.resources.Resource; @@ -182,4 +184,15 @@ public class AllMusicClient implements IPayloadHandler, AllMusicBrid return null; } } + + @Override + public void kick() { + Minecraft client = Minecraft.getInstance(); + + ClientPacketListener packetListener = client.getConnection(); + if (packetListener != null) { + Connection connection = packetListener.getConnection(); + connection.disconnect(Component.nullToEmpty("Old AllMusic server")); + } + } } diff --git a/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicBridge.java b/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicBridge.java index 6b06cad9..2accfd0b 100644 --- a/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicBridge.java +++ b/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicBridge.java @@ -95,4 +95,9 @@ public interface AllMusicBridge { * @return 内容 */ InputStream readFile(String file); + + /** + * 踢出服务器 + */ + void kick(); } diff --git a/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicCore.java b/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicCore.java index 566f7ed8..3c94e5f9 100644 --- a/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicCore.java +++ b/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicCore.java @@ -249,7 +249,10 @@ public class AllMusicCore { break; case HUD_DATA: MusicPack.StringMusicPack pack8 = (MusicPack.StringMusicPack) pack; - hud.setPos(gson.fromJson(pack8.data, HudPosObj.class)); + boolean fail = hud.setPos(gson.fromJson(pack8.data, HudPosObj.class)); + if (!fail) { + bridge.kick(); + } break; case TIME: MusicPack.TimeMusicPack pack9 = (MusicPack.TimeMusicPack) pack; diff --git a/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicHud.java b/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicHud.java index 56de12ba..2200ac1f 100644 --- a/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicHud.java +++ b/client/src/main/java/com/coloryr/allmusic/client/core/AllMusicHud.java @@ -425,11 +425,13 @@ public class AllMusicHud { * * @param save 位置信息 */ - public void setPos(HudPosObj save) { + public boolean setPos(HudPosObj save) { this.save = save; infoNeedUpdate = true; lyricNeedUpdate = true; + + return save != null && save.lyric != null && save.info != null && save.state != null && save.pic != null; } /**