123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 |
- package me.km.snuviscript;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.UUID;
- import me.hammerle.snuviscript.code.Compiler;
- import me.km.KajetansMod;
- import me.km.databank.IStatement;
- public class ScriptBank
- {
- public ScriptBank()
- {
- KajetansMod.databank.execute("CREATE TABLE IF NOT EXISTS scriptdata ("
- + "id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, "
- + "player_id INT NOT NULL, "
- + "var VARCHAR(20) NOT NULL, "
- + "value VARCHAR(256) NOT NULL, "
- + "UNIQUE INDEX (player_id,var), "
- + "FOREIGN KEY (player_id) REFERENCES minecraft.players(id) ON DELETE RESTRICT);");
-
- KajetansMod.databank.execute("CREATE TABLE IF NOT EXISTS scriptmaps ("
- + "id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, "
- + "map VARCHAR(255) NOT NULL, "
- + "keyname VARCHAR(255) NOT NULL, "
- + "value VARCHAR(255) NOT NULL, "
- + "INDEX (map), "
- + "UNIQUE INDEX (map,keyname));");
-
- KajetansMod.databank.execute("CREATE TABLE IF NOT EXISTS scriptdualmaps ("
- + "id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, "
- + "map VARCHAR(255) NOT NULL, "
- + "keyname VARCHAR(255) NOT NULL, "
- + "seckeyname VARCHAR(255) NOT NULL, "
- + "value VARCHAR(255) NOT NULL, "
- + "INDEX (map), "
- + "UNIQUE INDEX (map,keyname,seckeyname));");
- }
- private final IStatement setVar = KajetansMod.databank.createStatement(
- "INSERT INTO scriptdata (player_id,var,value) SELECT ?, ?, ? ON DUPLICATE KEY UPDATE scriptdata.value=?;");
-
- public void setVar(String value, String var, UUID uuid)
- {
- try
- {
- setVar.validate();
- setVar.setInt(1, KajetansMod.playerbank.getPlayerId(uuid));
- setVar.setString(2, var);
- setVar.setString(3, value);
- setVar.setString(4, value);
- setVar.executeUpdate();
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
- private final IStatement deleteVar = KajetansMod.databank.createStatement(
- "DELETE FROM scriptdata WHERE player_id = ? AND var = ?;");
-
- public void deleteVar(String var, UUID uuid)
- {
- try
- {
- deleteVar.validate();
- deleteVar.setInt(1, KajetansMod.playerbank.getPlayerId(uuid));
- deleteVar.setString(2, var);
- deleteVar.executeUpdate();
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
-
- private final IStatement getVar = KajetansMod.databank.createStatement(
- "SELECT value from scriptdata WHERE player_id = ? and var = ?;");
-
- public Object getVar(String var, UUID uuid, Object error)
- {
- try
- {
- getVar.validate();
- getVar.setInt(1, KajetansMod.playerbank.getPlayerId(uuid));
- getVar.setString(2, var);
- try(ResultSet rs = getVar.executeQuery())
- {
- if(rs.next())
- {
- return Compiler.convert(rs.getString(1));
- }
- return error;
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- return error;
- }
-
- public Object getVar(String var, UUID uuid)
- {
- return getVar(var, uuid, null);
- }
-
- private final IStatement addMapElement = KajetansMod.databank.createStatement(
- "INSERT INTO scriptmaps (map,keyname,value) SELECT ?, ?, ? ON DUPLICATE KEY UPDATE value=?;");
-
- public void addMapElement(String map, String key, String value)
- {
- try
- {
- addMapElement.validate();
- addMapElement.setString(1, map);
- addMapElement.setString(2, key);
- addMapElement.setString(3, value);
- addMapElement.setString(4, value);
- addMapElement.executeUpdate();
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
-
- private final IStatement removeMapElement = KajetansMod.databank.createStatement(
- "DELETE FROM scriptmaps WHERE map = ? AND keyname = ?;");
-
- public void removeMapElement(String map, String key)
- {
- try
- {
- removeMapElement.validate();
- removeMapElement.setString(1, map);
- removeMapElement.setString(2, key);
- removeMapElement.executeUpdate();
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
-
- private final IStatement removeMap = KajetansMod.databank.createStatement(
- "DELETE FROM scriptmaps WHERE map = ?;");
-
- public void removeMap(String map)
- {
- try
- {
- removeMap.validate();
- removeMap.setString(1, map);
- removeMap.executeUpdate();
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
-
- private final IStatement getMapValue = KajetansMod.databank.createStatement(
- "SELECT value from scriptmaps WHERE map = ? AND keyname = ?;");
-
- public Object getMapValue(String map, String key)
- {
- try
- {
- getMapValue.validate();
- getMapValue.setString(1, map);
- getMapValue.setString(2, key);
- try(ResultSet rs = getMapValue.executeQuery())
- {
- if(rs.next())
- {
- return Compiler.convert(rs.getString(1));
- }
- return null;
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- return null;
- }
-
- private final IStatement addDualMapElement = KajetansMod.databank.createStatement(
- "INSERT INTO scriptdualmaps (map,keyname,seckeyname,value) SELECT ?, ?, ?, ? ON DUPLICATE KEY UPDATE value=?;");
-
- public void addDualMapElement(String map, String key, String key2, String value)
- {
- try
- {
- addDualMapElement.validate();
- addDualMapElement.setString(1, map);
- addDualMapElement.setString(2, key);
- addDualMapElement.setString(3, key2);
- addDualMapElement.setString(4, value);
- addDualMapElement.setString(5, value);
- addDualMapElement.executeUpdate();
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
-
- private final IStatement removeDualMapElement = KajetansMod.databank.createStatement(
- "DELETE FROM scriptdualmaps WHERE map = ? AND keyname = ?;");
-
- public void removeDualMapElement(String map, String key)
- {
- try
- {
- removeDualMapElement.validate();
- removeDualMapElement.setString(1, map);
- removeDualMapElement.setString(2, key);
- removeDualMapElement.executeUpdate();
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
-
- private final IStatement removeDualMap = KajetansMod.databank.createStatement(
- "DELETE FROM scriptdualmaps WHERE map = ?;");
-
- public void removeDualMap(String map)
- {
- try
- {
- removeDualMap.validate();
- removeDualMap.setString(1, map);
- removeDualMap.executeUpdate();
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
-
- private final IStatement removeDualMapElement2 = KajetansMod.databank.createStatement(
- "DELETE FROM scriptdualmaps WHERE map = ? AND keyname = ? AND seckeyname = ?;");
-
- public void removeDualMapElement(String map, String key, String key2)
- {
- try
- {
- removeDualMapElement2.validate();
- removeDualMapElement2.setString(1, map);
- removeDualMapElement2.setString(2, key);
- removeDualMapElement2.setString(3, key2);
- removeDualMapElement2.executeUpdate();
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
- private final IStatement getDualMapValue = KajetansMod.databank.createStatement(
- "SELECT value from scriptdualmaps WHERE map = ? AND keyname = ? AND seckeyname = ?;");
-
- public Object getDualMapValue(String map, String key, String key2)
- {
- try
- {
- getDualMapValue.validate();
- getDualMapValue.setString(1, map);
- getDualMapValue.setString(2, key);
- getDualMapValue.setString(3, key2);
- try(ResultSet rs = getDualMapValue.executeQuery())
- {
- if(rs.next())
- {
- return Compiler.convert(rs.getString(1));
- }
- return null;
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- }
- catch(SQLException ex)
- {
- ex.printStackTrace();
- }
- return null;
- }
- }
|