mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-26 18:39:20 +00:00
fix(client): 修复断开链接处理问题
This commit is contained in:
@@ -7,10 +7,12 @@ import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
|
||||
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
|
||||
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.color.world.BiomeColors;
|
||||
import net.minecraft.client.gui.screen.DisconnectedScreen;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.network.DisconnectionInfo;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Identifier;
|
||||
@@ -19,7 +21,11 @@ import net.minecraft.world.biome.FoliageColors;
|
||||
import net.momirealms.craftengine.fabric.client.config.ModConfig;
|
||||
import net.momirealms.craftengine.fabric.client.network.CraftEnginePayload;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Path;
|
||||
import java.util.Optional;
|
||||
|
||||
public class CraftEngineFabricModClient implements ClientModInitializer {
|
||||
public static final String MOD_ID = "craftengine";
|
||||
@@ -47,11 +53,21 @@ public class CraftEngineFabricModClient implements ClientModInitializer {
|
||||
if (decoded.startsWith("cp:")) {
|
||||
int blockRegistrySize = Integer.parseInt(decoded.substring(3));
|
||||
if (Block.STATE_IDS.size() != blockRegistrySize) {
|
||||
client.disconnect(new DisconnectedScreen(
|
||||
client.currentScreen,
|
||||
Text.translatable("disconnect.craftengine.title"),
|
||||
Text.translatable("disconnect.craftengine.block_registry_mismatch", Block.STATE_IDS.size(), blockRegistrySize))
|
||||
);
|
||||
if (client.player != null) {
|
||||
client.player.networkHandler.getConnection().disconnect(
|
||||
new DisconnectionInfo(
|
||||
Text.translatable("disconnect.craftengine.block_registry_mismatch", Block.STATE_IDS.size(), blockRegistrySize),
|
||||
Optional.of(FabricLoader.getInstance().getConfigDir().resolve("craft-engine-fabric-mod/mappings.yml")),
|
||||
Optional.of(URI.create("https://github.com/Xiao-MoMi/craft-engine"))
|
||||
)
|
||||
);
|
||||
} else {
|
||||
client.disconnect(new DisconnectedScreen(
|
||||
client.currentScreen,
|
||||
Text.translatable("disconnect.craftengine.title"),
|
||||
Text.translatable("disconnect.craftengine.block_registry_mismatch", Block.STATE_IDS.size(), blockRegistrySize))
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user