diff --git a/pom.xml b/pom.xml
index f0c68cb..b4a3902 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,38 +6,33 @@
com.softwarerat
KitAPI
- 1.1-SNAPSHOT
-
+ 1.3-SNAPSHOT
+
+
+
+ forgejo
+ Forgejo Maven
+ http://heimserver.local:36107/api/packages/minecraft/maven
+
+
+
- gitlab-maven
- https://gitlab.softwarerat.com/api/v4/projects/11/packages/maven
+ papermc-repo
+ https://repo.papermc.io/repository/maven-public/
-
- gitlab-maven
- https://gitlab.softwarerat.com/api/v4/projects/11/packages/maven
-
-
+
+ gitea
+ http://heimserver.local:36107/api/packages/minecraft/maven
+
+
18
18
UTF-8
-
-
- gitlab-zyonic
- https://gitlab.zyonicsoftware.com/api/v4/projects/119/packages/maven
-
-
- papermc-repo
- https://repo.papermc.io/repository/maven-public/
-
-
+
-
- de.mint
- AsyncMySQLPoolHandler
- 1.0.5
-
+
io.papermc.paper
paper-api
@@ -47,7 +42,7 @@
org.projectlombok
lombok
- 1.18.28
+ 1.18.42
compile
diff --git a/src/main/java/com/softwarerat/KitAPi/KitAPI.java b/src/main/java/com/softwarerat/KitAPi/KitAPI.java
index ad2864a..2d1336a 100644
--- a/src/main/java/com/softwarerat/KitAPi/KitAPI.java
+++ b/src/main/java/com/softwarerat/KitAPi/KitAPI.java
@@ -1,31 +1,31 @@
package com.softwarerat.KitAPi;
-import com.softwarerat.SQL.KitManager;
-import com.softwarerat.SQL.SQLHandler;
-import lombok.AllArgsConstructor;
+import java.util.ArrayList;
+
import org.bukkit.entity.Player;
-import java.util.ArrayList;
+import lombok.AllArgsConstructor;
+
@AllArgsConstructor
public class KitAPI {
-SQLHandler sqlHandler;
-KitManager kitManager;
+
+ YamlHandler yamlHandler;
+ KitManager kitManager;
+ public void giveKit(Player player, String s) {
+ String b64 = yamlHandler.loadKit(s);
+ kitManager.giveKit(player, b64);
+ player.sendMessage("erfolgreich kit ausgestellt");
+ }
+ public ArrayList getKits() {
+ return yamlHandler.getKits();
-public void giveKit(Player player, String s){
-String b64 = sqlHandler.loadKit(s);
-kitManager.giveKit(player,b64);
-player.sendMessage("erfolgreich kit ausgestellt");
-}
-public ArrayList getKits(){
- return sqlHandler.getKits();
+ }
-}
-
-public void saveKit(Player player, String s){
- kitManager.saveKit(player,s);
- player.sendMessage("Kit wurde erfolgreich gespeichert");
-}
+ public void saveKit(Player player, String s) {
+ kitManager.saveKit(player, s);
+ player.sendMessage("Kit wurde erfolgreich gespeichert");
+ }
}
diff --git a/src/main/java/com/softwarerat/SQL/KitManager.java b/src/main/java/com/softwarerat/KitAPi/KitManager.java
similarity index 89%
rename from src/main/java/com/softwarerat/SQL/KitManager.java
rename to src/main/java/com/softwarerat/KitAPi/KitManager.java
index dc772c7..db45c63 100644
--- a/src/main/java/com/softwarerat/SQL/KitManager.java
+++ b/src/main/java/com/softwarerat/KitAPi/KitManager.java
@@ -1,4 +1,4 @@
-package com.softwarerat.SQL;
+package com.softwarerat.KitAPi;
import org.bukkit.Material;
import org.bukkit.entity.Player;
@@ -16,22 +16,22 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutionException;
public class KitManager {
private final HashMap kits;
private final ConcurrentHashMap playerKit;
private final ArrayList playersWithKits;
- private SQLHandler asyncSQLHandler;
+ private YamlHandler yamlHandler;
- public KitManager(SQLHandler asyncSQLHandler) {
+ public KitManager(YamlHandler yamlHandler) {
this.kits = new HashMap<>();
this.playerKit = new ConcurrentHashMap();
this.playersWithKits = new ArrayList<>();
- this.asyncSQLHandler = asyncSQLHandler;
+ this.yamlHandler = yamlHandler;
}
- //loads the Inventory by the UnHashing Algorithm
+
+ // loads the Inventory by the UnHashing Algorithm
public ItemStack[] loadKit(String base64) {
System.out.println("Loading Kit with data: " + base64);
try {
@@ -40,10 +40,11 @@ public class KitManager {
}
return null;
}
- //gives The Player the Hashed Inventory
+
+ // gives The Player the Hashed Inventory
public void giveKit(Player player, String base64) {
player.getInventory().clear();
- // String playerKit = this.playerKit.get(player.getUniqueId());
+ // String playerKit = this.playerKit.get(player.getUniqueId());
System.out.println(playerKit);
ItemStack[] kit = loadKit(base64);
for (int i = 0; i < kit.length; i++) {
@@ -114,7 +115,7 @@ public class KitManager {
BukkitObjectInputStream dataInput = new BukkitObjectInputStream(inputStream);
ItemStack[] items = new ItemStack[dataInput.readInt()];
- // Read the serialized inventory
+ // Read the serialized inventory
for (int i = 0; i < items.length; i++) {
items[i] = (ItemStack) dataInput.readObject();
}
@@ -129,12 +130,9 @@ public class KitManager {
String kitBase64 = this.itemStackArrayToBase64(player.getInventory().getContents());
System.out.println(kitBase64);
- try {
- System.out.println(kitBase64);
- asyncSQLHandler.saveKit(name, kitBase64);
- } catch (ExecutionException | InterruptedException e) {
- e.printStackTrace();
- }
+ System.out.println(kitBase64);
+ yamlHandler.saveKit(name, kitBase64);
+
this.kits.put(name, player.getInventory().getContents());
}
diff --git a/src/main/java/com/softwarerat/KitAPi/Yaml.java b/src/main/java/com/softwarerat/KitAPi/Yaml.java
new file mode 100644
index 0000000..a0d231e
--- /dev/null
+++ b/src/main/java/com/softwarerat/KitAPi/Yaml.java
@@ -0,0 +1,65 @@
+package com.softwarerat.KitAPi;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+
+import org.bukkit.configuration.file.FileConfiguration;
+import org.bukkit.configuration.file.YamlConfiguration;
+
+public class Yaml {
+
+ private final File file;
+ private FileConfiguration config;
+
+ public Yaml(String path, String fileName) {
+ this.file = new File(path, fileName); // FIX HERE
+ load();
+ }
+
+ public void load() {
+ this.config = YamlConfiguration.loadConfiguration(file);
+ }
+
+ public void save() {
+ try {
+ config.save(file);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void reload() {
+ load();
+ }
+
+ public FileConfiguration getConfig() {
+ return config;
+ }
+
+ public void set(String path, Object value) {
+ config.set(path, value);
+ save();
+ }
+
+ public Object get(String path) {
+ return config.get(path);
+ }
+
+ public String getString(String path) {
+ return config.getString(path);
+ }
+
+ public int getInt(String path) {
+ return config.getInt(path);
+ }
+
+ public boolean getBoolean(String path) {
+ return config.getBoolean(path);
+ }
+
+ public ArrayList getKits() {
+ // TODO Auto-generated method stub
+ throw new UnsupportedOperationException("Unimplemented method 'getKits'");
+ }
+}
diff --git a/src/main/java/com/softwarerat/KitAPi/YamlHandler.java b/src/main/java/com/softwarerat/KitAPi/YamlHandler.java
new file mode 100644
index 0000000..ef2cecc
--- /dev/null
+++ b/src/main/java/com/softwarerat/KitAPi/YamlHandler.java
@@ -0,0 +1,38 @@
+package com.softwarerat.KitAPi;
+
+import java.util.ArrayList;
+
+import org.bukkit.configuration.ConfigurationSection;
+
+public class YamlHandler {
+
+ private final Yaml yaml;
+
+ public YamlHandler(String path) {
+ this.yaml = new Yaml(path, "kits.yml");
+ }
+
+ // Load a kit by name
+ public String loadKit(String name) {
+ return yaml.getString("kits." + name);
+ }
+
+ // Get all kit names
+ public ArrayList getKits() {
+ ArrayList kits = new ArrayList<>();
+
+ if (yaml.getConfig().contains("kits")) {
+ ConfigurationSection section = yaml.getConfig().getConfigurationSection("kits");
+ if (section != null) {
+ kits.addAll(section.getKeys(false));
+ }
+ }
+
+ return kits;
+ }
+
+ // Save a kit
+ public void saveKit(String name, String kitBase64) {
+ yaml.set("kits." + name, kitBase64);
+ }
+}
diff --git a/src/main/java/com/softwarerat/Main.java b/src/main/java/com/softwarerat/Main.java
index 49ee535..86c49ba 100644
--- a/src/main/java/com/softwarerat/Main.java
+++ b/src/main/java/com/softwarerat/Main.java
@@ -1,19 +1,26 @@
package com.softwarerat;
import com.softwarerat.KitAPi.KitAPI;
-import com.softwarerat.SQL.KitManager;
-import com.softwarerat.SQL.SQLHandler;
-import lombok.Getter;
+import com.softwarerat.KitAPi.KitManager;
+import com.softwarerat.KitAPi.Yaml;
+import com.softwarerat.KitAPi.YamlHandler;
+import lombok.Getter;
+ @Getter
public class Main {
-@Getter
-KitAPI kitAPI;
-SQLHandler sqlHandler;
-KitManager kitManager;
-public void enableAPI(String host,String user,String password,String Database){
- kitManager = new KitManager(sqlHandler);
- sqlHandler= new SQLHandler(kitManager,host,user,password,Database);
-kitAPI = new KitAPI(sqlHandler,kitManager);
-}
+
+ Yaml yaml;
+ YamlHandler yamlHandler;
+ KitAPI kitAPI;
+ KitManager kitManager;
+
+ public void enableAPI(String yamlPath, String yamlFileName) {
+
+ yaml = new Yaml(yamlPath, yamlFileName);
+ yamlHandler = new YamlHandler(yamlPath);
+ kitManager = new KitManager(yamlHandler);
+
+ kitAPI = new KitAPI( yamlHandler, kitManager);
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/softwarerat/SQL/SQLHandler.java b/src/main/java/com/softwarerat/SQL/SQLHandler.java
deleted file mode 100644
index 377f04a..0000000
--- a/src/main/java/com/softwarerat/SQL/SQLHandler.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.softwarerat.SQL;
-
-import de.mint.asyncmysqlpoolhandler.configservice.ConfigBuilder;
-import de.mint.asyncmysqlpoolhandler.configservice.ConfigPoolFramework;
-import de.mint.asyncmysqlpoolhandler.enumservice.EnumPoolFramework;
-import de.mint.asyncmysqlpoolhandler.mainservice.AsyncMySQLPoolHandler;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.concurrent.ExecutionException;
-
-public class SQLHandler {
-
-
- private final AsyncMySQLPoolHandler MySQLPoolHandler;
- private final ConfigPoolFramework configPoolFramework = ConfigBuilder.getConfigBuilder().build();
-
- public SQLHandler(KitManager kitManager, String hostname, String user, String pw, String DB) {
-
- this.MySQLPoolHandler = new AsyncMySQLPoolHandler(hostname, user, pw, DB, EnumPoolFramework.HIKARICP, configPoolFramework);
- this.openConnection();
- }
-
- private void openConnection() {
- this.MySQLPoolHandler.openPool();
- }
-
- // Basic SQL Things
- private ResultSet executeQuery(String sql) throws ExecutionException, InterruptedException {
- return this.MySQLPoolHandler.executeQueryAsync(sql).get();
- }
-
- private void executeUpdate(String sql) throws ExecutionException, InterruptedException {
- this.MySQLPoolHandler.executeUpdateAsync(sql).get();
- }
- public String loadKit(String KitName) {
- System.out.println("Loading Kit");
- ResultSet resultSet = null;
- try {
- resultSet = this.executeQuery("SELECT * FROM kit WHERE KitName = '" + KitName + "';");
- } catch (ExecutionException e) {
- throw new RuntimeException(e);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- if (resultSet != null) {
- try {
- resultSet.next();
- return resultSet.getString("KitData");
- } catch (SQLException e) {
- throw new RuntimeException(e);
- }
- }
- System.out.println("Loaded Kit");
- return null;
- }
- public ArrayList getKits() {
- ArrayList kits = new ArrayList();
- ResultSet resultSet = null;
- try {
- resultSet = this.executeQuery("SELECT * FROM kit");
- } catch (ExecutionException e) {
- throw new RuntimeException(e);
- } catch (InterruptedException e) {
- throw new RuntimeException(e);
- }
- if (resultSet != null) {
- try {
- while (resultSet.next()) {
- kits.add(resultSet.getString("KitName"));
- }
- } catch (SQLException e) {
- throw new RuntimeException(e);
- }
- }
- return kits;
- }
- public void saveKit(String name, String data) throws ExecutionException, InterruptedException {
- System.out.println("Adding Kit");
- System.out.println("Kit Meta:/n " + data);
- System.out.println(data);
- // this.executeUpdate("DELETE FROM kit WHERE KitName = '" + name + "'");
- this.executeUpdate("INSERT INTO kit (KitName, KitData) VALUES ('" + name + "','" + data + "');");
- System.out.println("erfolgreich.");
- }
-}