0.4.2: rewrite of the Skill system of player, refactored to be Attributes

started some work on Entity => need some time on it.
that's all :)
This commit is contained in:
unurled 2021-12-25 23:16:54 +01:00
parent d943dfadaa
commit 22000e12ca
28 changed files with 780 additions and 264 deletions

View file

@ -2,6 +2,7 @@ package gq.unurled.raxen.commands;
import gq.unurled.raxen.Raxen;
import gq.unurled.raxen.manager.StorageManager;
import gq.unurled.raxen.utils.Utils;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.event.ClickEvent;
@ -14,8 +15,7 @@ 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;
import static gq.unurled.raxen.utils.Utils.*;
public class RaxenCommand implements TabExecutor {
@ -33,33 +33,33 @@ public class RaxenCommand implements TabExecutor {
msgPlayer(player, Raxen.getPrefix() + color("&cYou can't execute this command. Insufficient permission."));
}
switch (args.length) {
case 0:
msgPl(player, 0);
case 1:
case 0 -> msgPl(player, 0);
case 1 -> {
switch (args[0]) {
case "mongodb":
case "mongo":
case "MONGODB":
case "MONGO":
case "mongodb", "mongo", "MONGODB", "MONGO" -> {
//print info about connection
msgPlayer(player, Raxen.getPrefix() + color("&6--------------------------------"),color("&cMONGO DB"));
sender.sendMessage(Raxen.getPrefix() + color("&6Printing About Raxen's MongoDB connection..."));
msgPlayer(player, Raxen.getPrefix() + color("&6---------------------------------------------"),
color("&cMONGO DB"));
msgPlayer(player, StorageManager.getMongo().getMongoClient().getClusterDescription().toString());
msgPlayer(player, StorageManager.getMongo().getMongoDatabase().getName());
msgPlayer(player, StorageManager.getMongo().getMongoCollection().getNamespace().toString());
case "v":
case "version":
case "ver":
msgPlayer(player, color("&6---------------------------------------------"));
}
case "v", "version", "ver" -> {
msgPl(player, 0);
case "hemlp":
case "?":
case "h":
}
case "hemlp", "?", "h" -> {
//print help
}
}
}
}
}
else {
log(String.valueOf(args.length));
switch (args.length) {
case 0:
case 0 -> {
sender.sendMessage(Raxen.getPrefix() + color("&6Printing About Raxen..."),
color("&6---------------------------------------------"),
color("&3 Raxen "),
@ -67,33 +67,38 @@ public class RaxenCommand implements TabExecutor {
color("&3 - Author: &l&cU&6n&eu&2r&al&be&3d&r"));
TextComponent txt = Component.text(color("&3 - Website: https://unurled.gq"));
sender.sendMessage(txt);
case 1:
sender.sendMessage(color("&6---------------------------------------------"));
return true;
}
case 1 -> {
log("hello");
switch (args[0]) {
case "mongodb":
case "mongo":
case "MONGODB":
case "MONGO":
case "mongodb", "mongo", "MONGODB", "MONGO" -> {
//print info about connection
sender.sendMessage( Raxen.getPrefix() + color("&6--------------------------------"),color("&cMONGO DB"));
sender.sendMessage( StorageManager.getMongo().getMongoClient().getClusterDescription().toString());
sender.sendMessage( StorageManager.getMongo().getMongoDatabase().getName());
sender.sendMessage( StorageManager.getMongo().getMongoCollection().getNamespace().toString());
case "v":
case "version":
case "ver":
sender.sendMessage(Raxen.getPrefix() + color("&6Printing About Raxen's MongoDB connection..."));
sender.sendMessage(color("&6---------------------------------------------"), color("&cMONGO DB"));
sender.sendMessage(StorageManager.getMongo().getMongoClient().getClusterDescription().toString());
sender.sendMessage(StorageManager.getMongo().getMongoDatabase().getName());
sender.sendMessage(StorageManager.getMongo().getMongoCollection().getNamespace().toString());
sender.sendMessage(color("&6---------------------------------------------"));
return true;
}
case "v", "version", "ver" -> {
sender.sendMessage(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"));
txt = Component.text(color("&3 - Website: https://unurled.gq"));
TextComponent txt= Component.text(color("&3 - Website: https://unurled.gq"));
sender.sendMessage(txt);
sender.sendMessage(color("&6---------------------------------------------"));
case "hemlp":
case "?":
case "h":
//print help
return true;
}
case "hemlp", "?", "h" ->
//print help
log("why tf?");
}
}
}
}
return false;
@ -106,8 +111,7 @@ public class RaxenCommand implements TabExecutor {
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"));
color("&3 - Author: &l&cU&6n&eu&2r&al&be&3d&r"));
TextComponent txt = Component.text(color("&3 - Website: https://unurled.gq"))
.clickEvent(ClickEvent.openUrl("https://unurled.gq"));
player.sendMessage(txt);

View file

@ -2,7 +2,7 @@ package gq.unurled.raxen.commands.admin;
import de.tr7zw.changeme.nbtapi.NBTItem;
import gq.unurled.raxen.Raxen;
import gq.unurled.raxen.components.player.Skills;
import gq.unurled.raxen.components.player.Attributes.Attributes;
import gq.unurled.raxen.manager.ProfileManager;
import net.kyori.adventure.text.Component;
import org.bukkit.Material;
@ -12,6 +12,7 @@ import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.checkerframework.checker.units.qual.A;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ -24,9 +25,11 @@ import static gq.unurled.raxen.utils.Utils.*;
public class NbtCommand implements TabExecutor {
private Raxen main;
private ProfileManager profileManager;
public NbtCommand(Raxen main) {
this.main = main;
this.profileManager = main.getProfileManager();
}
@ -78,23 +81,23 @@ public class NbtCommand implements TabExecutor {
}
itm.lore(lore);
it.setItemMeta(itm);
Skills skills = profileManager.getPlayerProfile(player.getUniqueId()).getSkils();
Attributes attributes = new Attributes(main);
nbti.setInteger(args[0], Integer.parseInt(args[1]) + a);
if(nbti.hasKey("SPEED")) {
skills.addSpeed(nbti.getInteger("SPEED"));
attributes.addSpeed(player, nbti.getInteger("SPEED"));
}
if(nbti.hasKey("HEALTH")) {
skills.addHealth(nbti.getInteger("HEALTH"));
attributes.addHealth(player, nbti.getInteger("HEALTH"));
}
if(nbti.hasKey("DEFENSE")) {
skills.addDefense(nbti.getInteger("DEFENSE"));
attributes.addDefense(player, nbti.getInteger("DEFENSE"));
}
if(nbti.hasKey("STRENGTH")) {
skills.addStrength(nbti.getInteger("STRENGTH"));
attributes.addStrength(player, nbti.getInteger("STRENGTH"));
}
it = nbti.getItem();
msgPlayer(player, Raxen.getPrefix() + color("&fYou successfully added the nbt " +attributes(args[0]) + "&fwith " + args[1] + "&f."));
updateSkills(player);
updateSkills(main, player);
player.getInventory().setItem(player.getInventory().getHeldItemSlot(), it);
}
return true;

View file

@ -0,0 +1,54 @@
package gq.unurled.raxen.commands.admin;
import gq.unurled.raxen.Raxen;
import gq.unurled.raxen.components.entity.EntityNamespacedKey;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.persistence.PersistentDataContainer;
import org.bukkit.persistence.PersistentDataType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
import java.util.UUID;
import static gq.unurled.raxen.components.entity.Entity.setNameSpacedKeys;
import static gq.unurled.raxen.utils.Utils.*;
public class SpawnEntity implements TabExecutor {
private Raxen main;
private EntityNamespacedKey namespacedKey;
public SpawnEntity(Raxen main) {
this.main = main;
this.namespacedKey = new EntityNamespacedKey(main);
}
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
if (!(sender instanceof Player)) {
log("&cConsole can't execute this command!");
return false;
}
Player player = (Player) sender;
if (player.hasPermission("raxen.entityspawn.cmd")) {
player.sendMessage(noPerms());
return false;
}
//example command : /entityspawn ZOMBIE "&cHello folks" 50 200
EntityType type = EntityType.valueOf(args[0]);
Entity e = player.getWorld().spawnEntity(player.getLocation(), type, false);
setNameSpacedKeys(e, "&cName", 100, 100,0,50,0,100,0,100,0);
return false;
}
@Override
public @Nullable List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) {
return null;
}
}

View file

@ -1,7 +1,7 @@
package gq.unurled.raxen.commands.player;
import gq.unurled.raxen.Raxen;
import gq.unurled.raxen.components.player.Skills;
import gq.unurled.raxen.components.player.Attributes.Attributes;
import gq.unurled.raxen.manager.ProfileManager;
import net.kyori.adventure.text.Component;
import org.bukkit.command.Command;
@ -18,8 +18,10 @@ import static gq.unurled.raxen.utils.Utils.*;
public class SkillsCommand implements TabExecutor {
private ProfileManager profileManager;
private Raxen main;
public SkillsCommand(Raxen main) {
this.main = main;
this.profileManager = main.getProfileManager();
}
@ -30,7 +32,7 @@ public class SkillsCommand implements TabExecutor {
return true;
}
Player player = (Player) sender;
Skills skills = profileManager.getPlayerProfile(player.getUniqueId()).getSkils();
Attributes attributes = new Attributes(main);
switch (args.length) {
case 0:
//open gui
@ -45,64 +47,64 @@ public class SkillsCommand implements TabExecutor {
switch (args[0]) {
case "health":
if(args[1].equalsIgnoreCase("add")) {
skills.setHealth(skills.getHealth() + Integer.parseInt(args[2]));
attributes.setHealth(player, attributes.getHealth(player) + Integer.parseInt(args[2]));
msgPlayer(player,"You were added " + args[2] + " health more!");
}
if(args[1].equalsIgnoreCase("set")) {
skills.setHealth(Integer.parseInt(args[2]));
attributes.setHealth(player, Integer.parseInt(args[2]));
msgPlayer(player,"You are set " + args[2] + " health!");
}
if(args[1].equalsIgnoreCase("remove")) {
skills.setHealth(skills.getHealth() - Integer.parseInt(args[2]));
attributes.setHealth(player ,attributes.getHealth(player) - Integer.parseInt(args[2]));
msgPlayer(player,"You were removeded " + args[2] + " health less!");
}
break;
case "defense":
if(args[1].equalsIgnoreCase("add")) {
skills.setDefense(skills.getDefense() + Integer.parseInt(args[2]));
attributes.setDefense(player, attributes.getDefense(player) + Integer.parseInt(args[2]));
msgPlayer(player,"You were added " + args[2] + " defense more!");
}
if(args[1].equalsIgnoreCase("set")) {
skills.setDefense(Integer.parseInt(args[2]));
attributes.setDefense(player, Integer.parseInt(args[2]));
msgPlayer(player,"You are set " + args[2] + " defense!");
}
if(args[1].equalsIgnoreCase("remove")) {
skills.setDefense(skills.getDefense() - Integer.parseInt(args[2]));
attributes.setDefense(player, attributes.getDefense(player) - Integer.parseInt(args[2]));
msgPlayer(player,"You were removed " + args[2] + " defense less!");
}
break;
case "speed":
if(args[1].equalsIgnoreCase("add")) {
skills.setSpeed(skills.getSpeed() + Integer.parseInt(args[2]));
attributes.setSpeed(player, attributes.getSpeed(player) + Integer.parseInt(args[2]));
msgPlayer(player,"You were added " + args[2] + " speed more!");
}
if(args[1].equalsIgnoreCase("set")) {
skills.setSpeed(Integer.parseInt(args[2]));
attributes.setSpeed(player, Integer.parseInt(args[2]));
msgPlayer(player,"You are set " + args[2] + " speed!");
}
if(args[1].equalsIgnoreCase("remove")) {
skills.setSpeed(skills.getSpeed() - Integer.parseInt(args[2]));
attributes.setSpeed(player, attributes.getSpeed(player) - Integer.parseInt(args[2]));
msgPlayer(player,"You were removed " + args[2] + " speed less!");
}
break;
case "stregnth":
if(args[1].equalsIgnoreCase("add")) {
skills.setStrength(skills.getStrength() + Integer.parseInt(args[2]));
attributes.setStrength(player, attributes.getStrength(player) + Integer.parseInt(args[2]));
msgPlayer(player,"You were added " + args[2] + " strength more!");
}
if(args[1].equalsIgnoreCase("set")) {
skills.setStrength(Integer.parseInt(args[2]));
attributes.setStrength(player, Integer.parseInt(args[2]));
msgPlayer(player,"You are set " + args[2] + " strength!");
}
if(args[1].equalsIgnoreCase("remove")) {
skills.setStrength(skills.getStrength() - Integer.parseInt(args[2]));
attributes.setStrength(player, attributes.getStrength(player) - Integer.parseInt(args[2]));
msgPlayer(player,"You were removed " + args[2] + " strength less!");
}
break;
}
gq.unurled.raxen.utils.Skills.updateSkills(player);
gq.unurled.raxen.utils.Skills.updateSkills(main, player);
}
return false;
}