diff --git a/.gitignore b/.gitignore
index ec376bb..7eae63f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
.idea
-target
\ No newline at end of file
+target
+dependency-reduced-pom.xml
\ No newline at end of file
diff --git a/SpigotCore_12/pom.xml b/SpigotCore_12/pom.xml
new file mode 100644
index 0000000..eb4680f
--- /dev/null
+++ b/SpigotCore_12/pom.xml
@@ -0,0 +1,37 @@
+
+
+ 4.0.0
+
+
+ steamwar
+ SpigotCore
+ 2.0
+
+
+ SpigotCore_12
+ 2.0
+
+
+ src
+
+
+ src
+
+ **/*.java
+ **/*.kt
+
+
+
+
+
+
+
+ steamwar
+ Spigot
+ 1.12
+ provided
+
+
+
\ No newline at end of file
diff --git a/SpigotCore_12/src/de/steamwar/inventory/SWInventory_12.java b/SpigotCore_12/src/de/steamwar/inventory/SWInventory_12.java
new file mode 100644
index 0000000..2c7ee2c
--- /dev/null
+++ b/SpigotCore_12/src/de/steamwar/inventory/SWInventory_12.java
@@ -0,0 +1,13 @@
+package de.steamwar.inventory;
+
+import org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventoryCustom;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.Inventory;
+
+class SWInventory_12 {
+ private SWInventory_12(){}
+
+ static Inventory get(Player player, int size, String title){
+ return new CraftInventoryCustom(player, size, title);
+ }
+}
diff --git a/SpigotCore_12/src/de/steamwar/inventory/SWItem_12.java b/SpigotCore_12/src/de/steamwar/inventory/SWItem_12.java
new file mode 100644
index 0000000..c1a16c3
--- /dev/null
+++ b/SpigotCore_12/src/de/steamwar/inventory/SWItem_12.java
@@ -0,0 +1,21 @@
+package de.steamwar.inventory;
+
+import org.bukkit.Material;
+import org.bukkit.OfflinePlayer;
+import org.bukkit.inventory.meta.SkullMeta;
+
+class SWItem_12 {
+ private SWItem_12(){}
+
+ static Material getMaterial(String material){
+ return Material.valueOf(material);
+ }
+
+ static Material getDye(){
+ return Material.INK_SACK;
+ }
+
+ static void setSkullOwner(OfflinePlayer player, SkullMeta meta){
+ meta.setOwningPlayer(player);
+ }
+}
diff --git a/SpigotCore_14/pom.xml b/SpigotCore_14/pom.xml
new file mode 100644
index 0000000..9b030de
--- /dev/null
+++ b/SpigotCore_14/pom.xml
@@ -0,0 +1,37 @@
+
+
+ 4.0.0
+
+
+ steamwar
+ SpigotCore
+ 2.0
+
+
+ SpigotCore_14
+ 2.0
+
+
+ src
+
+
+ src
+
+ **/*.java
+ **/*.kt
+
+
+
+
+
+
+
+ steamwar
+ Spigot
+ 1.14
+ provided
+
+
+
\ No newline at end of file
diff --git a/SpigotCore_14/src/de/steamwar/inventory/SWInventory_14.java b/SpigotCore_14/src/de/steamwar/inventory/SWInventory_14.java
new file mode 100644
index 0000000..18deaa6
--- /dev/null
+++ b/SpigotCore_14/src/de/steamwar/inventory/SWInventory_14.java
@@ -0,0 +1,13 @@
+package de.steamwar.inventory;
+
+import org.bukkit.craftbukkit.v1_14_R1.inventory.CraftInventoryCustom;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.Inventory;
+
+class SWInventory_14 {
+ private SWInventory_14() {}
+
+ static Inventory get(Player player, int size, String title){
+ return new CraftInventoryCustom(player, size, title);
+ }
+}
diff --git a/SpigotCore_14/src/de/steamwar/inventory/SWItem_14.java b/SpigotCore_14/src/de/steamwar/inventory/SWItem_14.java
new file mode 100644
index 0000000..f83a56b
--- /dev/null
+++ b/SpigotCore_14/src/de/steamwar/inventory/SWItem_14.java
@@ -0,0 +1,48 @@
+package de.steamwar.inventory;
+
+import org.bukkit.Material;
+
+class SWItem_14 {
+ private SWItem_14(){}
+
+ static Material getMaterial(String material) {
+ return Material.valueOf("LEGACY_" + material);
+ }
+
+ static Material getDye(int colorCode){
+ switch(colorCode){
+ case 1:
+ return Material.RED_DYE;
+ case 2:
+ return Material.GREEN_DYE;
+ case 3:
+ return Material.BROWN_DYE;
+ case 4:
+ return Material.LAPIS_LAZULI;
+ case 5:
+ return Material.PURPLE_DYE;
+ case 6:
+ return Material.CYAN_DYE;
+ case 7:
+ return Material.LIGHT_GRAY_DYE;
+ case 8:
+ return Material.GRAY_DYE;
+ case 9:
+ return Material.PINK_DYE;
+ case 10:
+ return Material.LIME_DYE;
+ case 11:
+ return Material.YELLOW_DYE;
+ case 12:
+ return Material.LIGHT_BLUE_DYE;
+ case 13:
+ return Material.MAGENTA_DYE;
+ case 14:
+ return Material.ORANGE_DYE;
+ case 15:
+ return Material.WHITE_DYE;
+ default:
+ return Material.BLACK_DYE;
+ }
+ }
+}
diff --git a/SpigotCore_8/pom.xml b/SpigotCore_8/pom.xml
new file mode 100644
index 0000000..5f39805
--- /dev/null
+++ b/SpigotCore_8/pom.xml
@@ -0,0 +1,37 @@
+
+
+ 4.0.0
+
+
+ steamwar
+ SpigotCore
+ 2.0
+
+
+ SpigotCore_8
+ 2.0
+
+
+ src
+
+
+ src
+
+ **/*.java
+ **/*.kt
+
+
+
+
+
+
+
+ steamwar
+ Spigot
+ 1.8
+ provided
+
+
+
\ No newline at end of file
diff --git a/SpigotCore_8/src/de/steamwar/inventory/SWInventory_8.java b/SpigotCore_8/src/de/steamwar/inventory/SWInventory_8.java
new file mode 100644
index 0000000..d1f1d21
--- /dev/null
+++ b/SpigotCore_8/src/de/steamwar/inventory/SWInventory_8.java
@@ -0,0 +1,13 @@
+package de.steamwar.inventory;
+
+import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftInventoryCustom;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.Inventory;
+
+class SWInventory_8 {
+ private SWInventory_8(){}
+
+ static Inventory get(Player player, int size, String title){
+ return new CraftInventoryCustom(player, size, title);
+ }
+}
diff --git a/SpigotCore_8/src/de/steamwar/inventory/SWItem_8.java b/SpigotCore_8/src/de/steamwar/inventory/SWItem_8.java
new file mode 100644
index 0000000..2b770b4
--- /dev/null
+++ b/SpigotCore_8/src/de/steamwar/inventory/SWItem_8.java
@@ -0,0 +1,12 @@
+package de.steamwar.inventory;
+
+import org.bukkit.OfflinePlayer;
+import org.bukkit.inventory.meta.SkullMeta;
+
+class SWItem_8 {
+ private SWItem_8(){}
+
+ static void setSkullOwner(OfflinePlayer player, SkullMeta meta){
+ meta.setOwner(player.getName());
+ }
+}
diff --git a/SpigotCore_Main/pom.xml b/SpigotCore_Main/pom.xml
new file mode 100644
index 0000000..c05ee63
--- /dev/null
+++ b/SpigotCore_Main/pom.xml
@@ -0,0 +1,72 @@
+
+
+ 4.0.0
+
+
+ steamwar
+ SpigotCore
+ 2.0
+
+
+ SpigotCore_Main
+ 2.0
+ jar
+
+
+ src
+
+
+ src
+
+ **/*.java
+ **/*.kt
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.2.1
+
+
+ package
+
+ shade
+
+
+
+
+
+ SpigotCore
+
+
+
+
+ steamwar
+ Spigot
+ 1.12
+ provided
+
+
+ steamwar
+ SpigotCore_8
+ 2.0
+ compile
+
+
+ steamwar
+ SpigotCore_12
+ 2.0
+ compile
+
+
+ steamwar
+ SpigotCore_14
+ 2.0
+ compile
+
+
+
\ No newline at end of file
diff --git a/SpigotCore_Main/src/de/steamwar/core/CommandRemover.java b/SpigotCore_Main/src/de/steamwar/core/CommandRemover.java
new file mode 100644
index 0000000..99055aa
--- /dev/null
+++ b/SpigotCore_Main/src/de/steamwar/core/CommandRemover.java
@@ -0,0 +1,40 @@
+package de.steamwar.core;
+
+import org.bukkit.Bukkit;
+import org.bukkit.command.Command;
+import org.bukkit.command.SimpleCommandMap;
+
+import java.lang.reflect.Field;
+import java.util.Map;
+import java.util.logging.Level;
+
+public class CommandRemover {
+ private CommandRemover(){}
+
+ private static String packageName = Bukkit.getServer().getClass().getPackage().getName();
+ private static String version = packageName.substring(packageName.lastIndexOf('.') + 1);
+
+ public static void removeAll(String... cmds){
+ for (String cmd : cmds) removeCommand(cmd);
+ }
+
+
+ private static void removeCommand(String command) {
+ try {
+ Class> serverClass = Class.forName("org.bukkit.craftbukkit." + version + ".CraftServer");
+
+
+ Field f1 = serverClass.getDeclaredField("commandMap");
+ f1.setAccessible(true);
+ SimpleCommandMap commandMap = (SimpleCommandMap) f1.get(Bukkit.getServer());
+
+ Field f2 = SimpleCommandMap.class.getDeclaredField("knownCommands");
+ f2.setAccessible(true);
+ Map knownCommands = (Map) f2.get(commandMap);
+
+ knownCommands.remove(command.toLowerCase());
+ } catch (Exception e) {
+ Bukkit.getLogger().log(Level.SEVERE, "Could not remove command", e);
+ }
+ }
+}
diff --git a/src/de/warking/hunjy/Core.java b/SpigotCore_Main/src/de/steamwar/core/Core.java
similarity index 54%
rename from src/de/warking/hunjy/Core.java
rename to SpigotCore_Main/src/de/steamwar/core/Core.java
index 4dff82d..21894c0 100644
--- a/src/de/warking/hunjy/Core.java
+++ b/SpigotCore_Main/src/de/steamwar/core/Core.java
@@ -1,21 +1,30 @@
-package de.warking.hunjy;
+package de.steamwar.core;
import de.steamwar.core.events.ChattingEvent;
import de.steamwar.core.events.PlayerJoinedEvent;
-import de.warking.hunjy.MySQL.MySQL;
-import de.warking.hunjy.MySQL.WarkingUser;
-import de.steamwar.core.FileManager;
+import de.steamwar.sql.SQL;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
public class Core extends JavaPlugin{
-
- public static MySQL sql;
-
private static Core instance;
- private FileManager fileManager;
-
+ private static final int version;
+
+ static{
+ String packageName = Bukkit.getServer().getClass().getPackage().getName();
+ if(packageName.contains("1_14"))
+ version = 14;
+ else if(packageName.contains("1_10"))
+ version = 10;
+ else if(packageName.contains("1_9"))
+ version = 9;
+ else if(packageName.contains("1_8"))
+ version = 8;
+ else
+ version = 12;
+ }
+
@Override
public void onLoad() {
setInstance(this);
@@ -23,26 +32,23 @@ public class Core extends JavaPlugin{
@Override
public void onEnable() {
- fileManager = new FileManager();
-
- setSql(new MySQL());
Bukkit.getPluginManager().registerEvents(new PlayerJoinedEvent(), this);
Bukkit.getPluginManager().registerEvents(new ChattingEvent(), this);
+ }
- Bukkit.getScheduler().runTaskTimer(this, WarkingUser::clearCache, 72000, 72000);
+ @Override
+ public void onDisable(){
+ SQL.closeConnection();
}
public static Core getInstance() {
return instance;
}
- public FileManager getFileManager() {
- return fileManager;
+ public static int getVersion(){
+ return version;
}
private static void setInstance(Core instance) {
Core.instance = instance;
}
- private static void setSql(MySQL sql) {
- Core.sql = sql;
- }
}
diff --git a/src/de/steamwar/core/events/ChattingEvent.java b/SpigotCore_Main/src/de/steamwar/core/events/ChattingEvent.java
similarity index 63%
rename from src/de/steamwar/core/events/ChattingEvent.java
rename to SpigotCore_Main/src/de/steamwar/core/events/ChattingEvent.java
index 17eff2f..fd95b2e 100644
--- a/src/de/steamwar/core/events/ChattingEvent.java
+++ b/SpigotCore_Main/src/de/steamwar/core/events/ChattingEvent.java
@@ -1,6 +1,5 @@
package de.steamwar.core.events;
-import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
@@ -9,7 +8,6 @@ public class ChattingEvent implements Listener {
@EventHandler
private void onChat(AsyncPlayerChatEvent event) {
- Player player = event.getPlayer();
- event.setFormat("§eLokal §r"+ player.getDisplayName() + "§8» §7" + event.getMessage());
+ event.setFormat("§eLokal §r"+ event.getPlayer().getDisplayName() + "§8» §7" + event.getMessage());
}
}
diff --git a/src/de/steamwar/core/events/PlayerJoinedEvent.java b/SpigotCore_Main/src/de/steamwar/core/events/PlayerJoinedEvent.java
similarity index 90%
rename from src/de/steamwar/core/events/PlayerJoinedEvent.java
rename to SpigotCore_Main/src/de/steamwar/core/events/PlayerJoinedEvent.java
index e12248d..edae08e 100644
--- a/src/de/steamwar/core/events/PlayerJoinedEvent.java
+++ b/SpigotCore_Main/src/de/steamwar/core/events/PlayerJoinedEvent.java
@@ -1,6 +1,6 @@
package de.steamwar.core.events;
-import de.warking.hunjy.MySQL.WarkingUser;
+import de.steamwar.sql.SteamwarUser;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -12,8 +12,8 @@ public class PlayerJoinedEvent implements Listener{
@EventHandler
private void onJoin(PlayerJoinEvent event) {
- Player player = event.getPlayer();
- WarkingUser user = new WarkingUser(player.getUniqueId());
+ Player player = event.getPlayer();
+ SteamwarUser user = SteamwarUser.get(player.getUniqueId());
switch(user.getUserGroup()){
case Admin:
diff --git a/src/de/steamwar/inventory/InvCallback.java b/SpigotCore_Main/src/de/steamwar/inventory/InvCallback.java
similarity index 100%
rename from src/de/steamwar/inventory/InvCallback.java
rename to SpigotCore_Main/src/de/steamwar/inventory/InvCallback.java
diff --git a/SpigotCore_Main/src/de/steamwar/inventory/SWInventory.java b/SpigotCore_Main/src/de/steamwar/inventory/SWInventory.java
new file mode 100644
index 0000000..143262b
--- /dev/null
+++ b/SpigotCore_Main/src/de/steamwar/inventory/SWInventory.java
@@ -0,0 +1,100 @@
+package de.steamwar.inventory;
+
+import de.steamwar.core.Core;
+import org.bukkit.Bukkit;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.inventory.InventoryClickEvent;
+import org.bukkit.event.inventory.InventoryCloseEvent;
+import org.bukkit.inventory.Inventory;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class SWInventory implements Listener {
+
+ Player player;
+ private Map callbacks;
+ Inventory inventory;
+
+ public SWInventory(Player p, int size, String t){
+ callbacks = new HashMap<>();
+ player = p;
+ switch(Core.getVersion()){
+ case 8:
+ inventory = SWInventory_8.get(p, size, t);
+ break;
+ case 14:
+ inventory = SWInventory_14.get(p, size, t);
+ break;
+ default:
+ inventory = SWInventory_12.get(p, size, t);
+ }
+ }
+
+ public SWInventory(Player p, int size, String t, Map items){
+ this(p, size, t);
+ items.forEach(this::setItem);
+ open();
+ }
+
+ public void addCloseCallback(InvCallback c){
+ callbacks.put(-1, c);
+ }
+
+ public void setItem(int pos, SWItem item){
+ inventory.setItem(pos, item.getItemStack());
+ callbacks.put(pos, item.getCallback());
+ }
+
+ public void setItem(int pos, Material m, String name, InvCallback c){
+ setItem(pos, m, name, new ArrayList<>(), false, c);
+ }
+
+ public void setItem(int pos, Material m, byte meta, String name, InvCallback c){
+ setItem(pos, m, meta, name, new ArrayList<>(), false, c);
+ }
+
+ public void setItem(int pos, Material m, String name, List lore, boolean e, InvCallback c){
+ setItem(pos, m, (byte)0, name, lore, e, c);
+ }
+
+ public void setItem(int pos, Material m, byte meta, String name, List lore, boolean e, InvCallback c){
+ SWItem item = new SWItem(m, meta, name, lore, e, c);
+ setItem(pos, item);
+ }
+
+ public void setCallback(int pos, InvCallback c){
+ callbacks.put(pos, c);
+ }
+
+ public void open(){
+ player.openInventory(inventory);
+ Bukkit.getPluginManager().registerEvents(this, Core.getInstance());
+ }
+
+ @EventHandler
+ public void onInventoryClick(InventoryClickEvent e){
+ if(!player.equals(e.getWhoClicked()))
+ return;
+
+ e.setCancelled(true);
+ if(callbacks.containsKey(e.getRawSlot()))
+ callbacks.get(e.getRawSlot()).clicked(e.getClick());
+ }
+
+ @EventHandler
+ public void onInventoryClose(InventoryCloseEvent e){
+ if(!player.equals(e.getPlayer()))
+ return;
+
+ InventoryClickEvent.getHandlerList().unregister(this);
+ InventoryCloseEvent.getHandlerList().unregister(this);
+ if(callbacks.containsKey(-1))
+ callbacks.get(-1).clicked(null);
+ }
+}
diff --git a/src/de/steamwar/inventory/SWItem.java b/SpigotCore_Main/src/de/steamwar/inventory/SWItem.java
similarity index 66%
rename from src/de/steamwar/inventory/SWItem.java
rename to SpigotCore_Main/src/de/steamwar/inventory/SWItem.java
index cdb3de2..8b8df63 100644
--- a/src/de/steamwar/inventory/SWItem.java
+++ b/SpigotCore_Main/src/de/steamwar/inventory/SWItem.java
@@ -1,10 +1,13 @@
package de.steamwar.inventory;
+import de.steamwar.core.Core;
import org.bukkit.Material;
+import org.bukkit.OfflinePlayer;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
+import org.bukkit.inventory.meta.SkullMeta;
import java.util.ArrayList;
import java.util.List;
@@ -15,6 +18,45 @@ public class SWItem {
private ItemMeta itemMeta;
private InvCallback callback;
+ public static SWItem getPlayerSkull(OfflinePlayer player){
+ SWItem p = new SWItem();
+ ItemStack head = new ItemStack(getMaterial("SKULL_ITEM"), 1, (short) 3);
+ SkullMeta headmeta = (SkullMeta) head.getItemMeta();
+ switch(Core.getVersion()){
+ case 8:
+ SWItem_8.setSkullOwner(player, headmeta);
+ break;
+ default:
+ SWItem_12.setSkullOwner(player, headmeta);
+ }
+ headmeta.setDisplayName(player.getName());
+ head.setItemMeta(headmeta);
+ p.setItemStack(head);
+ return p;
+ }
+
+ public static Material getMaterial(String material){
+ try{
+ switch(Core.getVersion()){
+ case 14:
+ return SWItem_14.getMaterial(material);
+ default:
+ return SWItem_12.getMaterial(material);
+ }
+ }catch(IllegalArgumentException e){
+ return Material.STONE;
+ }
+ }
+
+ public static Material getDye(int colorCode){
+ switch(Core.getVersion()){
+ case 14:
+ return SWItem_14.getDye(colorCode);
+ default:
+ return SWItem_12.getDye();
+ }
+ }
+
public SWItem(){
itemStack = new ItemStack(Material.AIR);
itemMeta = itemStack.getItemMeta();
@@ -30,7 +72,11 @@ public class SWItem {
}
public SWItem(Material material, byte meta, String name, List lore, boolean enchanted, InvCallback c){
- itemStack = new ItemStack(material, 1, (short)0, meta);
+ try{
+ itemStack = new ItemStack(material, 1, (short)0, meta);
+ }catch(IllegalArgumentException e){
+ itemStack = new ItemStack(material, 1);
+ }
itemMeta = itemStack.getItemMeta();
if(itemMeta != null){
diff --git a/src/de/steamwar/inventory/SWListInv.java b/SpigotCore_Main/src/de/steamwar/inventory/SWListInv.java
similarity index 73%
rename from src/de/steamwar/inventory/SWListInv.java
rename to SpigotCore_Main/src/de/steamwar/inventory/SWListInv.java
index a02c913..72f6e8e 100644
--- a/src/de/steamwar/inventory/SWListInv.java
+++ b/SpigotCore_Main/src/de/steamwar/inventory/SWListInv.java
@@ -1,14 +1,12 @@
package de.steamwar.inventory;
-import de.warking.hunjy.MySQL.Schematic;
-import de.warking.hunjy.MySQL.SchematicType;
+import de.steamwar.sql.Schematic;
+import de.steamwar.sql.SchematicType;
import javafx.util.Pair;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
-import org.bukkit.inventory.ItemStack;
-import org.bukkit.inventory.meta.SkullMeta;
import java.util.ArrayList;
import java.util.List;
@@ -29,23 +27,23 @@ public class SWListInv extends SWInventory {
@Override
public void open(){
- clear();
+ inventory.clear();
setCallback(-999, (ClickType click) -> player.closeInventory());
if(elements.size() > 54){
if(page != 0)
- setItem(45, Material.INK_SACK, (byte)10, "§eSeite zurück", (ClickType click) -> {
+ setItem(45, SWItem.getDye(10), (byte)10, "§eSeite zurück", (ClickType click) -> {
page--;
open();
});
else
- setItem(45, Material.INK_SACK, (byte)8, "§7Seite zurück", (ClickType click) -> {});
+ setItem(45, SWItem.getDye(8), (byte)8, "§7Seite zurück", (ClickType click) -> {});
if(page < elements.size()/45)
- setItem(53, Material.INK_SACK, (byte)10, "§eSeite vor", (ClickType click) -> {
+ setItem(53, SWItem.getDye(10), (byte)10, "§eSeite vor", (ClickType click) -> {
page++;
open();
});
else
- setItem(53, Material.INK_SACK, (byte)8, "§7Seite vor", (ClickType click) -> {});
+ setItem(53, SWItem.getDye(8), (byte)8, "§7Seite vor", (ClickType click) -> {});
}
int ipageLimit = elements.size() - page*45;
@@ -78,15 +76,7 @@ public class SWListInv extends SWInventory {
if(without != null && player.getUniqueId().equals(without.getUniqueId()))
continue;
- SWItem p = new SWItem();
- ItemStack head = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
-
- SkullMeta headmeta = (SkullMeta) head.getItemMeta();
- headmeta.setOwningPlayer(player);
- headmeta.setDisplayName(player.getName());
- head.setItemMeta(headmeta);
- p.setItemStack(head);
- onlinePlayers.add(new Pair<>(p, player.getUniqueId()));
+ onlinePlayers.add(new Pair<>(SWItem.getPlayerSkull(player), player.getUniqueId()));
}
return onlinePlayers;
}
@@ -103,9 +93,9 @@ public class SWListInv extends SWInventory {
for(Schematic s : schems){
Material m;
if(s.getItem().isEmpty())
- m = Material.CAULDRON_ITEM;
+ m = SWItem.getMaterial("CAULDRON_ITEM");
else
- m = Material.valueOf(s.getItem());
+ m = SWItem.getMaterial(s.getItem());
SWItem item = new SWItem(m,"§e" + s.getSchemName());
schemList.add(new Pair<>(item, s));
}
diff --git a/SpigotCore_Main/src/de/steamwar/sql/BauweltMember.java b/SpigotCore_Main/src/de/steamwar/sql/BauweltMember.java
new file mode 100644
index 0000000..eebaec8
--- /dev/null
+++ b/SpigotCore_Main/src/de/steamwar/sql/BauweltMember.java
@@ -0,0 +1,129 @@
+package de.steamwar.sql;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.UUID;
+
+public class BauweltMember{
+ private final int bauweltID;
+ private final int memberID;
+ private boolean build;
+ private boolean worldEdit;
+ private boolean world;
+
+ private static final List members = new ArrayList<>();
+
+ private BauweltMember(int ownerID, int memberID, boolean build, boolean worldEdit, boolean world, boolean updateDB){
+ bauweltID = ownerID;
+ this.memberID = memberID;
+ this.build = build;
+ this.worldEdit = worldEdit;
+ this.world = world;
+ if(updateDB)
+ updateDB();
+ members.add(this);
+ }
+
+ public BauweltMember(int ownerID, int memberID, boolean build, boolean worldEdit, boolean world){
+ this(ownerID, memberID, build, worldEdit, world, true);
+ }
+
+ public BauweltMember(UUID ownerID, UUID memberID, boolean build, boolean worldEdit, boolean world){
+ this(SteamwarUser.get(ownerID).getId(), SteamwarUser.get(memberID).getId(), build, worldEdit, world, true);
+ }
+
+ public void remove(){
+ SQL.update("DELETE FROM BauweltMember WHERE BauweltID = " + bauweltID + " AND MemberID = " + memberID);
+ members.remove(this);
+ }
+
+ private void updateDB(){
+ SQL.update("INSERT INTO BauweltMember" +
+ " (BauweltID, MemberID, Build, WorldEdit, World)" +
+ " VALUES" +
+ " ('" + bauweltID + "', '" + memberID + "', '" + SQL.booleanToInt(build) + "', '" + SQL.booleanToInt(worldEdit) + "', '" + SQL.booleanToInt(world) + "')" +
+ " ON DUPLICATE KEY UPDATE" +
+ " Build = VALUES(Build), WorldEdit = VALUES(WorldEdit), World = VALUES(World)");
+ }
+
+ public static BauweltMember getBauMember(UUID ownerID, UUID memberID){
+ return getBauMember(SteamwarUser.get(ownerID).getId(), SteamwarUser.get(memberID).getId());
+ }
+
+ public static BauweltMember getBauMember(int ownerID, int memberID){
+ for(BauweltMember member : members)
+ if(member.memberID == memberID)
+ return member;
+ ResultSet member = SQL.select("SELECT * FROM BauweltMember WHERE BauweltID = '" + ownerID + "' AND MemberID = '" + memberID + "'");
+ try {
+ if(member == null || !member.next()){
+ return null;
+ }
+ boolean build = member.getBoolean("Build");
+ boolean worldEdit = member.getBoolean("WorldEdit");
+ boolean testblock = member.getBoolean("World");
+ return new BauweltMember(ownerID, memberID, build, worldEdit, testblock, false);
+ } catch (SQLException e) {
+ throw new SecurityException("Did not get member", e);
+ }
+ }
+
+ public static List getMembers(UUID bauweltID){
+ return getMembers(SteamwarUser.get(bauweltID).getId());
+ }
+
+ public static List getMembers(int bauweltID){
+ try{
+ ResultSet memberlist = SQL.select("SELECT * FROM BauweltMember WHERE BauweltID = '" + bauweltID + "'");
+ List members = new LinkedList<>();
+ while(memberlist.next()){
+ int memberID = memberlist.getInt("MemberID");
+ boolean build = memberlist.getBoolean("Build");
+ boolean worldEdit = memberlist.getBoolean("WorldEdit");
+ boolean testblock = memberlist.getBoolean("World");
+ members.add(new BauweltMember(bauweltID, memberID, build, worldEdit, testblock, false));
+ }
+ return members;
+ }catch(SQLException e){
+ throw new SecurityException("Did not get members", e);
+ }
+ }
+
+ public int getBauweltID() {
+ return bauweltID;
+ }
+
+ public int getMemberID() {
+ return memberID;
+ }
+
+ public boolean isBuild() {
+ return build;
+ }
+
+ public void setBuild(boolean build) {
+ this.build = build;
+ updateDB();
+ }
+
+ public boolean isWorldEdit() {
+ return worldEdit;
+ }
+
+ public void setWorldEdit(boolean worldEdit) {
+ this.worldEdit = worldEdit;
+ updateDB();
+ }
+
+ public boolean isWorld() {
+ return world;
+ }
+
+ public void setWorld(boolean world) {
+ this.world = world;
+ updateDB();
+ }
+}
\ No newline at end of file
diff --git a/SpigotCore_Main/src/de/steamwar/sql/CheckedSchematic.java b/SpigotCore_Main/src/de/steamwar/sql/CheckedSchematic.java
new file mode 100644
index 0000000..73929bc
--- /dev/null
+++ b/SpigotCore_Main/src/de/steamwar/sql/CheckedSchematic.java
@@ -0,0 +1,98 @@
+package de.steamwar.sql;
+
+import org.bukkit.Bukkit;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.UUID;
+import java.util.logging.Level;
+
+
+public class CheckedSchematic {
+
+ private final String schemName;
+ private final int schemOwner;
+ private final int validator;
+ private final Timestamp startTime;
+ private final Timestamp endTime;
+ private final String declineReason;
+
+ private CheckedSchematic(String schemName, int schemOwner, int validator, Timestamp startTime, Timestamp endTime, String declineReason, boolean insertDB){
+ this.schemName = SQL.disarmString(schemName);
+ this.schemOwner = schemOwner;
+ this.validator = validator;
+ this.startTime = startTime;
+ this.endTime = endTime;
+ this.declineReason = SQL.disarmString(declineReason);
+ if(insertDB)
+ insertDB();
+ }
+
+ public CheckedSchematic(String schemName, int schemOwner, int validator, Timestamp startTime, Timestamp endTime, String declineReason){
+ this(schemName, schemOwner, validator, startTime, endTime, declineReason, true);
+ }
+
+ public CheckedSchematic(String schemName, UUID schemOwner, UUID validator, Timestamp startTime, Timestamp endTime, String declineReason){
+ this(schemName, SteamwarUser.get(schemOwner).getId(), SteamwarUser.get(validator).getId(), startTime, endTime, declineReason, true);
+ }
+
+ private void insertDB(){
+ SQL.update("INSERT INTO CheckedSchematic" +
+ " (SchemName, SchemOwner, Validator, StartTime, EndTime, DeclineReason)" +
+ " VALUES" +
+ " ('"+ schemName + "', '" + schemOwner + "', '" + validator + "', '" + startTime.toString() + "', '" + endTime.toString() + "', '" + declineReason + "')");
+ }
+
+ public static List getLastDeclined(UUID schemOwner){
+ return getLastDelined(SteamwarUser.get(schemOwner).getId());
+ }
+
+ public static List getLastDelined(int schemOwner){
+ List lastDeclined = new LinkedList<>();
+ try{
+ ResultSet lastRS = SQL.select("SELECT * FROM CheckedSchematic WHERE SchemOwner = '" + schemOwner + "' AND DeclineReason != '' ORDER BY EndTime DESC");
+ while(lastRS.next()){
+ String schemName = lastRS.getString("SchemName");
+ int validator = lastRS.getInt("Validator");
+ Timestamp startTime = lastRS.getTimestamp("StartTime");
+ Timestamp endTime = lastRS.getTimestamp("EndTime");
+ String declineReason = lastRS.getString("DeclineReason");
+ lastDeclined.add(new CheckedSchematic(schemName, schemOwner, validator, startTime, endTime, declineReason, false));
+ }
+ }catch(SQLException e){
+ Bukkit.getLogger().log(Level.SEVERE, "getLastDeclined failed", e);
+ }
+ return lastDeclined;
+ }
+
+ public void remove() {
+ SQL.update("DELETE FROM CheckedSchematic WHERE SchemOwner = " + this.schemOwner + " AND SchemName = '" + this.schemName + "'");
+ }
+
+ public String getSchemName() {
+ return schemName;
+ }
+
+ public int getSchemOwner() {
+ return schemOwner;
+ }
+
+ public int getValidator() {
+ return validator;
+ }
+
+ public Timestamp getStartTime() {
+ return startTime;
+ }
+
+ public Timestamp getEndTime() {
+ return endTime;
+ }
+
+ public String getDeclineReason() {
+ return declineReason;
+ }
+}
diff --git a/SpigotCore_Main/src/de/steamwar/sql/Event.java b/SpigotCore_Main/src/de/steamwar/sql/Event.java
new file mode 100644
index 0000000..2434212
--- /dev/null
+++ b/SpigotCore_Main/src/de/steamwar/sql/Event.java
@@ -0,0 +1,59 @@
+package de.steamwar.sql;
+
+import org.bukkit.Bukkit;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.util.logging.Level;
+
+public class Event {
+
+ private final int eventID;
+ private final String eventName;
+ private final Timestamp start;
+ private final Timestamp end;
+ private final int maximumTeamMembers;
+ private final boolean publicSchemsOnly;
+
+ private Event(int eventID, String eventName, Timestamp start, Timestamp end, int maximumTeamMembers, boolean publicSchemsOnly){
+ this.eventID = eventID;
+ this.eventName = eventName;
+ this.start = start;
+ this.end = end;
+ this.maximumTeamMembers = maximumTeamMembers;
+ this.publicSchemsOnly = publicSchemsOnly;
+ }
+
+ public static Event get(int eventID){
+ ResultSet rs = SQL.select("SELECT * FROM Event WHERE EventID = " + eventID);
+ try{
+ if(!rs.next())
+ throw new IllegalArgumentException();
+
+ return new Event(eventID, rs.getString("EventName"), rs.getTimestamp("Start"), rs.getTimestamp("End"), rs.getInt("MaximumTeamMembers"), rs.getBoolean("PublicSchemsOnly"));
+ }catch (SQLException e){
+ Bukkit.getLogger().log(Level.SEVERE, "Failed to load Event", e);
+ throw new SecurityException();
+ }
+ }
+
+ public int getEventID() {
+ return eventID;
+ }
+ public String getEventName() {
+ return eventName;
+ }
+ public Timestamp getStart() {
+ return start;
+ }
+ public Timestamp getEnd() {
+ return end;
+ }
+ public int getMaximumTeamMembers() {
+ return maximumTeamMembers;
+ }
+ public boolean publicSchemsOnly() {
+ return publicSchemsOnly;
+ }
+}
diff --git a/SpigotCore_Main/src/de/steamwar/sql/EventFight.java b/SpigotCore_Main/src/de/steamwar/sql/EventFight.java
new file mode 100644
index 0000000..65a31cb
--- /dev/null
+++ b/SpigotCore_Main/src/de/steamwar/sql/EventFight.java
@@ -0,0 +1,70 @@
+package de.steamwar.sql;
+
+import org.bukkit.Bukkit;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.logging.Level;
+
+public class EventFight {
+ private int eventID;
+ private int fightID;
+ private int teamBlue;
+ private int teamRed;
+ private int kampfleiter;
+ private int ergebnis;
+
+ private EventFight(int eventID, int fightID, int teamBlue, int teamRed, int kampfleiter, int ergebnis){
+ this.eventID = eventID;
+ this.fightID = fightID;
+ this.teamBlue = teamBlue;
+ this.teamRed = teamRed;
+ this.kampfleiter = kampfleiter;
+ this.ergebnis = ergebnis;
+ }
+
+ public static EventFight get(int fightID){
+ ResultSet rs = SQL.select("SELECT * FROM EventFight WHERE FightID = " + fightID);
+ try{
+ rs.next();
+ return new EventFight(
+ rs.getInt("EventID"),
+ fightID,
+ rs.getInt("TeamBlue"),
+ rs.getInt("TeamRed"),
+ rs.getInt("Kampfleiter"),
+ rs.getInt("Ergebnis"));
+ }catch (SQLException e){
+ Bukkit.getLogger().log(Level.SEVERE, "Failed to load EventFight", e);
+ }
+ return null;
+ }
+
+ public void setErgebnis(int winner){
+ SQL.update("UPDATE EventFight SET Ergebnis = " + winner + " WHERE FightID = " + fightID);
+ }
+
+ public int getTeamBlue() {
+ return teamBlue;
+ }
+
+ public int getTeamRed() {
+ return teamRed;
+ }
+
+ public int getEventID() {
+ return eventID;
+ }
+
+ public int getFightID() {
+ return fightID;
+ }
+
+ public int getKampfleiter() {
+ return kampfleiter;
+ }
+
+ public int getErgebnis() {
+ return ergebnis;
+ }
+}
diff --git a/SpigotCore_Main/src/de/steamwar/sql/SQL.java b/SpigotCore_Main/src/de/steamwar/sql/SQL.java
new file mode 100644
index 0000000..fd243d6
--- /dev/null
+++ b/SpigotCore_Main/src/de/steamwar/sql/SQL.java
@@ -0,0 +1,101 @@
+package de.steamwar.sql;
+
+import de.steamwar.core.Core;
+import org.bukkit.configuration.file.YamlConfiguration;
+
+import java.io.File;
+import java.sql.*;
+
+
+public class SQL {
+
+ private SQL(){}
+
+ private static final String host;
+ private static final String port;
+ private static final String database;
+ private static final String user;
+ private static final String password;
+ private static Connection con;
+
+ static{
+ File file = new File(Core.getInstance().getDataFolder(), "MySQL.yml");
+ YamlConfiguration config = YamlConfiguration.loadConfiguration(file);
+
+ if(!file.exists())
+ throw new SecurityException("SQL-ConfigFile not found!");
+
+ host = config.getString("HOST");
+ port = config.getString("PORT");
+ database = config.getString("DATABASE");
+ user = config.getString("USER");
+ password = config.getString("PASSWORD");
+
+ connect();
+ }
+
+ static Integer booleanToInt(boolean b){
+ if(b)
+ return 1;
+ else
+ return 0;
+ }
+
+ public static void closeConnection() {
+ try {
+ con.close();
+ }catch (SQLException e) {
+ throw new SecurityException("Could not close connection", e);
+ }
+ }
+
+ static void update(String qry) {
+ try {
+ PreparedStatement st = con.prepareStatement(qry);
+ st.executeUpdate();
+ } catch (SQLException e) {
+ reconnect();
+ try {
+ PreparedStatement st = con.prepareStatement(qry);
+ st.executeUpdate();
+ } catch (SQLException ex) {
+ throw new SecurityException("Could not perform update", ex);
+ }
+ }
+ }
+
+ static ResultSet select(String qry) {
+ try {
+ PreparedStatement st = con.prepareStatement(qry);
+ return st.executeQuery();
+ } catch (SQLException e) {
+ reconnect();
+ try {
+ PreparedStatement st = con.prepareStatement(qry);
+ return st.executeQuery();
+ } catch (SQLException ex) {
+ throw new SecurityException("Could not perform select", ex);
+ }
+ }
+ }
+
+ static String disarmString(String s){
+ return s.replace("'", "");
+ }
+
+
+ private static void connect() {
+ try {
+ con = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database + "?autoreconnect=true", user, password);
+ if(con.isClosed())
+ throw new SQLException("Could not connect to database!");
+ }catch (SQLException e) {
+ throw new SecurityException("No connection to database.", e);
+ }
+ }
+
+ private static void reconnect(){
+ closeConnection();
+ connect();
+ }
+}
diff --git a/src/de/warking/hunjy/MySQL/Schematic.java b/SpigotCore_Main/src/de/steamwar/sql/Schematic.java
similarity index 68%
rename from src/de/warking/hunjy/MySQL/Schematic.java
rename to SpigotCore_Main/src/de/steamwar/sql/Schematic.java
index d0c3ad0..340252e 100644
--- a/src/de/warking/hunjy/MySQL/Schematic.java
+++ b/SpigotCore_Main/src/de/steamwar/sql/Schematic.java
@@ -1,4 +1,4 @@
-package de.warking.hunjy.MySQL;
+package de.steamwar.sql;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -6,14 +6,12 @@ import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
-import static de.warking.hunjy.Core.sql;
-
public class Schematic {
- private final String SchemName;
- private final int SchemOwner;
- private String Item;
- private SchematicType SchemType;
+ private final String schemName;
+ private final int schemOwner;
+ private String item;
+ private SchematicType schemType;
private Schematic(ResultSet rs) throws SQLException {
this(
@@ -25,10 +23,10 @@ public class Schematic {
}
private Schematic(String schemName, int schemOwner, String item, SchematicType schemType, boolean updateDB){
- SchemName = schemName;
- SchemOwner = schemOwner;
- Item = item;
- SchemType = schemType;
+ this.schemName = schemName;
+ this.schemOwner = schemOwner;
+ this.item = item;
+ this.schemType = schemType;
if(updateDB)
updateDB();
}
@@ -38,25 +36,25 @@ public class Schematic {
}
public Schematic(String schemName, UUID schemOwner, String item, SchematicType schemType){
- this(schemName, WarkingUser.get(schemOwner).getId(), item, schemType, true);
+ this(schemName, SteamwarUser.get(schemOwner).getId(), item, schemType, true);
}
private void updateDB(){
- sql.update("INSERT INTO Schematic" +
- " (SchemName, SchemOwner, Item, SchemType)" +
- " VALUES" +
- " ('" + SchemName + "', '" + SchemOwner + "', '" + Item + "', '" + SchemType.toDB() + "')" +
- " ON DUPLICATE KEY UPDATE" +
- " Item = VALUES(Item), SchemType = VALUES(SchemType)");
+ SQL.update("INSERT INTO Schematic" +
+ " (SchemName, SchemOwner, Item, SchemType)" +
+ " VALUES" +
+ " ('" + schemName + "', '" + schemOwner + "', '" + item + "', '" + schemType.toDB() + "')" +
+ " ON DUPLICATE KEY UPDATE" +
+ " Item = VALUES(Item), SchemType = VALUES(SchemType)");
}
public static Schematic getSchemFromDB(String schemName, UUID schemOwner){
- return getSchemFromDB(schemName, WarkingUser.get(schemOwner).getId());
+ return getSchemFromDB(schemName, SteamwarUser.get(schemOwner).getId());
}
public static Schematic getSchemFromDB(String schemName, int schemOwner){
- schemName = MySQL.disarmString(schemName);
- ResultSet schematic = sql.select("SELECT * FROM Schematic WHERE SchemName = '" + schemName + "' AND SchemOwner = '" + schemOwner + "'");
+ schemName = SQL.disarmString(schemName);
+ ResultSet schematic = SQL.select("SELECT * FROM Schematic WHERE SchemName = '" + schemName + "' AND SchemOwner = '" + schemOwner + "'");
try {
if(schematic == null || !schematic.next()){
SchematicMember member = SchematicMember.getMemberBySchematic(schemName, schemOwner);
@@ -73,12 +71,12 @@ public class Schematic {
}
public static List getSchemsAccessibleByUser(UUID schemOwner){
- return getSchemsAccessibleByUser(WarkingUser.get(schemOwner).getId());
+ return getSchemsAccessibleByUser(SteamwarUser.get(schemOwner).getId());
}
public static List getSchemsAccessibleByUser(int schemOwner){
try{
- ResultSet schematic = sql.select("SELECT * FROM Schematic WHERE SchemOwner = '" + schemOwner + "'");
+ ResultSet schematic = SQL.select("SELECT * FROM Schematic WHERE SchemOwner = '" + schemOwner + "'");
List schematics = new ArrayList<>();
while(schematic.next()){
schematics.add(new Schematic(schematic));
@@ -95,7 +93,7 @@ public class Schematic {
}
public static List getSchemsOfType(UUID schemOwner, SchematicType schemType){
- return getSchemsOfType(WarkingUser.get(schemOwner).getId(), schemType);
+ return getSchemsOfType(SteamwarUser.get(schemOwner).getId(), schemType);
}
public static List getSchemsOfType(int schemOwner, SchematicType schemType){
@@ -110,7 +108,7 @@ public class Schematic {
public static List getAllSchemsOfType(SchematicType schemType){
try{
- ResultSet schematic = sql.select("SELECT * FROM Schematic WHERE SchemType = '" + schemType.toDB() + "'");
+ ResultSet schematic = SQL.select("SELECT * FROM Schematic WHERE SchemType = '" + schemType.toDB() + "'");
List schematics = new ArrayList<>();
while(schematic.next()){
schematics.add(new Schematic(schematic));
@@ -123,33 +121,33 @@ public class Schematic {
}
public String getSchemName() {
- return SchemName;
+ return schemName;
}
public int getSchemOwner() {
- return SchemOwner;
+ return schemOwner;
}
public String getItem() {
- return Item;
+ return item;
}
public void setItem(String item) {
- Item = item;
+ this.item = item;
updateDB();
}
public SchematicType getSchemType() {
- return SchemType;
+ return schemType;
}
public void setSchemType(SchematicType schemType) {
- SchemType = schemType;
+ this.schemType = schemType;
updateDB();
}
public void remove(){
- sql.update("DELETE FROM Schematic WHERE SchemOwner = " + SchemOwner + " AND SchemName = '" + SchemName + "'");
- sql.update("DELETE FROM SchemMember WHERE SchemOwner = " + SchemOwner + " AND SchemName = '" + SchemName + "'");
+ SQL.update("DELETE FROM Schematic WHERE SchemOwner = " + schemOwner + " AND SchemName = '" + schemName + "'");
+ SQL.update("DELETE FROM SchemMember WHERE SchemOwner = " + schemOwner + " AND SchemName = '" + schemName + "'");
}
}
diff --git a/src/de/warking/hunjy/MySQL/SchematicMember.java b/SpigotCore_Main/src/de/steamwar/sql/SchematicMember.java
similarity index 65%
rename from src/de/warking/hunjy/MySQL/SchematicMember.java
rename to SpigotCore_Main/src/de/steamwar/sql/SchematicMember.java
index 8c2a3b5..4fb7c5e 100644
--- a/src/de/warking/hunjy/MySQL/SchematicMember.java
+++ b/SpigotCore_Main/src/de/steamwar/sql/SchematicMember.java
@@ -1,4 +1,4 @@
-package de.warking.hunjy.MySQL;
+package de.steamwar.sql;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -6,17 +6,15 @@ import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
-import static de.warking.hunjy.Core.sql;
-
public class SchematicMember {
- private final int SchemOwner;
- private final String SchemName;
- private final int Member;
+ private final int schemOwner;
+ private final String schemName;
+ private final int member;
private SchematicMember(String schemName, int schemOwner, int schemMember, boolean updateDB){
- SchemOwner = schemOwner;
- Member = schemMember;
- SchemName = schemName;
+ this.schemOwner = schemOwner;
+ member = schemMember;
+ this.schemName = schemName;
if(updateDB)
updateDB();
}
@@ -26,35 +24,34 @@ public class SchematicMember {
}
public SchematicMember(String schemName, UUID schemOwner, UUID schemMember){
- this(schemName, WarkingUser.get(schemOwner).getId(), WarkingUser.get(schemMember).getId(), true);
+ this(schemName, SteamwarUser.get(schemOwner).getId(), SteamwarUser.get(schemMember).getId(), true);
}
private void updateDB(){
- sql.update("INSERT INTO SchemMember" +
- " (SchemName, SchemOwner, Member)" +
- " VALUES" +
- " ('" + SchemName + "', '" + SchemOwner + "', '" + Member + "')");
+ SQL.update("INSERT INTO SchemMember" +
+ " (SchemName, SchemOwner, Member)" +
+ " VALUES" +
+ " ('" + schemName + "', '" + schemOwner + "', '" + member + "')");
}
public static SchematicMember getSchemMemberFromDB(String schemName, UUID schemOwner, UUID schemMember){
- return getSchemMemberFromDB(schemName, WarkingUser.get(schemOwner).getId(), WarkingUser.get(schemMember).getId());
+ return getSchemMemberFromDB(schemName, SteamwarUser.get(schemOwner).getId(), SteamwarUser.get(schemMember).getId());
}
public static SchematicMember getSchemMemberFromDB(String schemName, int schemOwner, int schemMember){
- ResultSet schematicMember = sql.select("SELECT * FROM SchemMember WHERE SchemName = '" + schemName + "' AND SchemOwner = '" + schemOwner + "' AND Member = '" + schemMember + "'");
+ ResultSet schematicMember = SQL.select("SELECT * FROM SchemMember WHERE SchemName = '" + schemName + "' AND SchemOwner = '" + schemOwner + "' AND Member = '" + schemMember + "'");
try {
if(schematicMember == null || !schematicMember.next()){
return null;
}
return new SchematicMember(schemName, schemOwner, schemMember, false);
} catch (SQLException e) {
- e.printStackTrace();
+ throw new SecurityException("Could not get schemmember", e);
}
- return null;
}
public static SchematicMember getMemberBySchematic(String schemName, int schemMember){
- ResultSet schematicMember = sql.select("SELECT * FROM SchemMember WHERE SchemName = '" + schemName + "' AND Member = '" + schemMember + "'");
+ ResultSet schematicMember = SQL.select("SELECT * FROM SchemMember WHERE SchemName = '" + schemName + "' AND Member = '" + schemMember + "'");
try {
if(schematicMember == null || !schematicMember.next()){
return null;
@@ -62,17 +59,16 @@ public class SchematicMember {
int schemOwner = schematicMember.getInt("SchemOwner");
return new SchematicMember(schemName, schemOwner, schemMember, false);
} catch (SQLException e) {
- e.printStackTrace();
+ throw new SecurityException("Could not get member", e);
}
- return null;
}
public static List getSchemMembers(String schemName, UUID schemOwner){
- return getSchemMembers(schemName, WarkingUser.get(schemOwner).getId());
+ return getSchemMembers(schemName, SteamwarUser.get(schemOwner).getId());
}
public static List getSchemMembers(String schemName, int schemOwner){
- ResultSet schematicMember = sql.select("SELECT * FROM SchemMember WHERE SchemName = '" + schemName + "' AND SchemOwner = '" + schemOwner + "'");
+ ResultSet schematicMember = SQL.select("SELECT * FROM SchemMember WHERE SchemName = '" + schemName + "' AND SchemOwner = '" + schemOwner + "'");
try {
List schematicMembers = new ArrayList<>();
while(schematicMember.next()){
@@ -81,17 +77,16 @@ public class SchematicMember {
}
return schematicMembers;
} catch (SQLException e) {
- e.printStackTrace();
+ throw new SecurityException("Could not get schemmembers", e);
}
- return null;
}
public static List getAccessibleSchems(UUID schemMember){
- return getAccessibleSchems(WarkingUser.get(schemMember).getId());
+ return getAccessibleSchems(SteamwarUser.get(schemMember).getId());
}
public static List getAccessibleSchems(int schemMember){
- ResultSet schematicMember = sql.select("SELECT * FROM SchemMember WHERE Member = '" + schemMember + "'");
+ ResultSet schematicMember = SQL.select("SELECT * FROM SchemMember WHERE Member = '" + schemMember + "'");
try {
List schematicMembers = new ArrayList<>();
while(schematicMember.next()){
@@ -101,24 +96,23 @@ public class SchematicMember {
}
return schematicMembers;
} catch (SQLException e) {
- e.printStackTrace();
+ throw new SecurityException("Could not get accessible schems", e);
}
- return null;
}
public int getSchemOwner() {
- return SchemOwner;
+ return schemOwner;
}
public String getSchemName() {
- return SchemName;
+ return schemName;
}
public int getMember() {
- return Member;
+ return member;
}
public void remove(){
- sql.update("DELETE FROM SchemMember WHERE SchemOwner = " + SchemOwner + " AND SchemName = '" + SchemName + "' AND Member = '" + Member + "'");
+ SQL.update("DELETE FROM SchemMember WHERE SchemOwner = " + schemOwner + " AND SchemName = '" + schemName + "' AND Member = '" + member + "'");
}
}
diff --git a/src/de/warking/hunjy/MySQL/SchematicType.java b/SpigotCore_Main/src/de/steamwar/sql/SchematicType.java
similarity index 81%
rename from src/de/warking/hunjy/MySQL/SchematicType.java
rename to SpigotCore_Main/src/de/steamwar/sql/SchematicType.java
index 0823a83..a9c5b95 100644
--- a/src/de/warking/hunjy/MySQL/SchematicType.java
+++ b/SpigotCore_Main/src/de/steamwar/sql/SchematicType.java
@@ -1,4 +1,4 @@
-package de.warking.hunjy.MySQL;
+package de.steamwar.sql;
import java.util.HashMap;
import java.util.Map;
@@ -13,10 +13,14 @@ public enum SchematicType {
WarGear("WG", Type.FIGHT_TYPE, CWarGear),
WarShip("WS", Type.FIGHT_TYPE, CWarShip),
MiniWarGear("MWG", Type.FIGHT_TYPE, CMiniWarGear),
- CGearUp("CGU", Type.CHECK_TYPE),
- GearUp("GU", Type.FIGHT_TYPE, CGearUp),
CEiszeit("CEZ", Type.CHECK_TYPE),
- Eiszeit("EZ", Type.FIGHT_TYPE);
+ Eiszeit("EZ", Type.FIGHT_TYPE),
+ CWarShip1_8("CWS1.8", Type.CHECK_TYPE),
+ CWarGear1_7("CWG1.7", Type.CHECK_TYPE),
+ WarShip1_8("WS1.8", Type.FIGHT_TYPE, CWarShip1_8),
+ WarGear1_7("WG1.7", Type.FIGHT_TYPE, CWarGear1_7),
+ CMPPWarGear1_12("CMPPWG", Type.CHECK_TYPE),
+ MPPWarGear1_12("MPPWG", Type.FIGHT_TYPE, CMPPWarGear1_12);
private static Map fromDB = new HashMap<>();
diff --git a/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java b/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java
new file mode 100644
index 0000000..55a1df2
--- /dev/null
+++ b/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java
@@ -0,0 +1,98 @@
+package de.steamwar.sql;
+
+import de.steamwar.core.Core;
+import org.bukkit.Bukkit;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.*;
+
+public class SteamwarUser {
+
+ private static final Map byUUID = new HashMap<>();
+ private static final Map byName = new HashMap<>();
+ private static final Map byId = new HashMap<>();
+
+ static{
+ Bukkit.getScheduler().runTaskTimer(Core.getInstance(), () -> {
+ byId.clear();
+ byName.clear();
+ byUUID.clear();
+ }, 72000, 72000);
+ }
+
+ private final int id;
+ private final UUID uuid;
+ private final String userName;
+ private final UserGroup userGroup;
+ private final int team;
+
+ private SteamwarUser(ResultSet rs){
+ try {
+ id = rs.getInt("id");
+ uuid = java.util.UUID.fromString(rs.getString("UUID"));
+ userName = rs.getString("UserName");
+ userGroup = UserGroup.valueOf(rs.getString("UserGroup"));
+ team = rs.getInt("Team");
+
+ byUUID.put(uuid, this);
+ byName.put(userName.toLowerCase(), this);
+ byId.put(id, this);
+ } catch (SQLException e) {
+ throw new SecurityException("Could not instance User", e);
+ }
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public UUID getUUID() {
+ return uuid;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public UserGroup getUserGroup() {
+ return userGroup;
+ }
+
+ public int getTeam(){
+ return team;
+ }
+
+ private static SteamwarUser fromDB(String statement){
+ ResultSet rs = SQL.select(statement);
+ try {
+ if(rs.next())
+ return new SteamwarUser(rs);
+ } catch (SQLException e) {
+ throw new SecurityException("SQL Statement failed to get User", e);
+ }
+ return null;
+ }
+
+ public static SteamwarUser get(String userName){
+ userName = SQL.disarmString(userName);
+ SteamwarUser user = byName.get(userName.toLowerCase());
+ if(user == null)
+ user = fromDB("SELECT * FROM UserData WHERE lower(UserName) = '" + userName.toLowerCase() + "'");
+ return user;
+ }
+
+ public static SteamwarUser get(UUID uuid){
+ SteamwarUser user = byUUID.get(uuid);
+ if(user == null)
+ user = fromDB("SELECT * FROM UserData WHERE UUID = '" + uuid.toString() + "'");
+ return user;
+ }
+
+ public static SteamwarUser get(int id) {
+ SteamwarUser user = byId.get(id);
+ if(user == null)
+ user = fromDB("SELECT * FROM UserData WHERE id = '" + id + "'");
+ return user;
+ }
+}
diff --git a/SpigotCore_Main/src/de/steamwar/sql/Team.java b/SpigotCore_Main/src/de/steamwar/sql/Team.java
new file mode 100644
index 0000000..f82680e
--- /dev/null
+++ b/SpigotCore_Main/src/de/steamwar/sql/Team.java
@@ -0,0 +1,67 @@
+package de.steamwar.sql;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.LinkedList;
+import java.util.List;
+
+public class Team {
+ private final int teamId;
+ private final String teamKuerzel;
+ private final String teamName;
+ private final int teamLeader;
+
+ private static final Team pub = new Team(0, "PUB", "Öffentlich", 0);
+
+ private Team(int teamId, String teamKuerzel, String teamName, int teamLeader){
+ this.teamId = teamId;
+ this.teamKuerzel = teamKuerzel;
+ this.teamName = teamName;
+ this.teamLeader = teamLeader;
+ }
+
+ private Team(ResultSet rs) throws SQLException {
+ this(rs.getInt("TeamID"), rs.getString("TeamKuerzel"), rs.getString("TeamName"), rs.getInt("TeamLeader"));
+ }
+
+ public static Team get(int id){
+ if(id == 0)
+ return pub;
+ ResultSet rs = SQL.select("SELECT * FROM Team WHERE TeamID = " + id);
+ try {
+ if(!rs.next())
+ return null;
+ return new Team(rs);
+ } catch (SQLException e) {
+ throw new SecurityException("Could not load team", e);
+ }
+ }
+
+ public int getTeamId() {
+ return teamId;
+ }
+
+ public String getTeamKuerzel() {
+ return teamKuerzel;
+ }
+
+ public String getTeamName() {
+ return teamName;
+ }
+
+ public int getTeamLeader() {
+ return teamLeader;
+ }
+
+ public List getMembers(){
+ try{
+ ResultSet memberlist = SQL.select("SELECT id FROM UserData WHERE Team = '" + teamId + "'");
+ List members = new LinkedList<>();
+ while(memberlist.next())
+ members.add(memberlist.getInt("id"));
+ return members;
+ }catch(SQLException e){
+ throw new SecurityException("Could not load Teammembers", e);
+ }
+ }
+}
diff --git a/src/de/warking/hunjy/MySQL/UserGroup.java b/SpigotCore_Main/src/de/steamwar/sql/UserGroup.java
similarity index 77%
rename from src/de/warking/hunjy/MySQL/UserGroup.java
rename to SpigotCore_Main/src/de/steamwar/sql/UserGroup.java
index 60150f2..174b6f0 100644
--- a/src/de/warking/hunjy/MySQL/UserGroup.java
+++ b/SpigotCore_Main/src/de/steamwar/sql/UserGroup.java
@@ -1,4 +1,4 @@
-package de.warking.hunjy.MySQL;
+package de.steamwar.sql;
public enum UserGroup {
Admin,
diff --git a/SpigotCore_Main/src/plugin.yml b/SpigotCore_Main/src/plugin.yml
new file mode 100644
index 0000000..4101be6
--- /dev/null
+++ b/SpigotCore_Main/src/plugin.yml
@@ -0,0 +1,7 @@
+name: SpigotCore
+version: 1.0
+author: Lixfel
+api-version: 1.13
+
+main: de.steamwar.core.Core
+commands:
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index c093382..dbc56a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,10 +4,10 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- de.warking
+ steamwar
SpigotCore
- 1.0
- jar
+ 2.0
+ pom
https://maven.apache.org
@@ -17,21 +17,11 @@
steamwar
- https://steamwar.de/maven/
+ https://steamwar.de:81/maven/
- src
-
-
- src
-
- **/*.java
- **/*.kt
-
-
-
org.apache.maven.plugins
@@ -43,14 +33,13 @@
+ ${project.name}
-
-
- steamwar
- Spigot
- 1.0
- provided
-
-
+
+ SpigotCore_8
+ SpigotCore_12
+ SpigotCore_14
+ SpigotCore_Main
+
\ No newline at end of file
diff --git a/src/de/steamwar/core/FileManager.java b/src/de/steamwar/core/FileManager.java
deleted file mode 100644
index 079a668..0000000
--- a/src/de/steamwar/core/FileManager.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package de.steamwar.core;
-
-import de.warking.hunjy.Core;
-import org.bukkit.Bukkit;
-import org.bukkit.configuration.file.YamlConfiguration;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.logging.Level;
-
-
-public class FileManager {
-
- private File file;
- private YamlConfiguration config;
-
- public FileManager() {
- file = new File(Core.getInstance().getDataFolder(), "MySQL.yml");
- config = YamlConfiguration.loadConfiguration(file);
- setDefaults();
- }
-
- private void setDefaults() {
- if(!file.exists()) {
- config.set("HOST", "localhost");
- config.set("PORT", "3306");
- config.set("DATABASE", "coinsystem");
- config.set("USER", "root");
- config.set("PASSWORD", "");
-
- try {
- config.save(file);
- } catch (IOException e) {
- Bukkit.getLogger().log(Level.SEVERE, "Could not save MySQL Config", e);
- }
- }
- }
-
- public YamlConfiguration getConfig() {
- return config;
- }
-}
diff --git a/src/de/steamwar/inventory/SWInventory.java b/src/de/steamwar/inventory/SWInventory.java
deleted file mode 100644
index 8ed9456..0000000
--- a/src/de/steamwar/inventory/SWInventory.java
+++ /dev/null
@@ -1,284 +0,0 @@
-package de.steamwar.inventory;
-
-import de.warking.hunjy.Core;
-import org.bukkit.Bukkit;
-import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.entity.HumanEntity;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.inventory.InventoryClickEvent;
-import org.bukkit.event.inventory.InventoryCloseEvent;
-import org.bukkit.event.inventory.InventoryType;
-import org.bukkit.inventory.Inventory;
-import org.bukkit.inventory.InventoryHolder;
-import org.bukkit.inventory.ItemStack;
-
-import java.util.*;
-
-public class SWInventory implements Listener, Inventory {
-
- Player player;
- private Map callbacks;
- private int inventorySize;
- private ItemStack[] contents;
- private String title;
-
- public SWInventory(Player p, int size, String t){
- title = t;
- callbacks = new HashMap<>();
- player = p;
- inventorySize = size;
- contents = new ItemStack[inventorySize];
- }
-
- public SWInventory(Player p, int size, String t, Map items){
- this(p, size, t);
- items.forEach(this::setItem);
- open();
- }
-
- public void addCloseCallback(InvCallback c){
- callbacks.put(-1, c);
- }
-
- public void setItem(int pos, SWItem item){
- contents[pos] = item.getItemStack();
- callbacks.put(pos, item.getCallback());
- }
-
- public void setItem(int pos, Material m, String name, InvCallback c){
- setItem(pos, m, name, new ArrayList<>(), false, c);
- }
-
- public void setItem(int pos, Material m, byte meta, String name, InvCallback c){
- setItem(pos, m, meta, name, new ArrayList<>(), false, c);
- }
-
- public void setItem(int pos, Material m, String name, List lore, boolean e, InvCallback c){
- setItem(pos, m, (byte)0, name, lore, e, c);
- }
-
- public void setItem(int pos, Material m, byte meta, String name, List lore, boolean e, InvCallback c){
- SWItem item = new SWItem(m, meta, name, lore, e, c);
- setItem(pos, item);
- }
-
- public void setCallback(int pos, InvCallback c){
- callbacks.put(pos, c);
- }
-
- public void open(){
- player.openInventory(this);
- Bukkit.getPluginManager().registerEvents(this, Core.getInstance());
- }
-
- @EventHandler
- public void onInventoryClick(InventoryClickEvent e){
- if(!player.equals(e.getWhoClicked()))
- return;
-
- e.setCancelled(true);
- if(callbacks.containsKey(e.getRawSlot()))
- callbacks.get(e.getSlot()).clicked(e.getClick());
- }
-
- @EventHandler
- public void onInventoryClose(InventoryCloseEvent e){
- if(!player.equals(e.getPlayer()))
- return;
-
- InventoryClickEvent.getHandlerList().unregister(this);
- InventoryCloseEvent.getHandlerList().unregister(this);
- if(callbacks.containsKey(-1))
- callbacks.get(-1).clicked(null);
- }
-
-
- @Override
- public int getSize() {
- return inventorySize;
- }
- @Override
- public int getMaxStackSize() {
- return 999;
- }
- @Override
- public void setMaxStackSize(int size) {
- //Unused
- }
-
- @Override
- public String getName() {
- return title;
- }
-
- @Override
- public ItemStack getItem(int index) {
- return contents[index];
- }
-
- @Override
- public void setItem(int index, ItemStack item) {
- //Unused
- }
-
- @Override
- public HashMap addItem(ItemStack... items) throws IllegalArgumentException {
- return null;
- }
-
- @Override
- public HashMap removeItem(ItemStack... items) throws IllegalArgumentException {
- return null;
- }
- @Override
- public ItemStack[] getContents() {
- return contents;
- }
- @Override
- public void setContents(ItemStack[] items) throws IllegalArgumentException {
- //Unused
- }
- @Override
- public ItemStack[] getStorageContents() {
- return contents;
- }
- @Override
- public void setStorageContents(ItemStack[] items) throws IllegalArgumentException {
-
- }
-
- @Override
- public boolean contains(int materialId) {
- return false;
- }
- @Override
- public boolean contains(Material material) throws IllegalArgumentException {
- return false;
- }
- @Override
- public boolean contains(ItemStack item) {
- return false;
- }
-
- @Override
- public boolean contains(int materialId, int amount) {
- return false;
- }
-
- @Override
- public boolean contains(Material material, int amount) throws IllegalArgumentException {
- return false;
- }
-
- @Override
- public boolean contains(ItemStack item, int amount) {
- return false;
- }
-
- @Override
- public boolean containsAtLeast(ItemStack item, int amount) {
- return false;
- }
-
- @Override
- public HashMap all(int materialId) {
- return null;
- }
-
- @Override
- public HashMap all(Material material) throws IllegalArgumentException {
- return null;
- }
-
- @Override
- public HashMap all(ItemStack item) {
- return null;
- }
-
- @Override
- public int first(int materialId) {
- return 0;
- }
-
- @Override
- public int first(Material material) throws IllegalArgumentException {
- return 0;
- }
-
- @Override
- public int first(ItemStack item) {
- return 0;
- }
-
- @Override
- public int firstEmpty() {
- return 0;
- }
-
- @Override
- public void remove(int materialId) {
-
- }
-
- @Override
- public void remove(Material material) throws IllegalArgumentException {
-
- }
-
- @Override
- public void remove(ItemStack item) {
-
- }
-
- @Override
- public void clear(int index) {
- contents[index] = null;
- callbacks.remove(index);
- }
-
- @Override
- public void clear() {
- contents = new ItemStack[contents.length];
- callbacks.clear();
- }
-
- @Override
- public List getViewers() {
- List l = new ArrayList<>();
- l.add(player);
- return l;
- }
-
- @Override
- public String getTitle() {
- return title;
- }
-
- @Override
- public InventoryType getType() {
- return InventoryType.CHEST;
- }
-
- @Override
- public InventoryHolder getHolder() {
- return player;
- }
-
- @Override
- public ListIterator iterator() {
- return null;
- }
-
- @Override
- public ListIterator iterator(int index) {
- return null;
- }
-
- @Override
- public Location getLocation() {
- return null;
- }
-}
diff --git a/src/de/warking/hunjy/MySQL/MySQL.java b/src/de/warking/hunjy/MySQL/MySQL.java
deleted file mode 100644
index 9a9c413..0000000
--- a/src/de/warking/hunjy/MySQL/MySQL.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package de.warking.hunjy.MySQL;
-
-import de.warking.hunjy.Core;
-
-import java.sql.*;
-
-
-public class MySQL {
- private String host;
- private String port;
- private String database;
- private String user;
- private String password;
- private Connection con;
-
- public static Integer booleanToInt(boolean b){
- if(b)
- return 1;
- else
- return 0;
- }
-
- public MySQL() {
- this.host = Core.getInstance().getFileManager().getConfig().getString("HOST");
- this.port = Core.getInstance().getFileManager().getConfig().getString("PORT");
- this.database = Core.getInstance().getFileManager().getConfig().getString("DATABASE");
- this.user = Core.getInstance().getFileManager().getConfig().getString("USER");
- this.password = Core.getInstance().getFileManager().getConfig().getString("PASSWORD");
-
- connect();
- }
-
- public void connect() {
- try {
- con = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database + "?autoreconnect=true", user, password);
- if(con == null)
- System.err.println("Fatal ERROR: Could not connect to database!");
- }catch (SQLException e) {
- e.printStackTrace();
- }
- }
-
- private void reconnect(){
- closeConnection();
- connect();
- }
-
- public void closeConnection() {
- try {
- if(con != null)
- con.close();
- }catch (SQLException e) {
- e.printStackTrace();
- }
- }
-
- public void update(String qry) {
- if(con == null){
- return;
- }
- try {
- PreparedStatement st = con.prepareStatement(qry);
- st.executeUpdate();
- } catch (SQLException e) {
- reconnect();
- try {
- PreparedStatement st = con.prepareStatement(qry);
- st.executeUpdate();
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
- }
-
- public ResultSet select(String qry) {
- if(con == null){
- return null;
- }
- try {
- PreparedStatement st = con.prepareStatement(qry);
- return st.executeQuery();
- } catch (SQLException e) {
- reconnect();
- try {
- PreparedStatement st = con.prepareStatement(qry);
- return st.executeQuery();
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
-
- return null;
- }
-
- public static String disarmString(String s){
- return s.replace("'", "");
- }
-}
diff --git a/src/de/warking/hunjy/MySQL/WarkingUser.java b/src/de/warking/hunjy/MySQL/WarkingUser.java
deleted file mode 100644
index 01eef32..0000000
--- a/src/de/warking/hunjy/MySQL/WarkingUser.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package de.warking.hunjy.MySQL;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-import static de.warking.hunjy.Core.sql;
-
-public class WarkingUser {
-
- private static final List allUsers = new ArrayList<>();
-
- private int id;
- private UUID UUID;
- private String UserName;
- private UserGroup UserGroup;
- private int Team;
-
- public WarkingUser(UUID uuid){
- ResultSet dbplayer = sql.select("SELECT * FROM UserData WHERE UUID = '" + uuid.toString() + "'");
- init(dbplayer);
- }
-
- public WarkingUser(int id){
- ResultSet dbplayer = sql.select("SELECT * FROM UserData WHERE id = '" + id + "'");
- init(dbplayer);
- }
-
- public WarkingUser(String name){
- ResultSet dbplayer = sql.select("SELECT * FROM UserData WHERE lower(UserName) = '" + name.toLowerCase() + "'");
- init(dbplayer);
- }
-
- private void init(ResultSet dbplayer){
- try {
- if(!dbplayer.next())
- return;
- id = dbplayer.getInt("id");
- this.UUID = java.util.UUID.fromString(dbplayer.getString("UUID"));
- UserName = dbplayer.getString("UserName");
- UserGroup = de.warking.hunjy.MySQL.UserGroup.valueOf(dbplayer.getString("UserGroup"));
- Team = dbplayer.getInt("Team");
- allUsers.add(this);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
-
- public int getId() {
- return id;
- }
-
- public java.util.UUID getUUID() {
- return UUID;
- }
-
- public String getUserName() {
- return UserName;
- }
-
- public UserGroup getUserGroup() {
- return UserGroup;
- }
-
- public int getTeam(){
- return Team;
- }
-
- public static WarkingUser get(String userName){
- userName = MySQL.disarmString(userName);
- for(WarkingUser user : allUsers)
- if(user.UserName.equalsIgnoreCase(userName))
- return user;
- WarkingUser offline = new WarkingUser(userName);
- return offline;
- }
-
- public static WarkingUser get(UUID uuid){
- for(WarkingUser user : allUsers)
- if(user.UUID.equals(uuid))
- return user;
- WarkingUser offline = new WarkingUser(uuid);
- return offline;
- }
-
- public static WarkingUser get(int id){
- for(WarkingUser user : allUsers)
- if(user.id == id)
- return user;
- WarkingUser offline = new WarkingUser(id);
- return offline;
- }
-
- public static void clearCache(){
- allUsers.clear();
- }
-}
diff --git a/src/plugin.yml b/src/plugin.yml
deleted file mode 100644
index 9563749..0000000
--- a/src/plugin.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-name: CoreSystem
-version: 1.0
-
-author: hunjy, Lixfel
-
-main: de.warking.hunjy.Core
-
-commands:
\ No newline at end of file