diff --git a/.gitignore b/.gitignore index ac1abf2..9470ce0 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,6 @@ api/ libs/ *.iml -gradle-wrapper.properties -gradle/ .gradle/ *.lock diff --git a/build.gradle b/build.gradle index bca1474..1316f14 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ plugins { id 'java' id 'maven-publish' id "com.github.johnrengelman.shadow" version "7.1.2" - id("io.papermc.paperweight.userdev") version "1.3.5" + id "io.papermc.paperweight.userdev" version "1.3.5" } apply plugin: "java" @@ -42,6 +42,12 @@ repositories { maven { url = uri('https://repo.maven.apache.org/maven2/') } + maven { + url = 'https://repo.extendedclip.com/content/repositories/placeholderapi/' + } + maven { + url = 'https://repo.citizensnpcs.co/' + } mavenCentral() } @@ -65,12 +71,14 @@ dependencies { compileOnly 'net.essentialsx:EssentialsX:2.19.4' compileOnly 'com.fastasyncworldedit:FastAsyncWorldEdit-Core:2.0.1' compileOnly 'com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit:2.0.1' + compileOnly 'me.clip:placeholderapi:2.11.1' + compileOnly 'net.citizensnpcs:citizens-main:2.0.29-SNAPSHOT' compileOnly fileTree(dir: 'libs', include: '*.jar') paperweightDevelopmentBundle("io.papermc.paper:dev-bundle:1.18.2-R0.1-SNAPSHOT") } group = 'gq.unurled' -version = '0.4.6' +version = '0.4.8' description = 'Raxen' java.sourceCompatibility = JavaVersion.VERSION_17 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..7454180 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/src/main/java/gq/unurled/raxen/Raxen.java b/src/main/java/gq/unurled/raxen/Raxen.java index a8345bf..9fadbf0 100644 --- a/src/main/java/gq/unurled/raxen/Raxen.java +++ b/src/main/java/gq/unurled/raxen/Raxen.java @@ -4,24 +4,22 @@ import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.ProtocolManager; import gq.unurled.raxen.config.Config; import gq.unurled.raxen.config.PlayerConfig; -import gq.unurled.raxen.manager.*; -import gq.unurled.raxen.utils.LuckPerm; +import gq.unurled.raxen.manager.Manager; import gq.unurled.raxen.utils.Reload; -import gq.unurled.raxen.utils.Vault; import lombok.Getter; -import net.kyori.adventure.text.TextComponent; +import org.bukkit.Bukkit; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import java.util.logging.Logger; -import static gq.unurled.raxen.utils.Utils.colorTextComp; +import static gq.unurled.raxen.utils.Utils.colorComp; public final class Raxen extends JavaPlugin { - private static final TextComponent prefix = colorTextComp("Rx> "); + private static final String prefix = "Rx> "; @Getter - private static String version = "0.4.7"; + private static String version = "0.4.8"; private final PluginManager pm = getServer().getPluginManager(); private static Raxen plugin; @@ -29,87 +27,59 @@ public final class Raxen extends JavaPlugin { private static Logger logger; private static Config config; - private static WorldManager worldManager; - @Getter - private static StorageManager storageManager; - private static PlayerManager playerManager; private static PlayerConfig playerConfig; - private static ListenerManager listenerManager; - @Getter - private static CommandManager commandManager; - @Getter - private gq.unurled.raxen.manager.ProtocolManager protoManager; - @Getter - private ItemManager itemManager; - @Getter - private ResourcePackManager resourcePackManager; - @Getter - private LootManager lootManager; - @Getter private ProtocolManager protocolManager; + @Getter - public LuckPerm luckPerm; - @Getter - public Vault vault; + private Manager manager; @Override public void onEnable() { plugin = this; logger = getLogger(); version = plugin.getDescription().getVersion(); + manager = new Manager(); + manager.set(plugin); - //Config and storage sruff - config = new Config(this); - worldManager = new WorldManager(this); - storageManager = new StorageManager(this); + // Config + config = new Config(plugin); - //Managers - itemManager = new ItemManager(this); - playerManager = new PlayerManager(this); - listenerManager = new ListenerManager(this); - commandManager = new CommandManager(this); protocolManager = ProtocolLibrary.getProtocolManager(); - protoManager = new gq.unurled.raxen.manager.ProtocolManager(this); - resourcePackManager = new ResourcePackManager(this); - lootManager = new LootManager(this); - playerConfig = new PlayerConfig(this); - luckPerm = new LuckPerm(this); - luckPerm.register(); - vault = new Vault(this); + playerConfig = new PlayerConfig(plugin); //register Commands and Events registerCommands(); registerEvents(); - getServer().getConsoleSender().sendMessage(colorTextComp(prefix +"Server Started Successfully!")); + Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Server Started Successfully!")); - listenerManager.getServerPingEvent().setLoading(false); + manager.getListenerManager().getServerPingEvent().setLoading(false); } private void registerCommands() { - commandManager.register(); + manager.getCommandManager().register(); - getServer().getConsoleSender().sendMessage(colorTextComp(prefix +"Commands Registered!")); + Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Commands Registered!")); } private void registerEvents() { - listenerManager.register(); + manager.getListenerManager().register(); - getServer().getConsoleSender().sendMessage(colorTextComp(prefix +"Events Registered!")); + Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Events Registered!")); } @Override public void onDisable() { - listenerManager.getServerPingEvent().setLoading(true); + manager.getListenerManager().getServerPingEvent().setLoading(true); Reload.kickAll(); playerConfig.close(); - getServer().getConsoleSender().sendMessage(colorTextComp(prefix +"Server Stopped Successfully!")); + Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Server Stopped Successfully!")); } public static Logger getPluginLogger() { @@ -124,14 +94,10 @@ public final class Raxen extends JavaPlugin { return plugin; } - public static TextComponent getPrefix() { + public static String getPrefix() { return prefix; } - public static PlayerManager getPlayerManager() { - return playerManager; - } - public static PlayerConfig getPlayerConfig() { return playerConfig; } diff --git a/src/main/java/gq/unurled/raxen/commands/RaxenCommand.java b/src/main/java/gq/unurled/raxen/commands/RaxenCommand.java index b451fa3..b9ae606 100644 --- a/src/main/java/gq/unurled/raxen/commands/RaxenCommand.java +++ b/src/main/java/gq/unurled/raxen/commands/RaxenCommand.java @@ -1,8 +1,7 @@ package gq.unurled.raxen.commands; import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.manager.StorageManager; -import net.kyori.adventure.text.Component; +import gq.unurled.raxen.manager.entity.StorageManager; import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.event.ClickEvent; import org.bukkit.command.Command; @@ -29,7 +28,7 @@ public class RaxenCommand implements TabExecutor { if(sender instanceof Player) { Player player = (Player) sender; if(!(player.hasPermission("raxen."))) { - msgPlayer(player, Raxen.getPrefix().append(colorTextComp("You can't execute this command. Insufficient permission."))); + msgPlayer(player, coloredString(Raxen.getPrefix()) + colorTextComp("You can't execute this command. Insufficient permission.")); } switch (args.length) { case 0 -> msgPl(player, 0); @@ -37,13 +36,13 @@ public class RaxenCommand implements TabExecutor { switch (args[0]) { case "mongodb", "mongo", "MONGODB", "MONGO" -> { //print info about connection - sender.sendMessage(Raxen.getPrefix().append(colorTextComp("Printing About Raxen's MongoDB connection..."))); - msgPlayer(player, Raxen.getPrefix() - .append(colorTextComp("---------------------------------------------"))); + sender.sendMessage(coloredString(Raxen.getPrefix()) + colorTextComp("Printing About Raxen's MongoDB connection...")); + msgPlayer(player, coloredString(Raxen.getPrefix()) + + colorTextComp("---------------------------------------------")); msgPlayer(player, colorTextComp("MONGO DB")); - msgPlayer(player, StorageManager.getMongo().getMongoClient().getClusterDescription().toString()); - msgPlayer(player, StorageManager.getMongo().getMongoDatabase().getName()); - msgPlayer(player, StorageManager.getMongo().getMongoCollection().getNamespace().toString()); + msgPlayer(player, StorageManager.getMongodb().getMongoClient().getClusterDescription().toString()); + msgPlayer(player, StorageManager.getMongodb().getMongoDatabase().getName()); + msgPlayer(player, StorageManager.getMongodb().getMongoCollection().getNamespace().toString()); msgPlayer(player, "---------------------------------------------"); } case "v", "version", "ver" -> { @@ -60,37 +59,37 @@ public class RaxenCommand implements TabExecutor { log(String.valueOf(args.length)); switch (args.length) { case 0 -> { - msgSender(sender, Raxen.getPrefix() + colorString("Printing About Raxen..."), - colorString("---------------------------------------------"), - colorString(" Raxen "), - colorString(" - Version: " + Raxen.getVersion()), - colorString(" - Author: Un&eurled")); - TextComponent txt = Component.text(colorString(" - Website: https://unurled.gq")); + msgSender(sender, Raxen.getPrefix() + "Printing About Raxen...", + "---------------------------------------------", + " Raxen ", + " - Version: " + Raxen.getVersion(), + " - Author: Unurled"); + TextComponent txt = colorTextComp(" - Website: https://unurled.gq"); sender.sendMessage(txt); - sender.sendMessage(colorString("---------------------------------------------")); + sender.sendMessage(coloredString("---------------------------------------------")); return true; } case 1 -> { switch (args[0]) { case "mongodb", "mongo", "MONGODB", "MONGO" -> { //print info about connection - sender.sendMessage(Raxen.getPrefix() + colorString("Printing About Raxen's MongoDB connection...")); - sender.sendMessage(colorString("---------------------------------------------"), colorString("MONGO DB")); - sender.sendMessage(StorageManager.getMongo().getMongoClient().getClusterDescription().toString()); - sender.sendMessage(StorageManager.getMongo().getMongoDatabase().getName()); - sender.sendMessage(StorageManager.getMongo().getMongoCollection().getNamespace().toString()); - sender.sendMessage(colorString("---------------------------------------------")); + msgSender(sender, Raxen.getPrefix() + "Printing About Raxen's MongoDB connection...", + "---------------------------------------------" + "MONGO DB"); + sender.sendMessage(StorageManager.getMongodb().getMongoClient().getClusterDescription().toString()); + sender.sendMessage(StorageManager.getMongodb().getMongoDatabase().getName()); + sender.sendMessage(StorageManager.getMongodb().getMongoCollection().getNamespace().toString()); + sender.sendMessage(coloredString("---------------------------------------------")); return true; } case "v", "version", "ver" -> { - sender.sendMessage(Raxen.getPrefix() + colorString("Printing About Raxen..."), - colorString("---------------------------------------------"), - colorString(" Raxen "), - colorString(" - Version: " + Raxen.getVersion()), - colorString(" - Author: Un&eurled")); - TextComponent txt= Component.text(colorString(" - Website: https://unurled.gq")); + msgSender(sender, Raxen.getPrefix() + "Printing About Raxen...", + "---------------------------------------------", + " Raxen ", + " - Version: " + Raxen.getVersion(), + " - Author: Un&eurled"); + TextComponent txt=colorTextComp(" - Website: https://unurled.gq"); sender.sendMessage(txt); - sender.sendMessage(colorString("---------------------------------------------")); + sender.sendMessage(coloredString("---------------------------------------------")); return true; } case "hemlp", "?", "h" -> diff --git a/src/main/java/gq/unurled/raxen/commands/admin/NbtCommand.java b/src/main/java/gq/unurled/raxen/commands/admin/NbtCommand.java index 1691a9f..0d78ab0 100644 --- a/src/main/java/gq/unurled/raxen/commands/admin/NbtCommand.java +++ b/src/main/java/gq/unurled/raxen/commands/admin/NbtCommand.java @@ -18,8 +18,8 @@ import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.List; +import static gq.unurled.raxen.components.player.PlayerUtils.updateSkills; import static gq.unurled.raxen.utils.Items.attributes; -import static gq.unurled.raxen.utils.Skills.updateSkills; import static gq.unurled.raxen.utils.Utils.*; public class NbtCommand implements TabExecutor { @@ -38,11 +38,11 @@ public class NbtCommand implements TabExecutor { } Player player = (Player) sender; if(player.getInventory().getItemInMainHand().getType() == Material.AIR || player.getInventory().getItemInMainHand() == null) { - msgPlayer(player,colorString("You must hold an Item in hand.")); + msgPlayer(player,colorTextComp("You must hold an Item in hand.")); return true; } switch (args.length) { - case 0, 1 -> msgPlayer(player, colorString("You must specify an nbt and an int.")); + case 0, 1 -> msgPlayer(player, colorTextComp("You must specify an nbt and an int.")); case 2 -> { debug(main, "'" + args[0] + "'", "'" + args[1] + "'"); ItemStack it = player.getInventory().getItemInMainHand(); @@ -70,8 +70,8 @@ public class NbtCommand implements TabExecutor { } } if (!ever) { - lore.add(Component.text(colorString("Attributes:"))); - lore.add(Component.text(colorString(attributes(args[0]) + ": " + (Integer.parseInt(args[1]) + a)))); + lore.add(colorTextComp("Attributes:")); + lore.add(colorTextComp(attributes(args[0]) + ": " + (Integer.parseInt(args[1]) + a))); } itm.lore(lore); it.setItemMeta(itm); @@ -90,7 +90,7 @@ public class NbtCommand implements TabExecutor { attributes.addStrength(player, nbti.getInteger("STRENGTH")); } it = nbti.getItem(); - msgPlayer(player, Raxen.getPrefix() + colorString("You successfully added the nbt " + attributes(args[0]) + "with " + args[1] + ".")); + msgPlayer(player, colorTextComp(Raxen.getPrefix() + "You successfully added the nbt " + attributes(args[0]) + "with " + args[1] + ".")); updateSkills(main, player); player.getInventory().setItem(player.getInventory().getHeldItemSlot(), it); } diff --git a/src/main/java/gq/unurled/raxen/commands/player/SkillsCommand.java b/src/main/java/gq/unurled/raxen/commands/player/SkillsCommand.java index c0e48b9..7cc65a0 100644 --- a/src/main/java/gq/unurled/raxen/commands/player/SkillsCommand.java +++ b/src/main/java/gq/unurled/raxen/commands/player/SkillsCommand.java @@ -1,6 +1,7 @@ package gq.unurled.raxen.commands.player; import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.player.PlayerUtils; import gq.unurled.raxen.components.player.attributes.Attributes; import org.bukkit.Bukkit; import org.bukkit.command.Command; @@ -101,7 +102,7 @@ public class SkillsCommand implements TabExecutor { } break; } - gq.unurled.raxen.utils.Skills.updateSkills(main, player); + PlayerUtils.updateSkills(main, player); } return false; } diff --git a/src/main/java/gq/unurled/raxen/commands/player/StorageCommand.java b/src/main/java/gq/unurled/raxen/commands/player/StorageCommand.java index 6a3faf7..a481a94 100644 --- a/src/main/java/gq/unurled/raxen/commands/player/StorageCommand.java +++ b/src/main/java/gq/unurled/raxen/commands/player/StorageCommand.java @@ -1,7 +1,7 @@ package gq.unurled.raxen.commands.player; import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.manager.PlayerManager; +import gq.unurled.raxen.manager.entity.PlayerManager; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -17,7 +17,7 @@ import static gq.unurled.raxen.utils.Utils.*; public class StorageCommand implements TabExecutor { - private PlayerManager playerManager = Raxen.getPlayerManager(); + private PlayerManager playerManager; @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { @@ -27,6 +27,7 @@ public class StorageCommand implements TabExecutor { } Player player = (Player) sender; Inventory inv; + playerManager = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); switch (args.length) { case 0: if(playerManager.getRaxenPlayer(player).getStorage() == null) { diff --git a/src/main/java/gq/unurled/raxen/components/entity/EntityUtils.java b/src/main/java/gq/unurled/raxen/components/entity/EntityUtils.java index 098d447..45751bf 100644 --- a/src/main/java/gq/unurled/raxen/components/entity/EntityUtils.java +++ b/src/main/java/gq/unurled/raxen/components/entity/EntityUtils.java @@ -4,6 +4,7 @@ import gq.unurled.raxen.Raxen; import org.bukkit.entity.LivingEntity; import org.bukkit.persistence.PersistentDataContainer; import org.bukkit.persistence.PersistentDataType; +import org.jetbrains.annotations.NotNull; import static gq.unurled.raxen.utils.Utils.debug; @@ -17,7 +18,7 @@ public class EntityUtils { namespacedKey = new EntityNamespacedKey(main); } - public static void setNameSpacedKeys(org.bukkit.entity.Entity e, String name, Integer level, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemDmg) { + public static void setNameSpacedKeys(org.bukkit.entity.@NotNull Entity e, String name, Integer level, int health, int itemHealth, int defense, int itemDefense, int speed, int itemSpeed, int strength, int itemDmg) { PersistentDataContainer data = e.getPersistentDataContainer(); data.set(namespacedKey.healthKey, PersistentDataType.INTEGER, health); data.set(namespacedKey.itemHealthKey, PersistentDataType.INTEGER, itemHealth); @@ -31,7 +32,7 @@ public class EntityUtils { data.set(namespacedKey.levelKey, PersistentDataType.INTEGER, level); } - public static void updateSkills(LivingEntity livingEntity) { + public static void updateSkills(@NotNull LivingEntity livingEntity) { Attributes attributes = new Attributes(main); int health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg; org.bukkit.entity.Entity e = livingEntity; diff --git a/src/main/java/gq/unurled/raxen/components/entity/RaxenEntity.java b/src/main/java/gq/unurled/raxen/components/entity/RaxenEntity.java index f754be8..8c240a7 100644 --- a/src/main/java/gq/unurled/raxen/components/entity/RaxenEntity.java +++ b/src/main/java/gq/unurled/raxen/components/entity/RaxenEntity.java @@ -1,6 +1,8 @@ package gq.unurled.raxen.components.entity; import gq.unurled.raxen.Raxen; +import lombok.Getter; +import lombok.Setter; import net.kyori.adventure.text.Component; import org.bukkit.Location; import org.bukkit.NamespacedKey; @@ -13,9 +15,15 @@ public class RaxenEntity { private final Raxen main; + @Getter private final String name; + @Getter private Integer level; + @Getter + @Setter private Double health; + @Getter + @Setter private Double strength; public RaxenEntity(Raxen main, String name, Integer level, Double health, Double strength) { @@ -39,4 +47,10 @@ public class RaxenEntity { data.set(new NamespacedKey(main ,"NAME"), PersistentDataType.STRING, name); } + public Double getMaxHealth(Entity e) { + PersistentDataContainer data = e.getPersistentDataContainer(); + EntityNamespacedKey key = new EntityNamespacedKey(main); + return data.get(key.maxHealth, PersistentDataType.DOUBLE); + } + } diff --git a/src/main/java/gq/unurled/raxen/components/entity/custom/Entity.java b/src/main/java/gq/unurled/raxen/components/entity/custom/Entity.java new file mode 100644 index 0000000..e92bfc2 --- /dev/null +++ b/src/main/java/gq/unurled/raxen/components/entity/custom/Entity.java @@ -0,0 +1,68 @@ +package gq.unurled.raxen.components.entity.custom; + +import gq.unurled.raxen.Raxen; +import lombok.Getter; +import lombok.Setter; + +import static gq.unurled.raxen.utils.Utils.colorString; + +public class Entity { + + private final String name; + @Getter + private Integer level; + @Setter + private Double health; + @Getter + @Setter + private Double strength; + @Getter + @Setter + private Double defense; + @Getter + @Setter + private Double speed; + @Getter + @Setter + private Double maxHealth; + @Getter + @Setter + private boolean isHostile; + + public Entity(String name, Integer level, Double maxHealth, Double strength, Double defense, Double speed, boolean isHostile) { + this.name = name; + this.level = level; + this.health = maxHealth; + this.strength = strength; + this.defense = defense; + this.speed = speed; + this.maxHealth = maxHealth; + this.isHostile = isHostile; + } + + public void register (Raxen main) { + main.getManager().getEntityManager().entities.put(name, this); + } + + public String getName() { + return "" + name; + } + + public String getFullName(Entity e) { + if (isHostile) { + return colorString(getColorLevel() + "⚔️" + getName() + "" + health + "/" + maxHealth); + } else { + return colorString(getColorLevel() + "❤️" + getName() + "" + health + "/" + maxHealth); + } + } + + public String getColorLevel() { + return level.toString(); + } + + public Double getHealth() { + Double health = 0.0; + + return health; + } +} diff --git a/src/main/java/gq/unurled/raxen/components/entity/custom/hostile/low/Goblin.java b/src/main/java/gq/unurled/raxen/components/entity/custom/hostile/low/Goblin.java new file mode 100644 index 0000000..8dd9e4c --- /dev/null +++ b/src/main/java/gq/unurled/raxen/components/entity/custom/hostile/low/Goblin.java @@ -0,0 +1,24 @@ +package gq.unurled.raxen.components.entity.custom.hostile.low; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.entity.RaxenEntity; +import gq.unurled.raxen.components.entity.custom.Entity; + +public class Goblin extends Entity { + + RaxenEntity goblin; + + public Goblin(Raxen main) { + super("Goblin", 1, 100.0, 10.0, 0.0, 50.0, true); + this.goblin = new RaxenEntity(main, "Goblin", 1, 100.0, 10.0); + register(main); + } + + public String getName() { + return "" + goblin.getName(); + } + + public String getFullName(Entity e) { + return "⚔️" + getName() + "" + getHealth() + "/" + getMaxHealth(); + } +} diff --git a/src/main/java/gq/unurled/raxen/components/gui/ItemListGui.java b/src/main/java/gq/unurled/raxen/components/gui/ItemListGui.java index a6012ac..e2ce168 100644 --- a/src/main/java/gq/unurled/raxen/components/gui/ItemListGui.java +++ b/src/main/java/gq/unurled/raxen/components/gui/ItemListGui.java @@ -1,6 +1,7 @@ package gq.unurled.raxen.components.gui; import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.player.PlayerUtils; import lombok.Getter; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; @@ -38,7 +39,7 @@ public class ItemListGui implements Listener { public ItemListGui(Raxen main) { this.main = main; - this.itlist = this.main.getItemManager().getList(); + this.itlist = this.main.getManager().getItemManager().getList(); this.inv = getInventories(); } @@ -215,7 +216,7 @@ public class ItemListGui implements Listener { //add to stash //} player.getInventory().addItem(e.getCurrentItem()); - gq.unurled.raxen.utils.Skills.updateSkills(main, player); + PlayerUtils.updateSkills(main, player); } } } diff --git a/src/main/java/gq/unurled/raxen/components/items/custom/weapon/Dager.java b/src/main/java/gq/unurled/raxen/components/items/custom/weapon/Dager.java index 64f624c..d67b344 100644 --- a/src/main/java/gq/unurled/raxen/components/items/custom/weapon/Dager.java +++ b/src/main/java/gq/unurled/raxen/components/items/custom/weapon/Dager.java @@ -47,7 +47,7 @@ public class Dager { * need Raxen main to be set before calling this method. */ public void register() { - main.getItemManager().registerItem(dager); + main.getManager().getItemManager().registerItem(dager); } } diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java b/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java index 745792e..8e9f05b 100644 --- a/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java +++ b/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java @@ -1,7 +1,7 @@ package gq.unurled.raxen.components.lootchest; import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.manager.PlayerManager; +import gq.unurled.raxen.manager.entity.PlayerManager; import lombok.Getter; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -13,7 +13,7 @@ public class GUI { private static PlayerManager playerManager; public GUI(Raxen main) { - this.playerManager = main.getPlayerManager(); + this.playerManager = main.getManager().getPlayerManager(); } public static Inventory addItems(Player player) { diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java b/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java index 1448be5..d7741bb 100644 --- a/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java +++ b/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java @@ -36,7 +36,7 @@ public class CustomLoot { } public void tryDropLoot(Location location) { - for (LootItem item : main.getLootManager().getLootTable()) { + for (LootItem item : main.getManager().getLootManager().getLootTable()) { item.tryDropItem(location); } } diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java b/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java index 991397c..da41a6d 100644 --- a/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java +++ b/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java @@ -6,7 +6,7 @@ import gq.unurled.raxen.components.lootchest.loots.CustomLoot; public class TestSword extends CustomLoot { public TestSword(Raxen main) { - this.itlist = main.getItemManager().getList(); + this.itlist = main.getManager().getItemManager().getList(); this.ID = "BEST_NEW_ITEM"; this.drop_rate = getDrop_rate(); this.item = registerItem(); diff --git a/src/main/java/gq/unurled/raxen/utils/Skills.java b/src/main/java/gq/unurled/raxen/components/player/PlayerUtils.java similarity index 93% rename from src/main/java/gq/unurled/raxen/utils/Skills.java rename to src/main/java/gq/unurled/raxen/components/player/PlayerUtils.java index 944bf61..34de72c 100644 --- a/src/main/java/gq/unurled/raxen/utils/Skills.java +++ b/src/main/java/gq/unurled/raxen/components/player/PlayerUtils.java @@ -1,29 +1,29 @@ -package gq.unurled.raxen.utils; - -import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.components.player.attributes.Attributes; -import org.bukkit.attribute.Attribute; -import org.bukkit.entity.Player; - -import static gq.unurled.raxen.utils.Utils.msgPlayer; - -public class Skills { - - public static void updateSkills(Raxen main, Player player) { - Attributes attributes = new Attributes(main); - int health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg; - health = attributes.getHealth(player); - itemHealth = attributes.getItemHealth(player); - defense = attributes.getDefense(player); - itemDefense = attributes.getItemDefense(player); - speed = attributes.getSpeed(player); - itemSpeed = attributes.getItemSpeed(player); - strength = attributes.getStrength(player); - itemDmg = attributes.getItemStrength(player); - player.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(20D + (health + itemHealth) / 100); - player.setWalkSpeed((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); - player.setFlySpeed((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); - msgPlayer(player, "Speed " + (speed + itemSpeed), "Health " + (health + itemHealth), "Defense " + (defense+itemDefense), "Strength " + (strength+itemDmg)); - } - -} +package gq.unurled.raxen.components.player; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.player.attributes.Attributes; +import org.bukkit.attribute.Attribute; +import org.bukkit.entity.Player; + +import static gq.unurled.raxen.utils.Utils.msgPlayer; + +public class PlayerUtils { + + public static void updateSkills(Raxen main, Player player) { + Attributes attributes = new Attributes(main); + int health, itemHealth, defense, itemDefense, speed, itemSpeed, strength, itemDmg; + health = attributes.getHealth(player); + itemHealth = attributes.getItemHealth(player); + defense = attributes.getDefense(player); + itemDefense = attributes.getItemDefense(player); + speed = attributes.getSpeed(player); + itemSpeed = attributes.getItemSpeed(player); + strength = attributes.getStrength(player); + itemDmg = attributes.getItemStrength(player); + player.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(20D + (health + itemHealth) / 100); + player.setWalkSpeed((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); + player.setFlySpeed((float) (0.0 + ((speed + itemSpeed) / 100) * 0.2)); + msgPlayer(player, "Speed " + (speed + itemSpeed), "Health " + (health + itemHealth), "Defense " + (defense+itemDefense), "Strength " + (strength+itemDmg)); + } + +} diff --git a/src/main/java/gq/unurled/raxen/components/player/Scoreboard.java b/src/main/java/gq/unurled/raxen/components/player/Scoreboard.java index ba0bc61..0d09129 100644 --- a/src/main/java/gq/unurled/raxen/components/player/Scoreboard.java +++ b/src/main/java/gq/unurled/raxen/components/player/Scoreboard.java @@ -1,7 +1,7 @@ package gq.unurled.raxen.components.player; import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.utils.Vault; +import gq.unurled.raxen.utils.libs.Vault; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.scoreboard.DisplaySlot; @@ -18,7 +18,7 @@ public class Scoreboard { public Scoreboard(Raxen main) { this.main = main; - this.vault = main.getVault(); + this.vault = main.getManager().getLibsManager().getVault(); } public void createScorebord(Player player) { diff --git a/src/main/java/gq/unurled/raxen/components/player/classes/Classes.java b/src/main/java/gq/unurled/raxen/components/player/classes/Classes.java index d450e0f..9893a62 100644 --- a/src/main/java/gq/unurled/raxen/components/player/classes/Classes.java +++ b/src/main/java/gq/unurled/raxen/components/player/classes/Classes.java @@ -1,7 +1,7 @@ package gq.unurled.raxen.components.player.classes; import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.manager.PlayerManager; +import gq.unurled.raxen.manager.entity.PlayerManager; import lombok.Getter; import lombok.Setter; import org.bukkit.Bukkit; @@ -29,7 +29,7 @@ public class Classes { public void register() { File folder = new File(main.getDataFolder() + "/Class/"); File[] listFile = folder.listFiles(); - PlayerManager pm = main.getPlayerManager(); + PlayerManager pm = main.getManager().getPlayerManager(); for (int i = 0; i < listFile.length; i++) { if (listFile[i].isFile()) { FileConfiguration customClass = new YamlConfiguration(); diff --git a/src/main/java/gq/unurled/raxen/components/resourcepack/ResourcePack.java b/src/main/java/gq/unurled/raxen/components/resourcepack/ResourcePack.java index d2e6966..74f8f90 100644 --- a/src/main/java/gq/unurled/raxen/components/resourcepack/ResourcePack.java +++ b/src/main/java/gq/unurled/raxen/components/resourcepack/ResourcePack.java @@ -1,7 +1,7 @@ package gq.unurled.raxen.components.resourcepack; import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.manager.ResourcePackManager; +import gq.unurled.raxen.manager.server.ResourcePackManager; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; diff --git a/src/main/java/gq/unurled/raxen/config/PlayerConfig.java b/src/main/java/gq/unurled/raxen/config/PlayerConfig.java index 09f805e..113b590 100644 --- a/src/main/java/gq/unurled/raxen/config/PlayerConfig.java +++ b/src/main/java/gq/unurled/raxen/config/PlayerConfig.java @@ -7,10 +7,10 @@ import gq.unurled.raxen.components.player.Inventories; import gq.unurled.raxen.components.player.Storage; import gq.unurled.raxen.components.player.attributes.Attributes; import gq.unurled.raxen.components.player.storages.EnderChest; -import gq.unurled.raxen.manager.PlayerManager; -import gq.unurled.raxen.manager.StorageManager; +import gq.unurled.raxen.manager.entity.PlayerManager; +import gq.unurled.raxen.manager.entity.StorageManager; import gq.unurled.raxen.utils.Items; -import gq.unurled.raxen.utils.MongoDB; +import gq.unurled.raxen.utils.libs.MongoDB; import net.kyori.adventure.text.Component; import org.bson.Document; import org.bukkit.Bukkit; @@ -42,10 +42,10 @@ public class PlayerConfig { public PlayerConfig(Raxen main) { PlayerConfig.main = main; - sto = Raxen.getStorageManager(); - this.mongoDB = StorageManager.getMongo(); + sto = main.getManager().getStorageManager(); + this.mongoDB = main.getManager().getLibsManager().getMongoDB(); this.mongoCollection = mongoDB.getMongoCollection(); - playerManager = Raxen.getPlayerManager(); + playerManager = main.getManager().getPlayerManager(); this.attributes = new Attributes(main); } diff --git a/src/main/java/gq/unurled/raxen/listener/entity/DamageEntity.java b/src/main/java/gq/unurled/raxen/listener/entity/DamageEntity.java index 7812265..5c1e8aa 100644 --- a/src/main/java/gq/unurled/raxen/listener/entity/DamageEntity.java +++ b/src/main/java/gq/unurled/raxen/listener/entity/DamageEntity.java @@ -29,82 +29,87 @@ public class DamageEntity implements Listener { @EventHandler public void entityDamageByEntity(EntityDamageByEntityEvent e) { - e.setDamage(0); - Integer damage = 1; - Integer strength = 0; - Integer itemDmg = 0; - Integer defense = 0; - Integer itemDefense = 0; - Integer health = 0; - Integer itemHealth = 0; - Integer initDamage = 0; - debug(main, e.getEntity().getName(), e.getEntity().getType().toString(), e.getDamager().getType().toString(), e.getDamager().getName()); - if (e.getDamager() instanceof Player) { - Player playerDamager = (Player) e.getDamager(); - gq.unurled.raxen.components.player.attributes.Attributes attributes = new gq.unurled.raxen.components.player.attributes.Attributes(main); - strength = attributes.getStrength(playerDamager); - itemDmg = attributes.getItemStrength(playerDamager); + if (!(e.getEntity() instanceof LivingEntity)) { + debug("Not Living Entity, Some block falling shit or block entities"); } else { - Entity entityDamager = e.getDamager(); - PersistentDataContainer data = entityDamager.getPersistentDataContainer(); - if (data.has(entityNamespacedKey.strengthKey, PersistentDataType.INTEGER)) { - strength = data.get(entityNamespacedKey.strengthKey, PersistentDataType.INTEGER); - } - Attributes attributes = Items.getNbtFromEntity((LivingEntity) entityDamager); - itemDmg = attributes.getStrength(); - } - if (e.getEntity() instanceof Player) { - Player playerVictim = (Player) e.getEntity(); - gq.unurled.raxen.components.player.attributes.Attributes attributes = new gq.unurled.raxen.components.player.attributes.Attributes(main); - defense = attributes.getDefense(playerVictim); - health = attributes.getHealth(playerVictim); - itemDefense = attributes.getItemDefense(playerVictim); - itemHealth = attributes.getItemHealth(playerVictim); - } else { - Entity entityVictim = e.getEntity(); - PersistentDataContainer data = entityVictim.getPersistentDataContainer(); - if (data.has(entityNamespacedKey.defenseKey, PersistentDataType.INTEGER)) { - defense = data.get(entityNamespacedKey.defenseKey, PersistentDataType.INTEGER); - } - if (data.has(entityNamespacedKey.healthKey, PersistentDataType.INTEGER)) { - health = data.get(entityNamespacedKey.healthKey, PersistentDataType.INTEGER); - } - Attributes attributes = Items.getNbtFromEntity((LivingEntity) entityVictim); - itemDefense = attributes.getDefense(); - itemHealth = attributes.getHealth(); - } - debug(main, initDamage.toString(), itemDefense.toString(), strength.toString()); - initDamage = (5+ itemDmg) * (1+ (strength/100)); - damage = initDamage; - defense = defense + itemDefense; - debug(main, String.valueOf(damage)); - defense = defense/(defense+100); - debug(main, String.valueOf(damage)); - debug(main, String.valueOf(defense)); - Integer health_with_defense = health * (1+ (defense/100)); - debug(main, String.valueOf(damage)); - debug(main, String.valueOf(health)); - debug(main, String.valueOf(health_with_defense)); - if (damage >= health_with_defense) { - debug(main, "Killed entity normally."); - e.setDamage(e.getEntity().getType().getDefaultAttributes().getAttribute(Attribute.GENERIC_MAX_HEALTH).getDefaultValue()); - } else { - debug(main, "Applying damage to entity."); - if (defense == 0) { - health = health_with_defense - damage; + e.setDamage(0); + Integer damage = 1; + Integer strength = 0; + Integer itemDmg = 0; + Integer defense = 0; + Integer itemDefense = 0; + Integer health = 0; + Integer itemHealth = 0; + Integer initDamage = 0; + debug(main, e.getEntity().getName(), e.getEntity().getType().toString(), e.getDamager().getType().toString(), e.getDamager().getName()); + if (e.getDamager() instanceof Player) { + Player playerDamager = (Player) e.getDamager(); + gq.unurled.raxen.components.player.attributes.Attributes attributes = new gq.unurled.raxen.components.player.attributes.Attributes(main); + strength = attributes.getStrength(playerDamager); + itemDmg = attributes.getItemStrength(playerDamager); } else { - health = health_with_defense - health - damage; + Entity entityDamager = e.getDamager(); + PersistentDataContainer data = entityDamager.getPersistentDataContainer(); + if (data.has(entityNamespacedKey.strengthKey, PersistentDataType.INTEGER)) { + strength = data.get(entityNamespacedKey.strengthKey, PersistentDataType.INTEGER); + } + Attributes attributes = Items.getNbtFromEntity((LivingEntity) entityDamager); + itemDmg = attributes.getStrength(); } if (e.getEntity() instanceof Player) { Player playerVictim = (Player) e.getEntity(); gq.unurled.raxen.components.player.attributes.Attributes attributes = new gq.unurled.raxen.components.player.attributes.Attributes(main); - attributes.setHealth(playerVictim, health); + defense = attributes.getDefense(playerVictim); + health = attributes.getHealth(playerVictim); + itemDefense = attributes.getItemDefense(playerVictim); + itemHealth = attributes.getItemHealth(playerVictim); } else { Entity entityVictim = e.getEntity(); PersistentDataContainer data = entityVictim.getPersistentDataContainer(); - data.set(entityNamespacedKey.healthKey, PersistentDataType.INTEGER, health); + if (data.has(entityNamespacedKey.defenseKey, PersistentDataType.INTEGER)) { + defense = data.get(entityNamespacedKey.defenseKey, PersistentDataType.INTEGER); + } + if (data.has(entityNamespacedKey.healthKey, PersistentDataType.INTEGER)) { + health = data.get(entityNamespacedKey.healthKey, PersistentDataType.INTEGER); + } + Attributes attributes = Items.getNbtFromEntity((LivingEntity) entityVictim); + itemDefense = attributes.getDefense(); + itemHealth = attributes.getHealth(); + } + debug(main, initDamage.toString(), itemDefense.toString(), strength.toString()); + initDamage = (5+ itemDmg) * (1+ (strength/100)); + damage = initDamage; + defense = defense + itemDefense; + debug(main, String.valueOf(damage)); + defense = defense/(defense+100); + debug(main, String.valueOf(damage)); + debug(main, String.valueOf(defense)); + Integer health_with_defense = health * (1+ (defense/100)); + debug(main, String.valueOf(damage)); + debug(main, String.valueOf(health)); + debug(main, String.valueOf(health_with_defense)); + if (damage >= health_with_defense) { + debug(main, "Killed entity normally."); + e.setDamage(e.getEntity().getType().getDefaultAttributes().getAttribute(Attribute.GENERIC_MAX_HEALTH).getDefaultValue()); + } else { + debug(main, "Applying damage to entity."); + if (defense == 0) { + health = health_with_defense - damage; + } else { + health = health_with_defense - health - damage; + } + if (e.getEntity() instanceof Player) { + Player playerVictim = (Player) e.getEntity(); + gq.unurled.raxen.components.player.attributes.Attributes attributes = new gq.unurled.raxen.components.player.attributes.Attributes(main); + attributes.setHealth(playerVictim, health); + playerVictim.setHealth(health.doubleValue()/5); + } else { + Entity entityVictim = e.getEntity(); + PersistentDataContainer data = entityVictim.getPersistentDataContainer(); + data.set(entityNamespacedKey.healthKey, PersistentDataType.INTEGER, health); + } + debug(main, health.toString()); } - debug(main, health.toString()); } } diff --git a/src/main/java/gq/unurled/raxen/listener/player/ArmorEvent.java b/src/main/java/gq/unurled/raxen/listener/player/ArmorEvent.java index e2cbbcf..4a86741 100644 --- a/src/main/java/gq/unurled/raxen/listener/player/ArmorEvent.java +++ b/src/main/java/gq/unurled/raxen/listener/player/ArmorEvent.java @@ -3,6 +3,7 @@ package gq.unurled.raxen.listener.player; import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent; import de.tr7zw.nbtapi.NBTItem; import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.player.PlayerUtils; import gq.unurled.raxen.components.player.attributes.Attributes; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -54,6 +55,6 @@ public class ArmorEvent implements Listener { attributes.addStrength(player, nbti.getInteger("STRENGTH")); } } - gq.unurled.raxen.utils.Skills.updateSkills(main, player); + PlayerUtils.updateSkills(main, player); } } diff --git a/src/main/java/gq/unurled/raxen/listener/player/CloseInventoryEvent.java b/src/main/java/gq/unurled/raxen/listener/player/CloseInventoryEvent.java index d52083a..6e35ecb 100644 --- a/src/main/java/gq/unurled/raxen/listener/player/CloseInventoryEvent.java +++ b/src/main/java/gq/unurled/raxen/listener/player/CloseInventoryEvent.java @@ -1,8 +1,9 @@ package gq.unurled.raxen.listener.player; import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.manager.PlayerManager; +import gq.unurled.raxen.manager.entity.PlayerManager; import net.kyori.adventure.text.Component; +import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -12,13 +13,14 @@ import static gq.unurled.raxen.utils.Utils.log; public class CloseInventoryEvent implements Listener { - private PlayerManager playerManager = Raxen.getPlayerManager(); + private PlayerManager playerManager; @EventHandler public void InventoryCloseEvent(InventoryCloseEvent e) { Player player = (Player) e.getPlayer(); Component title = e.getView().title(); if (title.toString().contains("Ender Chest")) { + playerManager = ((Raxen) Bukkit.getPluginManager().getPlugin("Raxen")).getManager().getPlayerManager(); playerManager.getRaxenPlayer(player).setStorage(e.getInventory()); } log(player.getName() + " " + title.toString()); diff --git a/src/main/java/gq/unurled/raxen/listener/player/ItemHandEvent.java b/src/main/java/gq/unurled/raxen/listener/player/ItemHandEvent.java index a786a9c..d57768f 100644 --- a/src/main/java/gq/unurled/raxen/listener/player/ItemHandEvent.java +++ b/src/main/java/gq/unurled/raxen/listener/player/ItemHandEvent.java @@ -2,6 +2,7 @@ package gq.unurled.raxen.listener.player; import de.tr7zw.nbtapi.NBTItem; import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.player.PlayerUtils; import gq.unurled.raxen.components.player.attributes.Attributes; import org.bukkit.Material; import org.bukkit.entity.Player; @@ -54,6 +55,6 @@ public class ItemHandEvent implements Listener { attributes.addItemStrength(player, nbti.getInteger("STRENGTH")); } } - gq.unurled.raxen.utils.Skills.updateSkills(main, player); + PlayerUtils.updateSkills(main, player); } } diff --git a/src/main/java/gq/unurled/raxen/listener/player/JoinEvent.java b/src/main/java/gq/unurled/raxen/listener/player/JoinEvent.java index 47e2fb2..96e3fce 100644 --- a/src/main/java/gq/unurled/raxen/listener/player/JoinEvent.java +++ b/src/main/java/gq/unurled/raxen/listener/player/JoinEvent.java @@ -4,7 +4,7 @@ import gq.unurled.raxen.Raxen; import gq.unurled.raxen.components.player.Scoreboard; import gq.unurled.raxen.components.resourcepack.ResourcePack; import gq.unurled.raxen.config.PlayerConfig; -import gq.unurled.raxen.manager.PlayerManager; +import gq.unurled.raxen.manager.entity.PlayerManager; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -22,8 +22,8 @@ public class JoinEvent implements Listener { this.main = main; this.playerConfig = main.getPlayerConfig(); this.scoreboard = new Scoreboard(main); - this.resourcePack = main.getResourcePackManager().getResourcePack(); - this.playerManager = main.getPlayerManager(); + this.resourcePack = main.getManager().getResourcePackManager().getResourcePack(); + this.playerManager = main.getManager().getPlayerManager(); } @EventHandler diff --git a/src/main/java/gq/unurled/raxen/listener/player/LeaveEvent.java b/src/main/java/gq/unurled/raxen/listener/player/LeaveEvent.java index fa6cb04..dd74822 100644 --- a/src/main/java/gq/unurled/raxen/listener/player/LeaveEvent.java +++ b/src/main/java/gq/unurled/raxen/listener/player/LeaveEvent.java @@ -2,7 +2,7 @@ package gq.unurled.raxen.listener.player; import gq.unurled.raxen.Raxen; import gq.unurled.raxen.config.PlayerConfig; -import gq.unurled.raxen.manager.PlayerManager; +import gq.unurled.raxen.manager.entity.PlayerManager; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -17,7 +17,7 @@ public class LeaveEvent implements Listener { public LeaveEvent(Raxen main) { this.playerConfig = main.getPlayerConfig(); - this.playerManager = main.getPlayerManager(); + this.playerManager = main.getManager().getPlayerManager(); } diff --git a/src/main/java/gq/unurled/raxen/listener/player/TransactionEvent.java b/src/main/java/gq/unurled/raxen/listener/player/TransactionEvent.java index b3fc0f2..2908b77 100644 --- a/src/main/java/gq/unurled/raxen/listener/player/TransactionEvent.java +++ b/src/main/java/gq/unurled/raxen/listener/player/TransactionEvent.java @@ -2,7 +2,7 @@ package gq.unurled.raxen.listener.player; import gq.unurled.raxen.Raxen; import gq.unurled.raxen.components.player.Scoreboard; -import gq.unurled.raxen.utils.Vault; +import gq.unurled.raxen.utils.libs.Vault; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -17,7 +17,7 @@ public class TransactionEvent implements Listener { public TransactionEvent(Raxen main) { this.main = main; this.scoreboard = new Scoreboard(main); - this.vault = main.getVault(); + this.vault = main.getManager().getLibsManager().getVault(); } @EventHandler diff --git a/src/main/java/gq/unurled/raxen/manager/Manager.java b/src/main/java/gq/unurled/raxen/manager/Manager.java new file mode 100644 index 0000000..396ee68 --- /dev/null +++ b/src/main/java/gq/unurled/raxen/manager/Manager.java @@ -0,0 +1,46 @@ +package gq.unurled.raxen.manager; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.manager.entity.*; +import gq.unurled.raxen.manager.server.*; +import lombok.Getter; + +public class Manager { + + @Getter + private static WorldManager worldManager; + @Getter + private static StorageManager storageManager; + @Getter + private static PlayerManager playerManager; + @Getter + private static ListenerManager listenerManager; + @Getter + private static CommandManager commandManager; + @Getter + private ItemManager itemManager; + @Getter + private ResourcePackManager resourcePackManager; + @Getter + private EntityManager entityManager; + @Getter + private LootManager lootManager; + @Getter + private LibsManager libsManager; + + public void set(Raxen main) { + libsManager = new LibsManager(main); + + worldManager = new WorldManager(main); + storageManager = new StorageManager(main); + + //Managers + itemManager = new ItemManager(main); + playerManager = new PlayerManager(main); + listenerManager = new ListenerManager(main); + commandManager = new CommandManager(main); + resourcePackManager = new ResourcePackManager(main); + entityManager = new EntityManager(main); + lootManager = new LootManager(main); + } +} diff --git a/src/main/java/gq/unurled/raxen/manager/EntityManager.java b/src/main/java/gq/unurled/raxen/manager/entity/EntityManager.java similarity index 73% rename from src/main/java/gq/unurled/raxen/manager/EntityManager.java rename to src/main/java/gq/unurled/raxen/manager/entity/EntityManager.java index 838a863..d751d1a 100644 --- a/src/main/java/gq/unurled/raxen/manager/EntityManager.java +++ b/src/main/java/gq/unurled/raxen/manager/entity/EntityManager.java @@ -1,4 +1,4 @@ -package gq.unurled.raxen.manager; +package gq.unurled.raxen.manager.entity; import gq.unurled.raxen.Raxen; import lombok.Getter; @@ -6,20 +6,28 @@ import lombok.Setter; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.UUID; import static gq.unurled.raxen.utils.Utils.debug; public class EntityManager { private Raxen main; + @Getter @Setter public List list = new ArrayList<>(); + public HashMap entities = new HashMap<>(); + + public HashMap livingEntities = new HashMap<>(); + public EntityManager(Raxen main) { this.main = main; } diff --git a/src/main/java/gq/unurled/raxen/manager/ItemManager.java b/src/main/java/gq/unurled/raxen/manager/entity/ItemManager.java similarity index 99% rename from src/main/java/gq/unurled/raxen/manager/ItemManager.java rename to src/main/java/gq/unurled/raxen/manager/entity/ItemManager.java index 6061877..8ad6db7 100644 --- a/src/main/java/gq/unurled/raxen/manager/ItemManager.java +++ b/src/main/java/gq/unurled/raxen/manager/entity/ItemManager.java @@ -1,4 +1,4 @@ -package gq.unurled.raxen.manager; +package gq.unurled.raxen.manager.entity; import de.tr7zw.nbtapi.NBTItem; import gq.unurled.raxen.Raxen; diff --git a/src/main/java/gq/unurled/raxen/manager/LootManager.java b/src/main/java/gq/unurled/raxen/manager/entity/LootManager.java similarity index 88% rename from src/main/java/gq/unurled/raxen/manager/LootManager.java rename to src/main/java/gq/unurled/raxen/manager/entity/LootManager.java index da46a26..19d71dd 100644 --- a/src/main/java/gq/unurled/raxen/manager/LootManager.java +++ b/src/main/java/gq/unurled/raxen/manager/entity/LootManager.java @@ -1,4 +1,4 @@ -package gq.unurled.raxen.manager; +package gq.unurled.raxen.manager.entity; import gq.unurled.raxen.Raxen; import gq.unurled.raxen.components.lootchest.loots.LootItem; diff --git a/src/main/java/gq/unurled/raxen/manager/PlayerManager.java b/src/main/java/gq/unurled/raxen/manager/entity/PlayerManager.java similarity index 95% rename from src/main/java/gq/unurled/raxen/manager/PlayerManager.java rename to src/main/java/gq/unurled/raxen/manager/entity/PlayerManager.java index 0e5dd48..e0c64ce 100644 --- a/src/main/java/gq/unurled/raxen/manager/PlayerManager.java +++ b/src/main/java/gq/unurled/raxen/manager/entity/PlayerManager.java @@ -1,75 +1,75 @@ -package gq.unurled.raxen.manager; - -import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.components.player.RaxenPlayer; -import gq.unurled.raxen.components.player.attributes.Attribute; -import gq.unurled.raxen.components.player.classes.Class; -import net.kyori.adventure.text.Component; -import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; -import org.bukkit.scheduler.BukkitTask; - -import java.util.HashMap; -import java.util.UUID; - -public class PlayerManager { - - private Raxen main; - private HashMap actionBar = new HashMap<>(); - private HashMap classes = new HashMap<>(); - - public PlayerManager(Raxen main) { - this.main = main; - } - - public RaxenPlayer getRaxenPlayer(Player player) { - return new RaxenPlayer(main, player); - } - - public void registerActionBar(Player player) { - Attribute attributes = getRaxenPlayer(player).getAttributes().getAttribute(player); - BukkitTask task = new BukkitRunnable() { - @Override - public void run() { - player.sendActionBar(Component.text(attributes.getHealth() + "/" + attributes.getMaxHealth() + "❤ " + attributes.getMana() + "/" + attributes.getMaxMana())); - } - }.runTaskTimer(main, 0L, 20L); - if(actionBar.containsKey(player.getUniqueId())) { - actionBar.replace(player.getUniqueId(), task); - } else { - actionBar.put(player.getUniqueId(), task); - } - } - - public void unRegisterActionBar(Player player) { - if(actionBar.containsKey(player.getUniqueId())) { - BukkitTask task = actionBar.get(player.getUniqueId()); - task.cancel(); - actionBar.remove(player.getUniqueId()); - } - } - - public void unRegisterRaxenPlayer(Player player) { - } - - public void registerClasses() { - - } - - /** - * getClasses - * @return the classes HashMap - */ - public HashMap getClasses() { - return classes; - } - - /** - * add @param to hashmap of classes - * @param clas a class instance - * @param id the id of the class - */ - public void addClasses(Class clas, String id) { - classes.put(id, clas); - } -} +package gq.unurled.raxen.manager.entity; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.components.player.RaxenPlayer; +import gq.unurled.raxen.components.player.attributes.Attribute; +import gq.unurled.raxen.components.player.classes.Class; +import net.kyori.adventure.text.Component; +import org.bukkit.entity.Player; +import org.bukkit.scheduler.BukkitRunnable; +import org.bukkit.scheduler.BukkitTask; + +import java.util.HashMap; +import java.util.UUID; + +public class PlayerManager { + + private Raxen main; + private HashMap actionBar = new HashMap<>(); + private HashMap classes = new HashMap<>(); + + public PlayerManager(Raxen main) { + this.main = main; + } + + public RaxenPlayer getRaxenPlayer(Player player) { + return new RaxenPlayer(main, player); + } + + public void registerActionBar(Player player) { + Attribute attributes = getRaxenPlayer(player).getAttributes().getAttribute(player); + BukkitTask task = new BukkitRunnable() { + @Override + public void run() { + player.sendActionBar(Component.text(attributes.getHealth() + "/" + attributes.getMaxHealth() + "❤ " + attributes.getMana() + "/" + attributes.getMaxMana())); + } + }.runTaskTimer(main, 0L, 20L); + if(actionBar.containsKey(player.getUniqueId())) { + actionBar.replace(player.getUniqueId(), task); + } else { + actionBar.put(player.getUniqueId(), task); + } + } + + public void unRegisterActionBar(Player player) { + if(actionBar.containsKey(player.getUniqueId())) { + BukkitTask task = actionBar.get(player.getUniqueId()); + task.cancel(); + actionBar.remove(player.getUniqueId()); + } + } + + public void unRegisterRaxenPlayer(Player player) { + } + + public void registerClasses() { + + } + + /** + * getClasses + * @return the classes HashMap + */ + public HashMap getClasses() { + return classes; + } + + /** + * add @param to hashmap of classes + * @param clas a class instance + * @param id the id of the class + */ + public void addClasses(Class clas, String id) { + classes.put(id, clas); + } +} diff --git a/src/main/java/gq/unurled/raxen/manager/StorageManager.java b/src/main/java/gq/unurled/raxen/manager/entity/StorageManager.java similarity index 82% rename from src/main/java/gq/unurled/raxen/manager/StorageManager.java rename to src/main/java/gq/unurled/raxen/manager/entity/StorageManager.java index cebc75e..2ddfdf7 100644 --- a/src/main/java/gq/unurled/raxen/manager/StorageManager.java +++ b/src/main/java/gq/unurled/raxen/manager/entity/StorageManager.java @@ -1,19 +1,21 @@ -package gq.unurled.raxen.manager; +package gq.unurled.raxen.manager.entity; import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.utils.MongoDB; -import gq.unurled.raxen.utils.Mysql; +import gq.unurled.raxen.utils.libs.MongoDB; +import gq.unurled.raxen.utils.libs.Mysql; import lombok.Getter; import org.bukkit.Bukkit; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; import java.io.File; import java.io.IOException; -import static gq.unurled.raxen.utils.Utils.*; +import static gq.unurled.raxen.utils.Utils.debug; +import static gq.unurled.raxen.utils.Utils.error; public class StorageManager { @@ -22,31 +24,28 @@ public class StorageManager { private static FileConfiguration config; @Getter - private static MongoDB mongo; + private static MongoDB mongodb; @Getter private static Mysql mysql; public StorageManager(Raxen main) { - this.main = main.getPlugin(); + this.main = main; this.config = main.getConfig(); - this.mongo = new MongoDB(); this.connect(); } public static void connect() { String s = (String) config.get("storage"); debug(main, s); + mongodb = main.getManager().getLibsManager().getMongoDB(); if(s.equalsIgnoreCase("MONGODB")) { - mongo.connect(); - warn(main, "'" + s + "'"); - } - - if(s.equalsIgnoreCase("MYSQL")) { + mongodb.connect(); + debug(main, "'" + s + "'"); + } else if(s.equalsIgnoreCase("MYSQL")) { error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"Currently not implemented, switching to YML"); - warn(main, "'" + s + "'"); - } - else { - warn(main, "'" + s + "'"); + debug(main, "'" + s + "'"); + } else { + debug(main, "'" + s + "'"); } } @@ -54,7 +53,7 @@ public class StorageManager { mysql.disconnect(); } - public static FileConfiguration createYml(Player player) { + public static @NotNull FileConfiguration createYml(@NotNull Player player) { File customFile; FileConfiguration customConfig; customFile = new File(main.getDataFolder() + "/playerInfo/" + player.getUniqueId(), "/playerInfo.yml"); @@ -98,7 +97,7 @@ public class StorageManager { return customConfig; } - public static FileConfiguration createYml(File file) { + public static @NotNull FileConfiguration createYml(@NotNull File file) { FileConfiguration customConfig; @@ -121,7 +120,7 @@ public class StorageManager { return customConfig; } - public static FileConfiguration createYml(String path) { + public static @NotNull FileConfiguration createYml(String path) { File customFile; FileConfiguration customConfig; customFile = new File(path); diff --git a/src/main/java/gq/unurled/raxen/manager/CommandManager.java b/src/main/java/gq/unurled/raxen/manager/server/CommandManager.java similarity index 90% rename from src/main/java/gq/unurled/raxen/manager/CommandManager.java rename to src/main/java/gq/unurled/raxen/manager/server/CommandManager.java index f73a57e..a9ff63f 100644 --- a/src/main/java/gq/unurled/raxen/manager/CommandManager.java +++ b/src/main/java/gq/unurled/raxen/manager/server/CommandManager.java @@ -1,64 +1,66 @@ -package gq.unurled.raxen.manager; - -import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.commands.RaxenCommand; -import gq.unurled.raxen.commands.admin.*; -import gq.unurled.raxen.commands.player.ClassCommand; -import gq.unurled.raxen.commands.player.SkillsCommand; -import gq.unurled.raxen.commands.player.StorageCommand; -import lombok.Getter; - - -public class CommandManager { - - private Raxen main; - @Getter - private ItemListCommand itemListCommand; - private ReloadCommand reloadComand = new ReloadCommand(); - private NbtCommand nbtCommand; - private TestGuiCommand testGuiCommand = new TestGuiCommand(); - private StorageCommand storageCommand = new StorageCommand(); - private SkillsCommand skillsCommand = new SkillsCommand(main); - private RaxenCommand raxenCommand = new RaxenCommand(main); - private SpawnEntity entityspawn; - private ClassCommand classCommand; - - public CommandManager(Raxen main) { - this.main = main; - this.itemListCommand = new ItemListCommand(this.main); - this.nbtCommand = new NbtCommand(this.main); - this.entityspawn = new SpawnEntity(this.main); - this.classCommand = new ClassCommand(this.main); - } - - public void register() { - main.getCommand("reloadplugin").setExecutor(reloadComand); - main.getCommand("reloadplugin").setTabCompleter(reloadComand); - - main.getCommand("nbt").setExecutor(nbtCommand); - main.getCommand("nbt").setTabCompleter(nbtCommand); - - main.getCommand("testgui").setExecutor(testGuiCommand); - main.getCommand("testgui").setTabCompleter(testGuiCommand); - - main.getCommand("storage").setExecutor(storageCommand); - main.getCommand("storage").setTabCompleter(storageCommand); - - - main.getCommand("skills").setTabCompleter(skillsCommand); - main.getCommand("skills").setExecutor(skillsCommand); - - main.getCommand("raxen").setTabCompleter(raxenCommand); - main.getCommand("raxen").setExecutor(raxenCommand); - - main.getCommand("itemlist").setExecutor(itemListCommand); - main.getCommand("itemlist").setTabCompleter(itemListCommand); - - main.getCommand("entityspawn").setTabCompleter(entityspawn); - main.getCommand("entityspawn").setExecutor(entityspawn); - - main.getCommand("class").setTabCompleter(classCommand); - main.getCommand("class").setExecutor(classCommand); - } - -} +package gq.unurled.raxen.manager.server; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.commands.RaxenCommand; +import gq.unurled.raxen.commands.admin.*; +import gq.unurled.raxen.commands.player.ClassCommand; +import gq.unurled.raxen.commands.player.SkillsCommand; +import gq.unurled.raxen.commands.player.StorageCommand; +import lombok.Getter; + + +public class CommandManager { + + private Raxen main; + @Getter + private ItemListCommand itemListCommand; + private ReloadCommand reloadComand = new ReloadCommand(); + private NbtCommand nbtCommand; + private TestGuiCommand testGuiCommand = new TestGuiCommand(); + private StorageCommand storageCommand = new StorageCommand(); + private SkillsCommand skillsCommand; + private RaxenCommand raxenCommand; + private SpawnEntity entityspawn; + private ClassCommand classCommand; + + public CommandManager(Raxen main) { + this.main = main; + this.itemListCommand = new ItemListCommand(this.main); + this.nbtCommand = new NbtCommand(this.main); + this.entityspawn = new SpawnEntity(this.main); + this.classCommand = new ClassCommand(this.main); + this.skillsCommand = new SkillsCommand(main); + this.raxenCommand = new RaxenCommand(main); + } + + public void register() { + main.getCommand("reloadplugin").setExecutor(reloadComand); + main.getCommand("reloadplugin").setTabCompleter(reloadComand); + + main.getCommand("nbt").setExecutor(nbtCommand); + main.getCommand("nbt").setTabCompleter(nbtCommand); + + main.getCommand("testgui").setExecutor(testGuiCommand); + main.getCommand("testgui").setTabCompleter(testGuiCommand); + + main.getCommand("storage").setExecutor(storageCommand); + main.getCommand("storage").setTabCompleter(storageCommand); + + + main.getCommand("skills").setTabCompleter(skillsCommand); + main.getCommand("skills").setExecutor(skillsCommand); + + main.getCommand("raxen").setTabCompleter(raxenCommand); + main.getCommand("raxen").setExecutor(raxenCommand); + + main.getCommand("itemlist").setExecutor(itemListCommand); + main.getCommand("itemlist").setTabCompleter(itemListCommand); + + main.getCommand("entityspawn").setTabCompleter(entityspawn); + main.getCommand("entityspawn").setExecutor(entityspawn); + + main.getCommand("class").setTabCompleter(classCommand); + main.getCommand("class").setExecutor(classCommand); + } + +} diff --git a/src/main/java/gq/unurled/raxen/manager/server/LibsManager.java b/src/main/java/gq/unurled/raxen/manager/server/LibsManager.java new file mode 100644 index 0000000..e01b9d9 --- /dev/null +++ b/src/main/java/gq/unurled/raxen/manager/server/LibsManager.java @@ -0,0 +1,32 @@ +package gq.unurled.raxen.manager.server; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.utils.libs.*; +import lombok.Getter; + +public class LibsManager { + @Getter + private final ProtocolManager protocolManager; + @Getter + private final LuckPerm luckPerm; + @Getter + private final Vault vault; + @Getter + private final MongoDB mongoDB; + @Getter + private static Mysql mysql; + @Getter + private PlaceHolderAPI placeHolderAPI; + @Getter + private Citizens citizens; + + public LibsManager(Raxen main) { + this.luckPerm = new LuckPerm(main); + this.luckPerm.register(); + this.vault = new Vault(main); + this.protocolManager = new ProtocolManager(main); + this.mongoDB = new MongoDB(); + this.placeHolderAPI = new PlaceHolderAPI(main); + this.citizens = new Citizens(main); + } +} diff --git a/src/main/java/gq/unurled/raxen/manager/ListenerManager.java b/src/main/java/gq/unurled/raxen/manager/server/ListenerManager.java similarity index 88% rename from src/main/java/gq/unurled/raxen/manager/ListenerManager.java rename to src/main/java/gq/unurled/raxen/manager/server/ListenerManager.java index c560e4b..9431a81 100644 --- a/src/main/java/gq/unurled/raxen/manager/ListenerManager.java +++ b/src/main/java/gq/unurled/raxen/manager/server/ListenerManager.java @@ -1,39 +1,39 @@ -package gq.unurled.raxen.manager; - -import gq.unurled.raxen.Raxen; -import gq.unurled.raxen.listener.entity.DamageEntity; -import gq.unurled.raxen.listener.entity.SpawnEvent; -import gq.unurled.raxen.listener.player.*; -import gq.unurled.raxen.utils.Reload; -import lombok.Getter; -import org.bukkit.plugin.PluginManager; - -public class ListenerManager { - - private final Raxen main; - private final PluginManager pm; - @Getter - private ServerPingEvent serverPingEvent; - - public ListenerManager(Raxen main) { - this.main = main; - this.pm = main.getPm(); - this.serverPingEvent = new ServerPingEvent(main); - } - - public void register() { - this.pm.registerEvents(new JoinEvent(main), main); - this.pm.registerEvents(new LeaveEvent(main), main); - this.pm.registerEvents(new ArmorEvent(main), main); - this.pm.registerEvents(new ItemHandEvent(main), main); - this.pm.registerEvents(new Reload(), main); - this.pm.registerEvents(new TransactionEvent(main), main); - this.pm.registerEvents(main.getCommandManager().getItemListCommand().getItemListGui(), main); - this.pm.registerEvents(new DamageEntity(main), main); - this.pm.registerEvents(new SpawnEvent(main), main); - this.pm.registerEvents(new ClickBlockEvent(main), main); - this.pm.registerEvents(serverPingEvent, main); - this.pm.registerEvents(new CloseInventoryEvent(), main); - - } -} +package gq.unurled.raxen.manager.server; + +import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.listener.entity.DamageEntity; +import gq.unurled.raxen.listener.entity.SpawnEvent; +import gq.unurled.raxen.listener.player.*; +import gq.unurled.raxen.utils.Reload; +import lombok.Getter; +import org.bukkit.plugin.PluginManager; + +public class ListenerManager { + + private final Raxen main; + private final PluginManager pm; + @Getter + private ServerPingEvent serverPingEvent; + + public ListenerManager(Raxen main) { + this.main = main; + this.pm = main.getPm(); + this.serverPingEvent = new ServerPingEvent(main); + } + + public void register() { + this.pm.registerEvents(new JoinEvent(main), main); + this.pm.registerEvents(new LeaveEvent(main), main); + this.pm.registerEvents(new ArmorEvent(main), main); + this.pm.registerEvents(new ItemHandEvent(main), main); + this.pm.registerEvents(new Reload(), main); + this.pm.registerEvents(new TransactionEvent(main), main); + this.pm.registerEvents(main.getManager().getCommandManager().getItemListCommand().getItemListGui(), main); + this.pm.registerEvents(new DamageEntity(main), main); + this.pm.registerEvents(new SpawnEvent(main), main); + this.pm.registerEvents(new ClickBlockEvent(main), main); + this.pm.registerEvents(serverPingEvent, main); + this.pm.registerEvents(new CloseInventoryEvent(), main); + + } +} diff --git a/src/main/java/gq/unurled/raxen/manager/ProtocolManager.java b/src/main/java/gq/unurled/raxen/manager/server/ProtocolManager.java similarity index 95% rename from src/main/java/gq/unurled/raxen/manager/ProtocolManager.java rename to src/main/java/gq/unurled/raxen/manager/server/ProtocolManager.java index cad78da..1fef008 100644 --- a/src/main/java/gq/unurled/raxen/manager/ProtocolManager.java +++ b/src/main/java/gq/unurled/raxen/manager/server/ProtocolManager.java @@ -1,4 +1,4 @@ -package gq.unurled.raxen.manager; +package gq.unurled.raxen.manager.server; import com.comphenix.protocol.PacketType; import com.comphenix.protocol.events.ListenerPriority; @@ -9,6 +9,7 @@ import gq.unurled.raxen.Raxen; import org.bukkit.entity.Player; public class ProtocolManager { + private final Raxen main; private com.comphenix.protocol.ProtocolManager manager; diff --git a/src/main/java/gq/unurled/raxen/manager/ResourcePackManager.java b/src/main/java/gq/unurled/raxen/manager/server/ResourcePackManager.java similarity index 97% rename from src/main/java/gq/unurled/raxen/manager/ResourcePackManager.java rename to src/main/java/gq/unurled/raxen/manager/server/ResourcePackManager.java index dfd0b70..fb17278 100644 --- a/src/main/java/gq/unurled/raxen/manager/ResourcePackManager.java +++ b/src/main/java/gq/unurled/raxen/manager/server/ResourcePackManager.java @@ -1,4 +1,4 @@ -package gq.unurled.raxen.manager; +package gq.unurled.raxen.manager.server; import gq.unurled.raxen.Raxen; import gq.unurled.raxen.components.resourcepack.ResourcePack; diff --git a/src/main/java/gq/unurled/raxen/manager/WorldManager.java b/src/main/java/gq/unurled/raxen/manager/server/WorldManager.java similarity index 93% rename from src/main/java/gq/unurled/raxen/manager/WorldManager.java rename to src/main/java/gq/unurled/raxen/manager/server/WorldManager.java index fcfe42f..44be053 100644 --- a/src/main/java/gq/unurled/raxen/manager/WorldManager.java +++ b/src/main/java/gq/unurled/raxen/manager/server/WorldManager.java @@ -1,6 +1,7 @@ -package gq.unurled.raxen.manager; +package gq.unurled.raxen.manager.server; import gq.unurled.raxen.Raxen; +import gq.unurled.raxen.manager.entity.StorageManager; import lombok.Getter; import org.bukkit.Bukkit; import org.bukkit.World; @@ -23,7 +24,7 @@ public class WorldManager { public WorldManager(Raxen main) { this.main = main; - this.sto = main.getStorageManager(); + this.sto = main.getManager().getStorageManager(); if(!(new File(main.getDataFolder() + "/Worlds/").exists())) { new File(main.getDataFolder() + "/Worlds/").mkdirs(); } diff --git a/src/main/java/gq/unurled/raxen/utils/LuckPerm.java b/src/main/java/gq/unurled/raxen/utils/LuckPerm.java deleted file mode 100644 index f790235..0000000 --- a/src/main/java/gq/unurled/raxen/utils/LuckPerm.java +++ /dev/null @@ -1,24 +0,0 @@ -package gq.unurled.raxen.utils; - -import gq.unurled.raxen.Raxen; -import lombok.Getter; -import net.luckperms.api.LuckPerms; -import org.bukkit.Bukkit; -import org.bukkit.plugin.RegisteredServiceProvider; - -public class LuckPerm { - - private static RegisteredServiceProvider provider; - @Getter - private static LuckPerms api; - - public LuckPerm(Raxen main) { - provider = Bukkit.getServicesManager().getRegistration(LuckPerms.class); - } - - public static void register() { - if (provider != null) { - api = provider.getProvider(); - } - } -} diff --git a/src/main/java/gq/unurled/raxen/utils/MongoDB.java b/src/main/java/gq/unurled/raxen/utils/MongoDB.java deleted file mode 100644 index cb03bf1..0000000 --- a/src/main/java/gq/unurled/raxen/utils/MongoDB.java +++ /dev/null @@ -1,39 +0,0 @@ -package gq.unurled.raxen.utils; - -import com.mongodb.ConnectionString; -import com.mongodb.client.MongoClient; -import com.mongodb.client.MongoClients; -import com.mongodb.client.MongoCollection; -import com.mongodb.client.MongoDatabase; -import lombok.Getter; -import org.bson.Document; -import org.bukkit.Bukkit; - -import static gq.unurled.raxen.utils.Utils.colorTextComp; - -public class MongoDB { - @Getter - private MongoClient mongoClient; - @Getter - private MongoDatabase mongoDatabase; - @Getter - private MongoCollection mongoCollection; - @Getter - private MongoCollection mongoConfigs; - - public void connect() { - ConnectionString connectionString = new ConnectionString("mongodb://localhost:27017"); - mongoClient = MongoClients.create(connectionString); - mongoDatabase = mongoClient.getDatabase("Raxen"); - mongoCollection = mongoDatabase.getCollection("player"); - mongoConfigs = mongoDatabase.getCollection("config"); - - Bukkit.getConsoleSender().sendMessage(colorTextComp("MongoDB connected!")); - } - - public void close() { - mongoClient.close(); - - Bukkit.getConsoleSender().sendMessage(colorTextComp("MongoDB disconnected!")); - } -} diff --git a/src/main/java/gq/unurled/raxen/utils/Mysql.java b/src/main/java/gq/unurled/raxen/utils/Mysql.java deleted file mode 100644 index e59d448..0000000 --- a/src/main/java/gq/unurled/raxen/utils/Mysql.java +++ /dev/null @@ -1,46 +0,0 @@ -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.SQLException; - -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/java/gq/unurled/raxen/utils/Utils.java b/src/main/java/gq/unurled/raxen/utils/Utils.java index b4421d1..f9866d1 100644 --- a/src/main/java/gq/unurled/raxen/utils/Utils.java +++ b/src/main/java/gq/unurled/raxen/utils/Utils.java @@ -4,14 +4,19 @@ import gq.unurled.raxen.Raxen; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.minimessage.MiniMessage; +import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; +import net.kyori.adventure.text.minimessage.tag.standard.StandardTags; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; +import org.jetbrains.annotations.NotNull; public class Utils { @@ -20,12 +25,28 @@ public class Utils { * @param stringToComponent a string * @return a component */ - public static Component colorComp(String stringToComponent) { - return MiniMessage.miniMessage().deserialize(stringToComponent); + public static @NotNull Component colorComp(String stringToComponent) { + MiniMessage minimessage = MiniMessage.builder() + .tags(TagResolver.builder() + .resolver(StandardTags.color()) + .resolver(StandardTags.decorations()) + .resolver(StandardTags.reset()) + .build() + ) + .build(); + return minimessage.deserialize(stringToComponent); } - public static TextComponent colorTextComp(String stringToComponent) { - return (TextComponent) MiniMessage.miniMessage().deserialize(stringToComponent); + public static @NotNull TextComponent colorTextComp(String stringToComponent) { + MiniMessage minimessage = MiniMessage.builder() + .tags(TagResolver.builder() + .resolver(StandardTags.color()) + .resolver(StandardTags.decorations()) + .resolver(StandardTags.reset()) + .build() + ) + .build(); + return (TextComponent) minimessage.deserialize(stringToComponent); } /** @@ -33,8 +54,29 @@ public class Utils { * @param string a string * @return a colored string */ - public static String colorString(String string) { - return PlainTextComponentSerializer.plainText().serialize(MiniMessage.miniMessage().deserialize(string)); + public static @NotNull String colorString(String string) { + MiniMessage minimessage = MiniMessage.builder() + .tags(TagResolver.builder() + .resolver(StandardTags.color()) + .resolver(StandardTags.decorations()) + .resolver(StandardTags.reset()) + .build() + ) + .build(); + return LegacyComponentSerializer.legacyAmpersand().serialize(minimessage.deserialize(string)); + } + + public static String coloredString(String string) { + MiniMessage minimessage = MiniMessage.builder() + .tags(TagResolver.builder() + .resolver(StandardTags.color()) + .resolver(StandardTags.decorations()) + .resolver(StandardTags.reset()) + .build() + ) + .build(); + return ChatColor.translateAlternateColorCodes('&', LegacyComponentSerializer.legacyAmpersand() + .serialize(minimessage.deserialize(string))); } public static String decolor(String string) { @@ -61,6 +103,7 @@ public class Utils { */ public static void debug(String... strings) { Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); + assert main != null; FileConfiguration config = main.getConfig(); if(config.getBoolean("debug")) { for(String string : strings) { @@ -76,6 +119,7 @@ public class Utils { */ public static void debug(FileConfiguration config, String... strings) { Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); + assert main != null; if(config.getBoolean("debug")) { for(String string : strings) { main.getLogger().info(string); diff --git a/src/main/java/gq/unurled/raxen/utils/Vault.java b/src/main/java/gq/unurled/raxen/utils/Vault.java deleted file mode 100644 index 8f97219..0000000 --- a/src/main/java/gq/unurled/raxen/utils/Vault.java +++ /dev/null @@ -1,48 +0,0 @@ -package gq.unurled.raxen.utils; - -import gq.unurled.raxen.Raxen; -import lombok.Getter; -import net.milkbowl.vault.economy.Economy; -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; -import org.bukkit.plugin.RegisteredServiceProvider; - -import java.text.DecimalFormat; - -import static gq.unurled.raxen.utils.Utils.error; - -public class Vault { - @Getter - private Economy econ = null; - //econ.depositPlayer(player,amount) - //econ.withdrawPlayer(player,amount) - //econ.getBalance(player); - - - private static Raxen main; - - public Vault(Raxen main) { - this.main = main; - setupEconomy(); - } - - private void setupEconomy() { - if (main.getServer().getPluginManager().getPlugin("Vault") == null) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"Need to install plugin Vault. (https://github.com/milkbowl/Vault)"); - return; - } - RegisteredServiceProvider rsp = main.getServer().getServicesManager().getRegistration(Economy.class); - if (rsp == null) { - error((Raxen) Bukkit.getPluginManager().getPlugin("Raxen"),"Some bug happend in the initialisation of Vault and Raxen."); - return; - } - econ = rsp.getProvider(); - return; - } - - public String getBalanceString(Player player) { - double bal = econ.getBalance(player); - DecimalFormat format = new DecimalFormat("#,###.00"); - return format.format(bal); - } -} diff --git a/src/main/java/gq/unurled/raxen/utils/WorldEdit.java b/src/main/java/gq/unurled/raxen/utils/WorldEdit.java deleted file mode 100644 index 3bf3bcd..0000000 --- a/src/main/java/gq/unurled/raxen/utils/WorldEdit.java +++ /dev/null @@ -1,5 +0,0 @@ -package gq.unurled.raxen.utils; - -public class WorldEdit { - -} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 0a6ee89..ce65f50 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -3,7 +3,7 @@ version: '${version}' main: gq.unurled.raxen.Raxen author: unurled api-version: 1.18 -depend: [ProtocolLib] +depend: [ProtocolLib, PlaceholderAPI] softdepend: [AureliumSkills, LuckPerms] commands: