强制从旧版本服务器中踢出

This commit is contained in:
Color_yr committed 2026-07-18 17:16:00 +08:00
1 parent bb7fb6ee84
commit acf022cace
24 files changed
+284 -35

No files matched your search

@@ -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) -> {
@@ -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) -> {
@@ -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) -> {
@@ -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) -> {
@@ -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) -> {
@@ -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) -> {
@@ -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) -> {
@@ -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) -> {
@@ -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()));
@@ -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()));
@@ -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"));
}
}
}
@@ -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"));
}
}
}
@@ -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"));
}
}
}
@@ -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);
}
}
@@ -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<MusicCodec>, 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"));
}
}
}
@@ -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<MusicCodec>, 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"));
}
}
}
@@ -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<MusicCodec>, 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"));
}
}
}
@@ -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<MusicCodec>, 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"));
}
}
}
@@ -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<MusicCode
}
}
@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"));
}
}
}
@@ -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<MusicCodec>, 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"));
}
}
}
@@ -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<MusicCodec>, 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"));
}
}
}
@@ -95,4 +95,9 @@ public interface AllMusicBridge {
* @return 内容
*/
InputStream readFile(String file);
/**
* 踢出服务器
*/
void kick();
}
@@ -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;
@@ -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;
}
/**