stupid sql

This commit is contained in:
mlus-Asuka 2023-09-29 20:07:52 +08:00
parent 80be4db008
commit 096ccea733
6 changed files with 21 additions and 22 deletions

View File

@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false org.gradle.daemon=false
mod_version=1.16.5-1.2.1 mod_version=1.16.5-1.2.2

View File

@ -38,13 +38,13 @@ public class PlayerSync
@SubscribeEvent @SubscribeEvent
public void onServerStarting(FMLServerStartingEvent event) throws SQLException { public void onServerStarting(FMLServerStartingEvent event) throws SQLException {
JDBCsetUp.executeUpdate("CREATE DATABASE IF NOT EXISTS "+JdbcConfig.DATABASE_NAME.get(),1); 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," + JDBCsetUp.executeUpdate("CREATE TABLE IF NOT EXISTS player_data (uuid CHAR(36) NOT NULL," +
"inventory MEDIUMBLOB,armor BLOB,advancements BLOB,enderchest MEDIUMBLOB,effects BLOB," + "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))"); "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," + JDBCsetUp.executeUpdate("CREATE TABLE IF NOT EXISTS chat (player CHAR(36) NOT NULL,message TEXT," +
"timestamp BIGINT)"); "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(); long current = System.currentTimeMillis();
JDBCsetUp.executeUpdate("INSERT INTO server_info(id,enable,last_update) " + JDBCsetUp.executeUpdate("INSERT INTO server_info(id,enable,last_update) " +
@ -53,7 +53,7 @@ public class PlayerSync
"last_update=" + current + ";"); "last_update=" + current + ";");
if(ModList.get().isLoaded("curios")) { if(ModList.get().isLoaded("curios")) {
JDBCsetUp.executeUpdate("CREATE TABLE IF NOT EXISTS curios (uuid CHAR(36) NOT NULL,curios_item BLOB, PRIMARY KEY (uuid))"); JDBCsetUp.executeUpdate("CREATE TABLE IF NOT EXISTS curios (uuid CHAR(36) NOT NULL,curios_item BLOB, PRIMARY KEY (uuid));");
} }
} }

View File

@ -25,7 +25,7 @@ public class ChatSync {
@SubscribeEvent @SubscribeEvent
public static void onPlayerChat(net.minecraftforge.event.ServerChatEvent event) throws SQLException { public static void onPlayerChat(net.minecraftforge.event.ServerChatEvent event) throws SQLException {
JDBCsetUp.executeUpdate("INSERT INTO chat (player, message, timestamp) VALUES ('" + event.getUsername() + "', '" + event.getMessage() + "', '" + current + "')"); JDBCsetUp.executeUpdate("INSERT INTO chat (player, message, timestamp) VALUES ('" + event.getUsername() + "', '" + event.getMessage() + "', '" + current + "');");
} }
@SubscribeEvent @SubscribeEvent
@ -47,7 +47,7 @@ public class ChatSync {
} }
public static void ReadMessage(PlayerList playerList) throws SQLException { public static void ReadMessage(PlayerList playerList) throws SQLException {
JDBCsetUp.QueryResult queryResult=JDBCsetUp.executeQuery("SELECT * FROM chat WHERE timestamp > " + current); JDBCsetUp.QueryResult queryResult=JDBCsetUp.executeQuery("SELECT * FROM chat WHERE timestamp > " + current+";");
ResultSet resultSet= queryResult.getResultSet(); ResultSet resultSet= queryResult.getResultSet();
current = System.currentTimeMillis(); current = System.currentTimeMillis();
tick = 0; tick = 0;

View File

@ -24,7 +24,7 @@ public class ModsSupport {
Curios Support Curios Support
*/ */
LazyOptional<IItemHandlerModifiable> itemHandler = top.theillusivec4.curios.api.CuriosApi.getCuriosHelper().getEquippedCurios(player); LazyOptional<IItemHandlerModifiable> itemHandler = top.theillusivec4.curios.api.CuriosApi.getCuriosHelper().getEquippedCurios(player);
JDBCsetUp.QueryResult queryResult=JDBCsetUp.executeQuery("SELECT curios_item FROM curios WHERE uuid = '"+player.getUUID()+"'"); JDBCsetUp.QueryResult queryResult=JDBCsetUp.executeQuery("SELECT curios_item FROM curios WHERE uuid = '"+player.getUUID()+"';");
ResultSet resultSet = queryResult.getResultSet(); ResultSet resultSet = queryResult.getResultSet();
if(resultSet.next()) { if(resultSet.next()) {
String curios_data=resultSet.getString("curios_item"); String curios_data=resultSet.getString("curios_item");
@ -67,9 +67,9 @@ public class ModsSupport {
} }
}); });
if(init) { if(init) {
JDBCsetUp.executeUpdate("INSERT INTO curios (uuid,curios_item) VALUES ('"+player.getUUID()+"','"+ curios+"')"); JDBCsetUp.executeUpdate("INSERT INTO curios (uuid,curios_item) VALUES ('"+player.getUUID()+"','"+ curios+"');");
} else { } else {
JDBCsetUp.executeUpdate("UPDATE curios SET curios_item = '"+ curios+"' WHERE uuid = '"+player.getUUID()+"'"); JDBCsetUp.executeUpdate("UPDATE curios SET curios_item = '"+ curios+"' WHERE uuid = '"+player.getUUID()+"';");
} }
} }
} }

View File

@ -41,7 +41,7 @@ public class VanillaSync {
public static void doPlayerJoin(PlayerEvent.PlayerLoggedInEvent event) throws SQLException, CommandSyntaxException, IOException { public static void doPlayerJoin(PlayerEvent.PlayerLoggedInEvent event) throws SQLException, CommandSyntaxException, IOException {
String player_uuid = event.getEntity().getUUID().toString(); String player_uuid = event.getEntity().getUUID().toString();
JDBCsetUp.QueryResult queryResult=JDBCsetUp.executeQuery("SELECT online, last_server FROM player_data WHERE uuid='"+player_uuid+"'"); JDBCsetUp.QueryResult queryResult=JDBCsetUp.executeQuery("SELECT online, last_server FROM player_data WHERE uuid='"+player_uuid+"';");
ResultSet resultSet=queryResult.getResultSet(); ResultSet resultSet=queryResult.getResultSet();
ServerPlayerEntity serverPlayer = (ServerPlayerEntity) event.getEntity(); ServerPlayerEntity serverPlayer = (ServerPlayerEntity) event.getEntity();
if(!resultSet.next()){ if(!resultSet.next()){
@ -50,11 +50,11 @@ public class VanillaSync {
} }
boolean online = resultSet.getBoolean("online"); boolean online = resultSet.getBoolean("online");
int lastServer = resultSet.getInt("last_server"); int lastServer = resultSet.getInt("last_server");
queryResult=JDBCsetUp.executeQuery("SELECT * FROM player_data WHERE uuid='"+player_uuid+"'"); queryResult=JDBCsetUp.executeQuery("SELECT * FROM player_data WHERE uuid='"+player_uuid+"';");
resultSet= queryResult.getResultSet(); resultSet= queryResult.getResultSet();
if(online) { if(online) {
queryResult=JDBCsetUp.executeQuery("SELECT last_update,enable FROM server_info WHERE id='"+lastServer+"'"); queryResult=JDBCsetUp.executeQuery("SELECT last_update,enable FROM server_info WHERE id='"+lastServer+"';");
ResultSet getServerInfo = queryResult.getResultSet(); ResultSet getServerInfo = queryResult.getResultSet();
if(getServerInfo.next()){ if(getServerInfo.next()){
long last_update = getServerInfo.getLong("last_update"); long last_update = getServerInfo.getLong("last_update");
@ -64,15 +64,15 @@ public class VanillaSync {
serverPlayer.connection.disconnect(new StringTextComponent("playersync.already_online")); serverPlayer.connection.disconnect(new StringTextComponent("playersync.already_online"));
return; return;
} }
JDBCsetUp.executeUpdate("UPDATE server_info SET enable=false WHERE id=" + lastServer); JDBCsetUp.executeUpdate("UPDATE server_info SET enable=false WHERE id=" + lastServer+";");
} }
getServerInfo.close(); getServerInfo.close();
} }
JDBCsetUp.executeUpdate("UPDATE server_info SET last_update=" + System.currentTimeMillis() + " WHERE id=" + JdbcConfig.SERVER_ID.get()); JDBCsetUp.executeUpdate("UPDATE server_info SET last_update=" + System.currentTimeMillis() + " WHERE id=" + JdbcConfig.SERVER_ID.get()+";");
JDBCsetUp.executeUpdate("UPDATE player_data SET online=true,last_server=" + JdbcConfig.SERVER_ID.get() + " WHERE uuid='"+player_uuid+"'"); JDBCsetUp.executeUpdate("UPDATE player_data SET online=true,last_server=" + JdbcConfig.SERVER_ID.get() + " WHERE uuid='"+player_uuid+"';");
if(resultSet.next()) { if(resultSet.next()) {
//Easy Part //Easy Part
serverPlayer.setHealth(resultSet.getInt("health")); serverPlayer.setHealth(resultSet.getInt("health"));
@ -156,7 +156,7 @@ public class VanillaSync {
} }
public static void doPlayerSaveToFile(PlayerEvent.SaveToFile event) throws SQLException, IOException { public static void doPlayerSaveToFile(PlayerEvent.SaveToFile event) throws SQLException, IOException {
JDBCsetUp.executeUpdate("UPDATE server_info SET last_update=" + System.currentTimeMillis() + " WHERE id=" + JdbcConfig.SERVER_ID.get()); JDBCsetUp.executeUpdate("UPDATE server_info SET last_update=" + System.currentTimeMillis() + " WHERE id=" + JdbcConfig.SERVER_ID.get()+";");
if(!event.getEntity().getTags().contains("player_synced")) return; if(!event.getEntity().getTags().contains("player_synced")) return;
Store(event.getPlayer(),false,Dist.CLIENT.isDedicatedServer()); Store(event.getPlayer(),false,Dist.CLIENT.isDedicatedServer());
//Mod support //Mod support
@ -177,13 +177,13 @@ public class VanillaSync {
@SubscribeEvent @SubscribeEvent
public static void onServerShutdown(FMLServerStoppedEvent event) throws SQLException { 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 { public static void doPlayerLogout(PlayerEvent.PlayerLoggedOutEvent event) throws SQLException, IOException {
if(!event.getEntity().getTags().contains("player_synced")) return; if(!event.getEntity().getTags().contains("player_synced")) return;
String player_uuid = event.getEntity().getUUID().toString(); 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()); Store(event.getPlayer(),false,Dist.CLIENT.isDedicatedServer());
//Mod support //Mod support
ModsSupport modsSupport = new ModsSupport(); ModsSupport modsSupport = new ModsSupport();
@ -264,8 +264,8 @@ public class VanillaSync {
//SQL Operation //SQL Operation
if(init){ if(init){
JDBCsetUp.executeUpdate("INSERT INTO player_data (uuid,armor,inventory,enderchest,advancements,effects,xp,food_level,health,score,online) VALUES ('"+player_uuid+"','"+equipment+"','"+inventoryMap+"','"+ender_chest+"','"+advancements+"','"+effectMap+"','"+XP+"','"+food_level+"','"+health+"','"+score+"',online=true)"); JDBCsetUp.executeUpdate("INSERT INTO player_data (uuid,armor,inventory,enderchest,advancements,effects,xp,food_level,health,score,online) VALUES ('"+player_uuid+"','"+equipment+"','"+inventoryMap+"','"+ender_chest+"','"+advancements+"','"+effectMap+"','"+XP+"','"+food_level+"','"+health+"','"+score+"',online=true);");
}else JDBCsetUp.executeUpdate("UPDATE player_data SET inventory = '"+inventoryMap+"',armor='"+equipment+"' ,xp='"+XP+"',effects='"+effectMap+"',enderchest='"+ender_chest+"',score='"+score+"',food_level='"+food_level+"',health='"+health+"',advancements='"+json+"' WHERE uuid = '"+player_uuid+"'"); }else JDBCsetUp.executeUpdate("UPDATE player_data SET inventory = '"+inventoryMap+"',armor='"+equipment+"' ,xp='"+XP+"',effects='"+effectMap+"',enderchest='"+ender_chest+"',score='"+score+"',food_level='"+food_level+"',health='"+health+"',advancements='"+json+"' WHERE uuid = '"+player_uuid+"';");
} }
private static File[] ScanAdvancementsFile(String player_uuid, File gameDir) { private static File[] ScanAdvancementsFile(String player_uuid, File gameDir) {

View File

@ -1,6 +1,5 @@
package vip.fubuki.playersync.util; package vip.fubuki.playersync.util;
import org.lwjgl.system.CallbackI;
import vip.fubuki.playersync.config.JdbcConfig; import vip.fubuki.playersync.config.JdbcConfig;
import java.sql.*; import java.sql.*;