diff --git a/build.gradle b/build.gradle index 590d5ea..79120e9 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { id 'net.minecraftforge.gradle' version '5.1.+' } -version = '1.2.0' +version = mod_version group = 'vip.fubuki.playersync' // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = 'playersync' diff --git a/gradle.properties b/gradle.properties index 878bf1f..b1aaf86 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,6 @@ # Sets default memory used for gradle commands. Can be overridden by user or command line properties. # This is required to provide enough memory for the Minecraft decompilation process. org.gradle.jvmargs=-Xmx3G -org.gradle.daemon=false \ No newline at end of file +org.gradle.daemon=false + +mod_version=1.16.5-1.2.1 \ No newline at end of file diff --git a/src/main/java/vip/fubuki/playersync/PlayerSync.java b/src/main/java/vip/fubuki/playersync/PlayerSync.java index 1000303..ce8e4a4 100644 --- a/src/main/java/vip/fubuki/playersync/PlayerSync.java +++ b/src/main/java/vip/fubuki/playersync/PlayerSync.java @@ -38,14 +38,14 @@ public class PlayerSync @SubscribeEvent public void onServerStarting(FMLServerStartingEvent event) throws SQLException { - JDBCsetUp.executeUpdate("CREATE DATABASE IF NOT EXISTS "+JdbcConfig.DATABASE_NAME.get()); + JDBCsetUp.executeUpdate("CREATE DATABASE IF NOT EXISTS "+JdbcConfig.DATABASE_NAME.get(),1); JDBCsetUp.executeUpdate("CREATE TABLE IF NOT EXISTS player_data (uuid CHAR(36) NOT NULL," + "inventory MEDIUMBLOB,armor BLOB,advancements BLOB,enderchest MEDIUMBLOB,effects BLOB," + "xp int,food_level int,score int,health int,online boolean, last_server int, PRIMARY KEY (uuid))"); JDBCsetUp.executeUpdate("CREATE TABLE IF NOT EXISTS chat (player CHAR(36) NOT NULL,message TEXT," + "timestamp BIGINT)"); - JDBCsetUp.executeUpdate(" CREATE TABLE IF NOT EXISTS server_info (`id` INT NOT NULL,`enable` boolean NOT NULL,`last_update` BIGINT NOT NULL,PRIMARY KEY (`id`));"); + JDBCsetUp.executeUpdate("CREATE TABLE IF NOT EXISTS server_info (`id` INT NOT NULL,`enable` boolean NOT NULL,`last_update` BIGINT NOT NULL,PRIMARY KEY (`id`));"); long current = System.currentTimeMillis(); JDBCsetUp.executeUpdate("INSERT INTO server_info(id,enable,last_update) " + "VALUES(" + JdbcConfig.SERVER_ID.get() + ",true," + current + ") " + diff --git a/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java b/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java index 4504bef..b7aae93 100644 --- a/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java +++ b/src/main/java/vip/fubuki/playersync/sync/VanillaSync.java @@ -177,13 +177,13 @@ public class VanillaSync { @SubscribeEvent public static void onServerShutdown(FMLServerStoppedEvent event) throws SQLException { - JDBCsetUp.executeUpdate("UPDATE server_info SET enable=false WHERE id=" + JdbcConfig.SERVER_ID.get()); + JDBCsetUp.executeUpdate("UPDATE server_info SET enable= 'false' WHERE id=" + JdbcConfig.SERVER_ID.get()); } public static void doPlayerLogout(PlayerEvent.PlayerLoggedOutEvent event) throws SQLException, IOException { if(!event.getEntity().getTags().contains("player_synced")) return; String player_uuid = event.getEntity().getUUID().toString(); - JDBCsetUp.executeUpdate("UPDATE player_data SET online=false WHERE uuid='"+player_uuid+"'"); + JDBCsetUp.executeUpdate("UPDATE player_data SET online= 'false' WHERE uuid='"+player_uuid+"'"); Store(event.getPlayer(),false,Dist.CLIENT.isDedicatedServer()); //Mod support ModsSupport modsSupport = new ModsSupport(); diff --git a/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java b/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java index 6ffa8b6..21c731c 100644 --- a/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java +++ b/src/main/java/vip/fubuki/playersync/util/JDBCsetUp.java @@ -1,5 +1,6 @@ package vip.fubuki.playersync.util; +import org.lwjgl.system.CallbackI; import vip.fubuki.playersync.config.JdbcConfig; import java.sql.*; @@ -24,13 +25,16 @@ public class JDBCsetUp { } public static int executeUpdate(String sql) throws SQLException{ + return executeUpdate(sql,0); + } + + public static int executeUpdate(String sql,int init) throws SQLException{ try (Connection connection = getConnection()) { - try (PreparedStatement useStatement = connection.prepareStatement("USE " + JdbcConfig.DATABASE_NAME.get())) { - useStatement.executeUpdate(); + if(init==0){ + sql="USE " + JdbcConfig.DATABASE_NAME.get() +";" + sql; } - try (PreparedStatement updateStatement = connection.prepareStatement(sql)) { return updateStatement.executeUpdate(); } diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 6286258..82d7c09 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -6,7 +6,7 @@ # The name of the mod loader type to load - for regular FML @Mod mods it should be javafml modLoader="javafml" #mandatory # A version range to match for said mod loader - for regular FML @Mod it will be the forge version -loaderVersion="[40,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions. +loaderVersion="[36,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions. # The license for you mod. This is mandatory metadata and allows for easier comprehension of your redistributive properties. # Review your options at https://choosealicense.com/. All rights reserved is the default copyright stance, and is thus the default here. license="GPL-3.0 license" @@ -16,10 +16,7 @@ license="GPL-3.0 license" [[mods]] #mandatory # The modid of the mod modId="playersync" #mandatory -# The version number of the mod - there's a few well known ${} variables useable here or just hardcode it -# ${file.jarVersion} will substitute the value of the Implementation-Version as read from the mod's JAR file metadata -# see the associated build.gradle script for how to populate this completely automatically during a build -version="1.2.0" #mandatory +version="${file.jarVersion}" #mandatory # A display name for the mod displayName="PlayerSync" #mandatory # A URL to query for updates for this mod. See the JSON update specification https://mcforge.readthedocs.io/en/latest/gettingstarted/autoupdate/