123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- package me.km.snuviscript;
- import me.km.api.Module;
- import me.km.databank.SimpleDataBank;
- import me.hammerle.code.Code;
- import me.km.databank.DataBank;
- import me.km.table.Table;
- public class ScriptBank extends SimpleDataBank
- {
- public ScriptBank(Module m, DataBank c)
- {
- super(m, c);
- }
-
- @Override
- protected void init()
- {
- // Globale Variablen
- if(!this.doesTableExist("questdata"))
- {
- this.getModule().sendToConsole("Die Quest-Var-Datenbank wurde nicht gefunden, erstelle ...");
- if(this.update("CREATE TABLE IF NOT EXISTS questdata ("
- + "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);", false))
- {
- this.getModule().sendToConsole("Die Quest-Var-Datenbank wurde erstellt.");
- }
- }
- else
- {
- this.getModule().sendToConsole("Die Quest-Var-Datenbank wurde gefunden.");
- }
-
- // Globale Maps
- if(!this.doesTableExist("questmaps"))
- {
- this.getModule().sendToConsole("Die Quest-Map-Datenbank wurde nicht gefunden, erstelle ...");
- if(this.update("CREATE TABLE IF NOT EXISTS questmaps ("
- + "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));", false))
- {
- this.getModule().sendToConsole("Die Quest-Map-Datenbank wurde erstellt.");
- }
- }
- else
- {
- this.getModule().sendToConsole("Die Quest-Map-Datenbank wurde gefunden.");
- }
-
- // Doppelte Globale Maps
- if(!this.doesTableExist("questdualmaps"))
- {
- this.getModule().sendToConsole("Die Quest-Dual-Map-Datenbank wurde nicht gefunden, erstelle ...");
- if(this.update("CREATE TABLE IF NOT EXISTS questdualmaps ("
- + "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));", false))
- {
- this.getModule().sendToConsole("Die Quest-Dual-Map-Datenbank wurde erstellt.");
- }
- }
- else
- {
- this.getModule().sendToConsole("Die Quest-Dual-Map-Datenbank wurde gefunden.");
- }
- }
- public void setVar(String value, String var, String uuid)
- {
- this.update("INSERT INTO questdata (player_id,var,value) "
- + "SELECT id, '" + var + "', '" + value + "' "
- + "FROM players WHERE uuid='" + uuid + "' "
- + "ON DUPLICATE KEY UPDATE questdata.value='" + value + "';", false);
- }
- public Object getVar(String var, String uuid)
- {
- return Code.convertInput(null, this.getFirst("SELECT value from questdata "
- + "LEFT JOIN players ON players.id = questdata.player_id "
- + "WHERE players.uuid = '" + uuid + "' AND "
- + "questdata.var='" + var + "';", String.class), false);
- }
-
- public void addMapElement(String map, String key, String value)
- {
- this.update("INSERT INTO questmaps (map,keyname,value) "
- + "SELECT '" + map + "', '" + key + "', '" + value + "' "
- + "ON DUPLICATE KEY UPDATE value='" + value + "';", false);
- }
-
- public void removeMapElement(String map, String key)
- {
- this.update("DELETE FROM questmaps WHERE "
- + "map = '" + map + "' AND "
- + "keyname = '" + key + "';", false);
- }
-
- public void removeMap(String map)
- {
- this.update("DELETE FROM questmaps WHERE map = '" + map + "';", false);
- }
-
- public Table getGlobalMapAsTable(String map)
- {
- return this.getTable("SELECT keyname,value from questmaps WHERE map = '" + map + "'");
- }
- public Object getMapValue(String map, String key)
- {
- return Code.convertInput(null, this.getFirst("SELECT value from questmaps "
- + "WHERE map = '" + map + "' AND "
- + "keyname='" + key + "';", String.class), false);
- }
-
- public void addDualMapElement(String map, String key, String key2, String value)
- {
- this.update("INSERT INTO questdualmaps (map,keyname,seckeyname,value) "
- + "SELECT '" + map + "', '" + key + "', '" + key2 + "', '" + value + "' "
- + "ON DUPLICATE KEY UPDATE value='" + value + "';", false);
- }
-
- public void removeDualMapElement(String map, String key, String key2)
- {
- this.update("DELETE FROM questdualmaps WHERE "
- + "map = '" + map + "' AND "
- + "seckeyname= '" + key + "' AND "
- + "keyname = '" + key2 + "';", false);
- }
-
- public void removeDualMap(String map)
- {
- this.update("DELETE FROM questdualmaps WHERE map = '" + map + "';", false);
- }
-
- public Table getGlobalDualMapAsTable(String map, String key)
- {
- return this.getTable("SELECT seckeyname,value from questdualmaps WHERE map = '" + map + "' AND keyname = '" + key + "';");
- }
- public Object getDualMapValue(String map, String key, String key2)
- {
- return Code.convertInput(null, this.getFirst("SELECT value from questdualmaps "
- + "WHERE map = '" + map + "' AND "
- + "keyname = '" + key + "' AND "
- + "seckeyname='" + key2 + "';", String.class), false);
- }
- }
|