123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- package me.km.playerbank;
- import com.mojang.authlib.GameProfile;
- import me.km.KajetansMod;
- import me.km.api.Module;
- import me.km.databank.DataBank;
- import me.km.databank.SimpleDataBank;
- import net.minecraft.entity.player.EntityPlayer;
- public class PlayerBank extends SimpleDataBank
- {
- public PlayerBank(Module m, DataBank c)
- {
- super(m, c);
- }
-
- @Override
- protected void init()
- {
- // Player-Databank
- if(!this.doesTableExist("players"))
- {
- this.getModule().sendToConsole("Die Spielerdatenbank wurde nicht gefunden, erstelle ...");
- if(this.update("CREATE TABLE IF NOT EXISTS players ("
- + "id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, "
- + "uuid VARCHAR(40) NOT NULL, "
- + "name VARCHAR(20) NOT NULL, "
- + "quest INT NOT NULL, "
- + "UNIQUE INDEX (uuid));", false))
- {
- this.getModule().sendToConsole("Die Spielerdatenbank wurde erstellt.");
- }
- }
- else
- {
- this.getModule().sendToConsole("Die Spielerdatenbank wurde gefunden.");
- }
-
- // Player-Tags-Databank
- if(!this.doesTableExist("playertags"))
- {
- this.getModule().sendToConsole("Die Player-Tags-Datenbank wurde nicht gefunden, erstelle ...");
- if(this.update("CREATE TABLE IF NOT EXISTS playertags ("
- + "id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, "
- + "player_id INT NOT NULL, "
- + "tag VARCHAR(10) NOT NULL, "
- + "amount INT NOT NULL, "
- + "INDEX (player_id), "
- + "UNIQUE INDEX (player_id,tag), "
- + "FOREIGN KEY (player_id) REFERENCES minecraft.players(id) ON DELETE RESTRICT);", false))
- {
- this.getModule().sendToConsole("Die Player-Tags-Datenbank wurde erstellt.");
- }
- }
- else
- {
- this.getModule().sendToConsole("Die Player-Tags-Datenbank wurde gefunden.");
- }
- }
-
- public boolean add(GameProfile p)
- {
- return this.update("INSERT INTO players (uuid,name,quest) VALUES ('" + p.getId()+ "','" + p.getName() + "',0);", false);
- }
-
- public void changeName(EntityPlayer p)
- {
- this.update("UPDATE players SET name='" + p.getName() + "' WHERE uuid='" + p.getUniqueID()+ "';", false);
- }
-
- public void setTag(String uuid, String tag, int amount)
- {
- this.update("INSERT INTO playertags (player_id,tag,amount) "
- + "SELECT id, '" + tag + "', " + amount + " "
- + "FROM players WHERE uuid='" + uuid + "' "
- + "ON DUPLICATE KEY UPDATE amount=" + amount + ";", false);
- }
-
- public void setTag(EntityPlayer p, String tag, int amount)
- {
- setTag(p.getUniqueID().toString(), tag, amount);
- }
- public int getTag(String uuid, String tag)
- {
- Integer level = this.getFirst("SELECT amount from playertags "
- + "LEFT JOIN players ON players.id = playertags.player_id "
- + "WHERE players.uuid = '" + uuid + "' AND "
- + "playertags.tag='" + tag + "';", Integer.class);
- return level == null ? 0 : level;
- }
-
- public int getTag(EntityPlayer p, String tag)
- {
- return getTag(p.getUniqueID().toString(), tag);
- }
-
- public boolean contains(EntityPlayer p)
- {
- return this.getFirst("SELECT uuid FROM players WHERE uuid='" + p.getUniqueID() + "';", String.class) != null;
- }
-
- public String getName(String uuid)
- {
- return this.getFirst("SELECT name FROM players WHERE uuid='" + uuid + "';", String.class);
- }
-
- public GameProfile getOfflinePlayer(String name)
- {
- return KajetansMod.server.getPlayerProfileCache().getGameProfileForUsername(name);
- }
-
- public String getUUID(String name)
- {
- return this.getFirst("SELECT uuid FROM players WHERE name='" + name + "';", String.class);
- }
-
- public Integer getIdByUUID(String uuid)
- {
- return this.getFirst("SELECT id FROM players WHERE uuid='" + uuid + "';", Integer.class);
- }
-
- public Integer getIdByName(String name)
- {
- return this.getFirst("SELECT id FROM players WHERE name='" + name + "';", Integer.class);
- }
-
- public String getNameById(Integer id)
- {
- if(id == null)
- {
- return null;
- }
- return this.getFirst("SELECT name FROM players WHERE id=" + id + ";", String.class);
- }
- }
|