diff --git a/pom.xml b/pom.xml
index 657d0bb..e2d61b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
Raxen
- 1.16
+ 1.17
UTF-8
@@ -30,8 +30,8 @@
maven-compiler-plugin
3.8.1
-
- 16
+
+ 17
@@ -94,7 +94,7 @@
io.papermc.paper
paper-api
- 1.17.1-R0.1-SNAPSHOT
+ 1.18.1-R0.1-SNAPSHOT
provided
@@ -119,13 +119,13 @@
de.tr7zw
nbt-data-api
- 2.8.0
+ 2.9.0-SNAPSHOT
compile
de.tr7zw
nbt-injector
- 2.8.0
+ 2.9.0-SNAPSHOT
compile
diff --git a/src/main/java/gq/unurled/raxen/Raxen.java b/src/main/java/gq/unurled/raxen/Raxen.java
index 261cedd..0659416 100644
--- a/src/main/java/gq/unurled/raxen/Raxen.java
+++ b/src/main/java/gq/unurled/raxen/Raxen.java
@@ -21,7 +21,7 @@ public final class Raxen extends JavaPlugin {
private static final String prefix = ChatColor.AQUA + "Rx" + ChatColor.LIGHT_PURPLE + "> ";
@Getter
- private static final String version = "0.0.1";
+ private static final String version = "0.0.2";
private final PluginManager pm = getServer().getPluginManager();
@Getter
@@ -117,4 +117,8 @@ public final class Raxen extends JavaPlugin {
public static PlayerConfig getPlayerConfig() {
return playerConfig;
}
+
+ public static Config getConf() {
+ return config;
+ }
}
diff --git a/src/main/java/gq/unurled/raxen/commands/RaxenCommand.java b/src/main/java/gq/unurled/raxen/commands/RaxenCommand.java
new file mode 100644
index 0000000..cb3b668
--- /dev/null
+++ b/src/main/java/gq/unurled/raxen/commands/RaxenCommand.java
@@ -0,0 +1,79 @@
+package gq.unurled.raxen.commands;
+
+import gq.unurled.raxen.Raxen;
+import net.kyori.adventure.text.Component;
+import net.kyori.adventure.text.TextComponent;
+import net.kyori.adventure.text.event.ClickEvent;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
+import org.bukkit.command.TabExecutor;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.List;
+
+import static gq.unurled.raxen.utils.Utils.color;
+import static gq.unurled.raxen.utils.Utils.msgPlayer;
+
+public class RaxenCommand implements TabExecutor {
+
+ private Raxen main;
+
+ public RaxenCommand(Raxen main) {
+ this.main = main;
+ }
+
+ @Override
+ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command cmd, @NotNull String msg, @NotNull String[] args) {
+ if(sender instanceof Player) {
+ Player player = (Player) sender;
+ if(!(player.hasPermission("raxen."))) {
+ msgPlayer(player, Raxen.getPrefix() + color("&cYou can't execute this command. Insufficient permission."));
+ }
+ switch (args.length) {
+ case 0:
+ msgPl(player, 0);
+ case 1:
+ switch (args[0]) {
+ case "mongodb":
+ case "mongo":
+ case "MONGODB":
+ case "MONGO":
+ //print info about connection
+ case "v":
+ case "version":
+ case "ver":
+ //print case 0?
+ case "hemlp":
+ case "?":
+ case "h":
+ //print plugin help
+ }
+ }
+ }
+ return false;
+ }
+
+ public void msgPl(Player player, Integer in) {
+ switch(in) {
+ case 0:
+ msgPlayer(player, Raxen.getPrefix() + color("&6Printing About Raxen..."),
+ color("&6---------------------------------------------"),
+ color("&3 Raxen "),
+ color("&3 - Version: " + Raxen.getVersion()),
+ color("&3 - Author: &l&cU&6n&eu&2r&al&be&3d&r"),
+ color("&3 - Website: https://unurled.gq"));
+ TextComponent txt = Component.text(color("&3 - Website: https://unurled.gq"));
+ txt.clickEvent(ClickEvent.openUrl("https://unurled.gq"));
+ player.sendMessage(txt);
+ msgPlayer(player, "", color("&6---------------------------------------------"));
+ }
+ }
+
+ @Override
+ public @Nullable List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) {
+ return null;
+ }
+}
diff --git a/src/main/java/gq/unurled/raxen/config/PlayerConfig.java b/src/main/java/gq/unurled/raxen/config/PlayerConfig.java
index 3dbf118..e1093c8 100644
--- a/src/main/java/gq/unurled/raxen/config/PlayerConfig.java
+++ b/src/main/java/gq/unurled/raxen/config/PlayerConfig.java
@@ -27,6 +27,7 @@ import java.util.ArrayList;
import java.util.List;
import static gq.unurled.raxen.utils.Utils.log;
+import static gq.unurled.raxen.utils.Utils.warn;
public class PlayerConfig {
@@ -40,6 +41,7 @@ public class PlayerConfig {
this.main = main;
this.sto = main.getStorageManager();
this.mongoDB = sto.getMongo();
+ this.mongoDB.connect();
this.mongoCollection = mongoDB.getMongoCollection();
this.profileManager = main.getProfileManager();
}
@@ -183,14 +185,14 @@ public class PlayerConfig {
}
public void loadPlayerConfig(Player player) {
- switch(sto.getCurrently()) {
- case "MONGODB":
- loadUsingMongoDB(player);
- case "MYSQL":
- case "YML":
- loadUsingYml(player);
+ if (StorageManager.getCurrently().equals("MONGODB")) {
+ loadUsingMongoDB(player);
+ warn("'" + StorageManager.getCurrently()+ "'");
+ }
+ else {
+ warn("'" + StorageManager.getCurrently()+ "'");
+ loadUsingYml(player);
}
-
log("Player: " + player.getName() + " data successfully loaded!");
}
diff --git a/src/main/java/gq/unurled/raxen/manager/CommandManager.java b/src/main/java/gq/unurled/raxen/manager/CommandManager.java
index c83d315..6a0d832 100644
--- a/src/main/java/gq/unurled/raxen/manager/CommandManager.java
+++ b/src/main/java/gq/unurled/raxen/manager/CommandManager.java
@@ -1,6 +1,7 @@
package gq.unurled.raxen.manager;
import gq.unurled.raxen.Raxen;
+import gq.unurled.raxen.commands.RaxenCommand;
import gq.unurled.raxen.commands.admin.NbtCommand;
import gq.unurled.raxen.commands.admin.ReloadCommand;
import gq.unurled.raxen.commands.admin.TestGuiCommand;
@@ -37,6 +38,10 @@ public class CommandManager {
SkillsCommand skillsCommand = new SkillsCommand(main);
main.getCommand("skills").setTabCompleter(skillsCommand);
main.getCommand("skills").setExecutor(skillsCommand);
+
+ RaxenCommand raxenCommand = new RaxenCommand(main);
+ main.getCommand("raxen").setTabCompleter(raxenCommand);
+ main.getCommand("raxen").setExecutor(raxenCommand);
}
}
diff --git a/src/main/java/gq/unurled/raxen/manager/StorageManager.java b/src/main/java/gq/unurled/raxen/manager/StorageManager.java
index 6f31789..a7896e1 100644
--- a/src/main/java/gq/unurled/raxen/manager/StorageManager.java
+++ b/src/main/java/gq/unurled/raxen/manager/StorageManager.java
@@ -2,6 +2,7 @@ package gq.unurled.raxen.manager;
import gq.unurled.raxen.Raxen;
import gq.unurled.raxen.utils.MongoDB;
+import gq.unurled.raxen.utils.Mysql;
import lombok.Getter;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.FileConfiguration;
@@ -12,8 +13,7 @@ import java.io.File;
import java.io.IOException;
import java.util.stream.IntStream;
-import static gq.unurled.raxen.utils.Utils.error;
-import static gq.unurled.raxen.utils.Utils.log;
+import static gq.unurled.raxen.utils.Utils.*;
public class StorageManager {
@@ -24,37 +24,49 @@ public class StorageManager {
private static MongoDB mongo;
@Getter
private static String currently;
+ @Getter
+ private static Mysql mysql;
public StorageManager(Raxen main) {
this.main = main.getPlugin();
this.config = main.getConfig();
+ this.mongo = new MongoDB();
+ this.connect();
}
public static void connect() {
String s = (String) config.get("storage");
- switch(s) {
- case "MONGODB":
- mongo.connect();
- currently = s;
- case "MYSQL":
- error("Currently not implemented, switching to YML");
- currently = "YML";
- case "YML":
- currently = s;
+ log(s);
+ if(s.equalsIgnoreCase("MONGODB")) {
+ mongo.connect();
+ currently = "MONGODB";
+ warn("'" + s + "'");
+ }
+
+ if(s.equalsIgnoreCase("MYSQL")) {
+ error("Currently not implemented, switching to YML");
+ currently = "YML";
+ warn("'" + s + "'");
+ }
+ else {
+ currently = "YML";
+ warn("'" + s + "'");
}
}
- public static FileConfiguration createYml(Player player) {
- String name = player.getName();
+ public static void disconnect() {
+ mysql.disconnect();
+ }
+ public static FileConfiguration createYml(Player player) {
File customFile;
FileConfiguration customConfig;
- log(main.getDataFolder() + "/" + player.getUniqueId() + "custom.yml");
- customFile = new File(main.getDataFolder() + "/" + player.getUniqueId(), "playerInfo.yml");
+ log(main.getDataFolder() + "/playerInfo/" + player.getUniqueId() + "/playerInfo.yml");
+ customFile = new File(main.getDataFolder() + "/playerInfo/" + player.getUniqueId(), "/playerInfo.yml");
if (!customFile.exists()) {
customFile.getParentFile().mkdirs();
- main.saveResource("playerInfo.yml", false);
+ main.saveResource(main.getDataFolder() + "/playerInfo/" + player.getUniqueId() + "/playerInfo.yml", false);
}
customConfig = new YamlConfiguration();
diff --git a/src/main/java/gq/unurled/raxen/utils/MongoDB.java b/src/main/java/gq/unurled/raxen/utils/MongoDB.java
index 40c78dd..cafda42 100644
--- a/src/main/java/gq/unurled/raxen/utils/MongoDB.java
+++ b/src/main/java/gq/unurled/raxen/utils/MongoDB.java
@@ -18,14 +18,10 @@ public class MongoDB {
@Getter
private MongoCollection mongoCollection;
- public MongoDB() {
- this.connect();
- }
-
public void connect() {
ConnectionString connectionString = new ConnectionString("mongodb://localhost:27017");
mongoClient = MongoClients.create(connectionString);
- mongoDatabase = mongoClient.getDatabase("Elixium");
+ mongoDatabase = mongoClient.getDatabase("Raxen");
mongoCollection = mongoDatabase.getCollection("player");
Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "MongoDB connected!");
diff --git a/src/main/java/gq/unurled/raxen/utils/Mysql.java b/src/main/java/gq/unurled/raxen/utils/Mysql.java
new file mode 100644
index 0000000..2fe9303
--- /dev/null
+++ b/src/main/java/gq/unurled/raxen/utils/Mysql.java
@@ -0,0 +1,46 @@
+package gq.unurled.raxen.utils;
+
+import gq.unurled.raxen.Raxen;
+import gq.unurled.raxen.config.Config;
+import gq.unurled.raxen.manager.StorageManager;
+import org.bukkit.entity.Player;
+
+import java.sql.*;
+
+public class Mysql {
+
+ private static String username;
+ private static String password;
+ private static String url;
+
+ private Raxen main;
+ private StorageManager sto;
+ private Config config;
+
+ public Mysql(Raxen main) {
+ this.main = main;
+ this.sto = main.getStorageManager();
+ this.config = main.getConf();
+ this.username = (String) config.getConfig().get("username");
+ this.url = (String) config.getConfig().get("url");
+ this.password = (String) config.getConfig().get("password");
+
+ }
+
+ public static void init() {
+
+ }
+
+ public static String get(Player player, String str) throws SQLException {
+ return "False";
+ }
+
+ public static void connect() {
+
+ }
+
+ public static void disconnect() {
+
+ }
+
+}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 6c9ed9e..b6dd464 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -2,4 +2,8 @@ version: "${project.version}"
motd: "YAY, Super server!"
motd-reload: "Server reloading!"
-storage: "MONGODB" #switch between "MONGODB", "MYSQL"(not implemented), "YML"(currzently making it)
\ No newline at end of file
+storage: "MONGODB" #switch between "MONGODB", "MYSQL"(not implemented), "YML"(currzently making it)
+#if MYSQL
+username: "Your-username-here"
+password: "Your-password-here"
+url: "url-to-the-server/db_Name"
\ No newline at end of file
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 3d450cd..26be3b5 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -3,6 +3,7 @@ version: '${project.version}'
main: gq.unurled.raxen.Raxen
api-version: 1.17
depend: [ProtocolLib]
+softdepend: [AureliumSkills, LuckPerms]
commands:
reloadplugin:
@@ -20,6 +21,8 @@ commands:
description: acces player storage
nbt:
description: nbt command
+ raxen:
+ description: raxen main command
permissions:
raxen.reload.cmd:
@@ -27,4 +30,7 @@ permissions:
raxen.test.gui.cmd:
description: testgui command permission
raxen.nbt.cmd:
- description: nbt command permission
\ No newline at end of file
+ description: nbt command permission
+ permission:
+ raxen.raxen.cmd:
+ description: raxen command permssion
\ No newline at end of file