diff --git a/build.gradle b/build.gradle index bf5d15a..5885aeb 100644 --- a/build.gradle +++ b/build.gradle @@ -3,11 +3,11 @@ plugins { id 'maven-publish' } -version = project.mod_version +version = "${project.minecraft_version}-${project.mod_version}" group = project.maven_group base { - archivesName = "${project.archives_base_name}-${project.minecraft_version}" + archivesName = project.archives_base_name } dependencies { diff --git a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/Mod.java b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/Mod.java index 3be907f..70c64d1 100644 --- a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/Mod.java +++ b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/Mod.java @@ -7,24 +7,7 @@ import net.minecraft.server.MinecraftServer; public class Mod implements ModInitializer { public static String MOD_ID = "enchantmentdoesnotconflict"; - public static final String PROTOCOL_VERSION = "1.0"; - private static MinecraftServer MINECRAFTSERVER; - - public static MinecraftServer getMinecraftServer(){ - return MINECRAFTSERVER; - } - - public static boolean isClient(){ - return MINECRAFTSERVER.getOverworld().isClient(); - } - public static boolean isServer(){ - return !MINECRAFTSERVER.getOverworld().isClient(); - } @Override public void onInitialize() { - ServerLifecycleEvents.SERVER_STARTED.register( - (server) -> { - MINECRAFTSERVER = server; - }); } } diff --git a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/client/ModClient.java b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/client/ModClient.java index 746447a..1eb4ce7 100644 --- a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/client/ModClient.java +++ b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/client/ModClient.java @@ -1,11 +1,11 @@ package com.mingliqiye.minecraft.enchantment.conflict.client; -import com.mingliqiye.minecraft.enchantment.conflict.network.ClientNetworkHandler; +import com.mingliqiye.minecraft.enchantment.conflict.network.NetworkHandler; import net.fabricmc.api.ClientModInitializer; public class ModClient implements ClientModInitializer { @Override public void onInitializeClient() { - ClientNetworkHandler.registerReceivers(); + NetworkHandler.registerReceivers(); } } diff --git a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/config/ModConfig.java b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/config/ModConfig.java index b6beb12..8da9670 100644 --- a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/config/ModConfig.java +++ b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/config/ModConfig.java @@ -24,7 +24,6 @@ public class ModConfig { private boolean allowInfinityEnchantment = true; private boolean allowPiercingEnchantment = true; private boolean allowProtectionEnchantmentMixin = true; - private static final Logger LOGGER = LogUtils.getLogger(); public ModConfig() { } @@ -34,7 +33,6 @@ public class ModConfig { } public static void setInstance(ModConfig instance) { - LOGGER.info("Load Server {} ModConfig {}", MOD_ID, instance); ModConfig.instance = instance; } diff --git a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/mixin/PlayerManagerMixin.java b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/mixin/PlayerManagerMixin.java index af6b4b9..e3beb14 100644 --- a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/mixin/PlayerManagerMixin.java +++ b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/mixin/PlayerManagerMixin.java @@ -1,7 +1,7 @@ package com.mingliqiye.minecraft.enchantment.conflict.mixin; import com.mingliqiye.minecraft.enchantment.conflict.config.ModConfig; -import com.mingliqiye.minecraft.enchantment.conflict.network.ServerNetWorkSender; +import com.mingliqiye.minecraft.enchantment.conflict.network.NetworkHandler; import net.minecraft.network.ClientConnection; import net.minecraft.server.PlayerManager; import net.minecraft.server.network.ServerPlayerEntity; @@ -18,6 +18,6 @@ public abstract class PlayerManagerMixin { ClientConnection connection, ServerPlayerEntity player, CallbackInfo ci ){ - ServerNetWorkSender.sendConfigToClient(player, ModConfig.getInstance()); + NetworkHandler.sendConfigToClient(player); } } diff --git a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/network/ClientNetworkHandler.java b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/network/ClientNetworkHandler.java deleted file mode 100644 index ec05801..0000000 --- a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/network/ClientNetworkHandler.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.mingliqiye.minecraft.enchantment.conflict.network; - -import com.google.gson.Gson; -import com.google.gson.JsonElement; -import com.google.gson.JsonParser; -import com.mingliqiye.minecraft.enchantment.conflict.config.ModConfig; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; - - -@Environment(EnvType.CLIENT) -public class ClientNetworkHandler { - - public static void registerReceivers() { - ClientPlayNetworking.registerGlobalReceiver( - NetworkHandler.CONFIG_PACKET_ID, - (client, handler, buf, responseSender) -> { - JsonElement configData = - JsonParser.parseString(buf.readString()); - client.execute(() -> handleConfigPacket(configData)); - } - ); - } - - private static void handleConfigPacket(JsonElement configData) { - ModConfig config = new Gson().fromJson(configData, ModConfig.class); - ModConfig.setInstance(config); - } -} diff --git a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/network/NetworkHandler.java b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/network/NetworkHandler.java index b50a05f..df6fb68 100644 --- a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/network/NetworkHandler.java +++ b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/network/NetworkHandler.java @@ -1,10 +1,40 @@ package com.mingliqiye.minecraft.enchantment.conflict.network; +import com.google.gson.Gson; +import com.mingliqiye.minecraft.enchantment.conflict.config.ModConfig; +import com.mojang.logging.LogUtils; +import io.netty.buffer.Unpooled; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.network.PacketByteBuf; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; import com.mingliqiye.minecraft.enchantment.conflict.Mod; +import org.slf4j.Logger; public class NetworkHandler { - public static final Identifier - CONFIG_PACKET_ID = new Identifier(Mod.MOD_ID, "config_packet"); + public static final Identifier CONFIG_PACKET_ID = new Identifier(Mod.MOD_ID, "config_packet"); + public static final Gson GSON = new Gson(); + + private static final Logger LOGGER = LogUtils.getLogger(); + + public static void sendConfigToClient(ServerPlayerEntity player) { + PacketByteBuf buf = new PacketByteBuf(Unpooled.buffer()); + buf.writeString(GSON.toJson(ModConfig.getInstance())); + ServerPlayNetworking.send(player, NetworkHandler.CONFIG_PACKET_ID, buf); + LOGGER.info("Send Player({}) Server {} config {}", player.getName().getString(), Mod.MOD_ID, + ModConfig.getInstance()); + } + + public static void registerReceivers() { + ClientPlayNetworking.registerGlobalReceiver(NetworkHandler.CONFIG_PACKET_ID, + (client, handler, buf, responseSender) -> { + ModConfig configData = GSON.fromJson(buf.readString(), ModConfig.class); + client.execute(() -> { + ModConfig.setInstance(configData); + LOGGER.info("Load Server {} config {}", Mod.MOD_ID, configData); + }); + }); + } } diff --git a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/network/ServerNetWorkSender.java b/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/network/ServerNetWorkSender.java deleted file mode 100644 index 77e570d..0000000 --- a/src/main/java/com/mingliqiye/minecraft/enchantment/conflict/network/ServerNetWorkSender.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.mingliqiye.minecraft.enchantment.conflict.network; - -import com.google.gson.Gson; -import com.mingliqiye.minecraft.enchantment.conflict.config.ModConfig; -import io.netty.buffer.Unpooled; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; -import net.minecraft.network.PacketByteBuf; -import net.minecraft.server.network.ServerPlayerEntity; - -@Environment(EnvType.SERVER) -public class ServerNetWorkSender { - public static void sendConfigToClient(ServerPlayerEntity player, ModConfig config) { - PacketByteBuf buf = new PacketByteBuf(Unpooled.buffer()); - buf.writeString(new Gson().toJson(config)); - ServerPlayNetworking.send(player, NetworkHandler.CONFIG_PACKET_ID, buf); - } -}