diff --git a/gradle.properties b/gradle.properties index 425c1f1..bc39a45 100644 --- a/gradle.properties +++ b/gradle.properties @@ -34,7 +34,7 @@ mod_name=PlayerSync # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=GPL-3.0 license # The mod version. See https://semver.org/ -mod_version=2.1.4 +mod_version=2.1.5 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/main/java/vip/fubuki/playersync/config/JdbcConfig.java b/src/main/java/vip/fubuki/playersync/config/JdbcConfig.java index 8745c15..6a472c1 100644 --- a/src/main/java/vip/fubuki/playersync/config/JdbcConfig.java +++ b/src/main/java/vip/fubuki/playersync/config/JdbcConfig.java @@ -22,6 +22,7 @@ public class JdbcConfig { public static final ForgeConfigSpec.BooleanValue IS_CHAT_SERVER; public static final ForgeConfigSpec.ConfigValue ITEM_PLACEHOLDER_TITLE_OVERRIDE; public static final ForgeConfigSpec.ConfigValue ITEM_PLACEHOLDER_DESCRIPTION_OVERRIDE; + public static final ForgeConfigSpec.BooleanValue KICK_WHEN_ALREADY_ONLINE; public static final ForgeConfigSpec.ConfigValue CHAT_SERVER_IP; public static final ForgeConfigSpec.IntValue CHAT_SERVER_PORT; public static final ForgeConfigSpec.BooleanValue USE_LEGACY_SERIALIZATION; @@ -44,6 +45,8 @@ public class JdbcConfig { .define("sync_advancements", true); SYNC_CHAT = COMMON_BUILDER.comment("Whether synchronize chat").define("sync_chat", false); IS_CHAT_SERVER = COMMON_BUILDER.comment("Whether recieve messages from other servers as host").define("IsChatServer",false); + KICK_WHEN_ALREADY_ONLINE = COMMON_BUILDER.comment("Whether to kick player when already online on another server") + .define("kick_when_already_online", true); CHAT_SERVER_IP = COMMON_BUILDER.define("ChatServerIP","127.0.0.1"); CHAT_SERVER_PORT = COMMON_BUILDER.defineInRange("ChatServerPort",7900,0,65535); USE_LEGACY_SERIALIZATION = COMMON_BUILDER.comment( diff --git a/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java b/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java index c5acb9d..6143a9f 100644 --- a/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java +++ b/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java @@ -169,7 +169,7 @@ public class VanillaSync { } // Second query: Check if player is already online on another server - if (online && lastServer != JdbcConfig.SERVER_ID.get()) { + if (JdbcConfig.KICK_WHEN_ALREADY_ONLINE.get() && online && lastServer != JdbcConfig.SERVER_ID.get()) { JDBCsetUp.QueryResult qr2 = JDBCsetUp.executeQuery("SELECT last_update,enable FROM server_info WHERE id='" + lastServer + "'"); try (ResultSet rs2 = qr2.resultSet()) { if (rs2.next()) { @@ -843,4 +843,4 @@ public class VanillaSync { CuriosCache.tryStoreCuriosToCache(player); } } -} \ No newline at end of file +}