Added netherite items in concept, trust and admin commands are conceptual as well.
This commit is contained in:
71
src/main/java/me/trouper/armorsmp/data/NetheritePiece.java
Normal file
71
src/main/java/me/trouper/armorsmp/data/NetheritePiece.java
Normal file
@@ -0,0 +1,71 @@
|
||||
package me.trouper.armorsmp.data;
|
||||
|
||||
import io.github.itzispyder.pdk.plugin.builders.ItemBuilder;
|
||||
import me.trouper.armorsmp.utils.Text;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public enum NetheritePiece {
|
||||
HELMET(ItemBuilder.create()
|
||||
.material(Material.NETHERITE_HELMET)
|
||||
.lore(Text.legacyColor("&bAbilities:"))
|
||||
.lore(Text.legacyColor("&3| &75 Extra Hearts"))
|
||||
.lore(Text.legacyColor("&3| &7Fire Resistence"))
|
||||
.enchant(Enchantment.BINDING_CURSE,1)
|
||||
.enchant(Enchantment.PROTECTION,4)
|
||||
.enchant(Enchantment.UNBREAKING,3)
|
||||
.enchant(Enchantment.MENDING,1)
|
||||
.enchant(Enchantment.RESPIRATION,3)
|
||||
.enchant(Enchantment.AQUA_AFFINITY,1)
|
||||
.build()
|
||||
),
|
||||
CHESTPLATE(ItemBuilder.create()
|
||||
.material(Material.NETHERITE_CHESTPLATE)
|
||||
.lore(Text.legacyColor("&bAbilities:"))
|
||||
.lore(Text.legacyColor("&3| &7Dragon's Breath"))
|
||||
.lore(Text.legacyColor("&3| &7Resistence I"))
|
||||
.lore(Text.legacyColor("&3| &7Strength I"))
|
||||
.enchant(Enchantment.BINDING_CURSE,1)
|
||||
.enchant(Enchantment.PROTECTION,4)
|
||||
.enchant(Enchantment.UNBREAKING,3)
|
||||
.enchant(Enchantment.MENDING,1)
|
||||
.build()
|
||||
),
|
||||
LEGGINGS(ItemBuilder.create()
|
||||
.material(Material.NETHERITE_LEGGINGS)
|
||||
.lore(Text.legacyColor("&bAbilities:"))
|
||||
.lore(Text.legacyColor("&3| &7Knockback Shield"))
|
||||
.lore(Text.legacyColor("&3| &7Resistence I"))
|
||||
.enchant(Enchantment.BINDING_CURSE,1)
|
||||
.enchant(Enchantment.PROTECTION,4)
|
||||
.enchant(Enchantment.UNBREAKING,3)
|
||||
.enchant(Enchantment.MENDING,1)
|
||||
.enchant(Enchantment.SWIFT_SNEAK,3)
|
||||
.build()
|
||||
),
|
||||
BOOTS(ItemBuilder.create()
|
||||
.material(Material.NETHERITE_BOOTS)
|
||||
.lore(Text.legacyColor("&bAbilities:"))
|
||||
.lore(Text.legacyColor("&3| &7Dash"))
|
||||
.lore(Text.legacyColor("&3| &7Speed 1"))
|
||||
.enchant(Enchantment.BINDING_CURSE,1)
|
||||
.enchant(Enchantment.PROTECTION,4)
|
||||
.enchant(Enchantment.UNBREAKING,3)
|
||||
.enchant(Enchantment.MENDING,1)
|
||||
.enchant(Enchantment.SOUL_SPEED,3)
|
||||
.enchant(Enchantment.FEATHER_FALLING,4)
|
||||
.enchant(Enchantment.DEPTH_STRIDER,3)
|
||||
.build()
|
||||
);
|
||||
|
||||
private ItemStack inGame;
|
||||
|
||||
NetheritePiece(ItemStack inGame) {
|
||||
this.inGame = inGame;
|
||||
}
|
||||
|
||||
public ItemStack getInGameItem() {
|
||||
return inGame;
|
||||
}
|
||||
}
|
||||
@@ -6,12 +6,14 @@ import me.trouper.armorsmp.server.commands.AdminCommand;
|
||||
import me.trouper.armorsmp.server.commands.TrustCommand;
|
||||
import me.trouper.armorsmp.server.crafting.ArmorUpgrade;
|
||||
import me.trouper.armorsmp.server.events.CraftEvent;
|
||||
import me.trouper.armorsmp.server.functions.ArmorBackend;
|
||||
import me.trouper.armorsmp.server.systems.ArmorBackend;
|
||||
import me.trouper.armorsmp.server.systems.TrustBackend;
|
||||
|
||||
public class Manager {
|
||||
// My systems
|
||||
public IO io;
|
||||
public ArmorBackend armor;
|
||||
public TrustBackend trust;
|
||||
|
||||
// Commands
|
||||
public AdminCommand adminCommand;
|
||||
@@ -23,6 +25,7 @@ public class Manager {
|
||||
public Manager() {
|
||||
io = new IO(); // IO must come as the first.
|
||||
armor = new ArmorBackend();
|
||||
trust = new TrustBackend();
|
||||
|
||||
adminCommand = new AdminCommand();
|
||||
trustCommand = new TrustCommand();
|
||||
|
||||
@@ -5,32 +5,185 @@ import io.github.itzispyder.pdk.commands.CommandRegistry;
|
||||
import io.github.itzispyder.pdk.commands.CustomCommand;
|
||||
import io.github.itzispyder.pdk.commands.Permission;
|
||||
import io.github.itzispyder.pdk.commands.completions.CompletionBuilder;
|
||||
import me.trouper.armorsmp.ArmorSMP;
|
||||
import me.trouper.armorsmp.data.ArmorTier;
|
||||
import me.trouper.armorsmp.data.NetheritePiece;
|
||||
import me.trouper.armorsmp.server.crafting.ArmorUpgrade;
|
||||
import me.trouper.armorsmp.utils.Text;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@CommandRegistry(value = "armorsmp", permission = @Permission("op"), printStackTrace = true)
|
||||
public class AdminCommand implements CustomCommand {
|
||||
|
||||
|
||||
@Override
|
||||
public void dispatchCommand(CommandSender sender, Command command, String label, Args args) {
|
||||
if (args.getSize() < 1) {
|
||||
Text.sendError(sender, "Error: Valid sub-commands are: [change, give, toggle, reset, remove]");
|
||||
return;
|
||||
}
|
||||
switch (label) {
|
||||
String sub = args.get(0).toString();
|
||||
switch (sub) {
|
||||
case "change" -> {
|
||||
|
||||
if (args.getSize() < 3) {
|
||||
Text.sendError(sender, "Usage: /armorsmp change <tier> <player>");
|
||||
return;
|
||||
}
|
||||
final String tierName = args.get(1).toString();
|
||||
final String playerName = args.get(2).toString();
|
||||
final OfflinePlayer target = Bukkit.getPlayer(playerName);
|
||||
|
||||
if (target == null) {
|
||||
Text.sendError(sender, "Player not found or offline.");
|
||||
return;
|
||||
}
|
||||
try {
|
||||
ArmorTier tier = ArmorTier.valueOf(tierName.toUpperCase());
|
||||
ArmorSMP.getInstance().getManager().armor.setTier(target,tier);
|
||||
|
||||
Text.sendMessage(false, Text.Pallet.SUCCESS, sender,"Changed armor tier to {0} for {1}",tier,target.getName());
|
||||
} catch (IllegalArgumentException e) {
|
||||
Text.sendError(sender, "Invalid tier! Valid tiers: " + Arrays.toString(ArmorTier.values()));
|
||||
}
|
||||
}
|
||||
default -> {
|
||||
Text.sendError(sender, "Error: Valid sub-commands are: [change, give, toggle, reset, remove]");
|
||||
case "give" -> {
|
||||
if (args.getSize() < 2) {
|
||||
Text.sendError(sender, "Usage: /armorsmp give <upgrader|netherite|mace> ...");
|
||||
return;
|
||||
}
|
||||
String type = args.get(1).toString().toLowerCase();
|
||||
|
||||
switch (type) {
|
||||
case "upgrader" -> {
|
||||
if (args.getSize() < 3) {
|
||||
Text.sendError(sender, "Usage: /armorsmp give upgrader <player>");
|
||||
return;
|
||||
}
|
||||
Player target = Bukkit.getPlayer(args.get(2).toString());
|
||||
if (target == null) {
|
||||
Text.sendError(sender, "Player not found or offline.");
|
||||
return;
|
||||
}
|
||||
|
||||
target.getInventory().addItem(ArmorUpgrade.ARMOR_UGPRADE);
|
||||
|
||||
Text.sendMessage(false, Text.Pallet.SUCCESS, sender, "Given and Upgrader to {0}",target.getName());
|
||||
}
|
||||
case "netherite" -> {
|
||||
if (args.getSize() < 4) {
|
||||
Text.sendError(sender, "Usage: /armorsmp give netherite <piece> <player>");
|
||||
return;
|
||||
}
|
||||
NetheritePiece piece = args.get(2).toEnum(NetheritePiece.class);
|
||||
if (piece == null) {
|
||||
Text.sendMessage(false, Text.Pallet.ERROR,sender,"Error: {0} is not a valid Netherite piece.",args.get(2).toString());
|
||||
return;
|
||||
}
|
||||
|
||||
Player target = Bukkit.getPlayer(args.get(3).toString());
|
||||
|
||||
if (target == null) {
|
||||
Text.sendError(sender, "Player not found or offline.");
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: Handle netherite stuff
|
||||
|
||||
Text.sendMessage(false, Text.Pallet.SUCCESS, sender, "Given {0} to {1}",piece.name().toLowerCase(), target.getName());
|
||||
}
|
||||
case "mace" -> {
|
||||
if (args.getSize() < 3) {
|
||||
Text.sendError(sender, "Usage: /armorsmp give mace <player>");
|
||||
return;
|
||||
}
|
||||
Player target = Bukkit.getPlayer(args.get(2).toString());
|
||||
if (target == null) {
|
||||
Text.sendError(sender, "Player not found or offline.");
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: handle Mace stuff
|
||||
|
||||
Text.sendMessage(false, Text.Pallet.SUCCESS, sender, "Given {0} to {1}","mace",target.getName());
|
||||
}
|
||||
default -> Text.sendError(sender, "Invalid give type! Valid types: upgrader, netherite, mace");
|
||||
}
|
||||
}
|
||||
case "toggle" -> {
|
||||
if (args.getSize() < 2) {
|
||||
Text.sendError(sender, "Usage: /armorsmp toggle <end|nether|mace>");
|
||||
return;
|
||||
}
|
||||
String feature = args.get(1).toString().toLowerCase();
|
||||
// TODO: toggles
|
||||
Text.sendMessage(false, Text.Pallet.SUCCESS, sender, "Toggled the {0}",feature);
|
||||
}
|
||||
case "reset" -> {
|
||||
if (args.getSize() < 2 || !args.get(1).toString().equalsIgnoreCase("mace")) {
|
||||
Text.sendError(sender, "Usage: /armorsmp reset mace");
|
||||
return;
|
||||
}
|
||||
// TODO: mace reset
|
||||
Text.sendMessage(false, Text.Pallet.SUCCESS, sender, "Reset Mace");
|
||||
}
|
||||
case "remove" -> {
|
||||
String type = args.get(1).toString().toLowerCase();
|
||||
|
||||
switch (type) {
|
||||
case "netherite" -> {
|
||||
if (args.getSize() < 4) {
|
||||
Text.sendError(sender, "Usage: /armorsmp remove <piece> <player>");
|
||||
return;
|
||||
}
|
||||
NetheritePiece piece = args.get(2).toEnum(NetheritePiece.class);
|
||||
Player target = Bukkit.getPlayer(args.get(3).toString());
|
||||
|
||||
if (target == null) {
|
||||
Text.sendError(sender, "Player not found or offline.");
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: armor removal
|
||||
Text.sendMessage(false, Text.Pallet.SUCCESS, sender, "Removed {0} from {1}", piece.name().toLowerCase(), target.getName());
|
||||
}
|
||||
default -> Text.sendError(sender, "Invalid give type! Valid types: netherite");
|
||||
}
|
||||
}
|
||||
default -> Text.sendError(sender, "Error: Valid sub-commands are: [change, give, toggle, reset, remove]");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchCompletions(CommandSender commandSender, Command command, String label, CompletionBuilder completionBuilder) {
|
||||
|
||||
public void dispatchCompletions(CommandSender commandSender, Command command, String label, CompletionBuilder b) {
|
||||
b.then(
|
||||
b.arg("change")
|
||||
.then(b.argEnum(ArmorTier.class).then(b.argOnlinePlayers()))
|
||||
).then(
|
||||
b.arg("give")
|
||||
.then(b.arg("upgrader")
|
||||
.then(b.argOnlinePlayers()))
|
||||
.then(b.arg("netherite")
|
||||
.then(b.argEnum(NetheritePiece.class)
|
||||
.then(b.argOnlinePlayers())))
|
||||
.then(b.arg("mace")
|
||||
.then(b.argOnlinePlayers()))
|
||||
).then(
|
||||
b.arg("reset")
|
||||
.then(b.arg("mace"))
|
||||
).then(
|
||||
b.arg("remove")
|
||||
.then(b.arg("netherite")
|
||||
.then(b.argEnum(NetheritePiece.class)
|
||||
.then(b.argOnlinePlayers())))
|
||||
).then(b.arg("toggle")
|
||||
.then(b.arg("end","nether","mace")));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,19 +1,92 @@
|
||||
package me.trouper.armorsmp.server.commands;
|
||||
|
||||
import io.github.itzispyder.pdk.commands.Args;
|
||||
import io.github.itzispyder.pdk.commands.CommandRegistry;
|
||||
import io.github.itzispyder.pdk.commands.CustomCommand;
|
||||
import io.github.itzispyder.pdk.commands.completions.CompletionBuilder;
|
||||
import me.trouper.armorsmp.ArmorSMP;
|
||||
import me.trouper.armorsmp.utils.Text;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
@CommandRegistry(value = "trust", playersOnly = true, printStackTrace = true)
|
||||
public class TrustCommand implements CustomCommand {
|
||||
@Override
|
||||
public void dispatchCommand(CommandSender commandSender, Command command, String s, Args args) {
|
||||
public void dispatchCommand(CommandSender sender, Command command, String label, Args args) {
|
||||
if (args.getSize() < 1) {
|
||||
Text.sendError(sender, "Error: Valid sub-commands are: [add, remove, list]");
|
||||
return;
|
||||
}
|
||||
|
||||
final String sub = args.get(0).toString();
|
||||
|
||||
switch (sub) {
|
||||
case "add" -> {
|
||||
if (args.getSize() < 2) {
|
||||
Text.sendError(sender, "Usage: /trust add <player>");
|
||||
return;
|
||||
}
|
||||
final String target = args.get(1).toString();
|
||||
final OfflinePlayer trustee = Bukkit.getOfflinePlayer(target);
|
||||
|
||||
if (trustee == null) {
|
||||
Text.sendError(sender, "Player not found online or offline.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ArmorSMP.getInstance().getManager().trust.addTrust((Player) sender,trustee.getUniqueId())) {
|
||||
Text.sendMessage(true, Text.Pallet.SUCCESS,sender,"Successfully trusted {0}.",target);
|
||||
if (trustee.isOnline())Text.sendMessage(true, Text.Pallet.SUCCESS,(Player) trustee,"Successfully trusted {0}.",sender.getName());
|
||||
} else {
|
||||
Text.sendMessage(true, Text.Pallet.NEUTRAL,sender,"You already have {0} trusted.",target);
|
||||
}
|
||||
}
|
||||
case "remove" -> {
|
||||
if (args.getSize() < 2) {
|
||||
Text.sendError(sender, "Usage: /trust remove <player>");
|
||||
return;
|
||||
}
|
||||
final String target = args.get(1).toString();
|
||||
final OfflinePlayer trustee = Bukkit.getOfflinePlayer(target);
|
||||
|
||||
if (trustee == null) {
|
||||
Text.sendError(sender, "Player not found online or offline.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ArmorSMP.getInstance().getManager().trust.removeTrust((Player) sender,trustee.getUniqueId())) {
|
||||
Text.sendMessage(true, Text.Pallet.SUCCESS,sender,"Successfully un-trusted {0}.",target);
|
||||
if (trustee.isOnline())Text.sendMessage(true, Text.Pallet.SUCCESS,(Player) trustee,"{0} has un-trusted you.",sender.getName());
|
||||
} else {
|
||||
Text.sendMessage(true, Text.Pallet.NEUTRAL,sender,"You do not have {0} trusted.",target);
|
||||
}
|
||||
}
|
||||
case "list" -> {
|
||||
final Set<String> trustees = ArmorSMP.getInstance().getManager().trust.getTrustees((Player) sender);
|
||||
Set<String> names = new HashSet<>();
|
||||
for (String trustee : trustees) {
|
||||
names.add(Bukkit.getOfflinePlayer(UUID.fromString(trustee)).getName());
|
||||
}
|
||||
Text.sendMessage(false, Text.Pallet.NEUTRAL,sender,"You currently have {0} players trusted: {1}",trustees.size(), Arrays.toString(names.toArray()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchCompletions(CommandSender commandSender, Command command, String s, CompletionBuilder completionBuilder) {
|
||||
|
||||
public void dispatchCompletions(CommandSender commandSender, Command command, String s, CompletionBuilder b) {
|
||||
b.then(
|
||||
b.arg("add","remove")
|
||||
.then(b.argOnlinePlayers())
|
||||
).then(
|
||||
b.arg("list")
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.bukkit.inventory.ShapedRecipe;
|
||||
public class ArmorUpgrade {
|
||||
public static final ItemStack ARMOR_UGPRADE = ItemBuilder.create()
|
||||
.material(Material.NETHER_STAR)
|
||||
.name("§b§lArmor Upgrade")
|
||||
.name("§b§lArmor Upgrader")
|
||||
.lore("§9| §3Right click to upgrade your gear")
|
||||
.count(1)
|
||||
.customModelData(1)
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package me.trouper.armorsmp.server.events;
|
||||
|
||||
import io.github.itzispyder.pdk.events.CustomListener;
|
||||
import me.trouper.armorsmp.ArmorSMP;
|
||||
import me.trouper.armorsmp.utils.Text;
|
||||
import me.trouper.armorsmp.utils.Verbose;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.inventory.CraftItemEvent;
|
||||
@@ -14,6 +16,8 @@ public class CraftEvent implements CustomListener {
|
||||
final ItemStack result = e.getRecipe().getResult();
|
||||
final String name = result.getType().name();
|
||||
final Player p = (Player) e.getWhoClicked();
|
||||
|
||||
Verbose.send("Handling craft for %s, result: %s", p.getName(), result.getType().name());
|
||||
|
||||
if (!name.contains("HELMET")
|
||||
&& !name.contains("CHESTPLATE")
|
||||
@@ -24,7 +28,10 @@ public class CraftEvent implements CustomListener {
|
||||
&& !name.contains("NETHERITE_AXE")
|
||||
&& !name.contains("NETHERITE_SHOVEL")
|
||||
&& !name.contains("NETHERITE_HOE")
|
||||
&& (!ArmorSMP.getInstance().getManager().io.config.maceCraftingEnabled && !name.contains("MACE"))
|
||||
) return;
|
||||
|
||||
Verbose.send("%s Attempted to craft a disabled item.", p.getName());
|
||||
|
||||
e.setCancelled(true);
|
||||
p.closeInventory();
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package me.trouper.armorsmp.server.functions;
|
||||
package me.trouper.armorsmp.server.systems;
|
||||
|
||||
import me.trouper.armorsmp.ArmorSMP;
|
||||
import me.trouper.armorsmp.data.ArmorTier;
|
||||
import me.trouper.armorsmp.data.Storage;
|
||||
import org.bukkit.entity.Player;
|
||||
import me.trouper.armorsmp.utils.Verbose;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
|
||||
public class ArmorBackend {
|
||||
|
||||
@@ -13,26 +14,29 @@ public class ArmorBackend {
|
||||
storage = ArmorSMP.getInstance().getManager().io.storage;
|
||||
}
|
||||
|
||||
public void setTier(Player target, ArmorTier tier) {
|
||||
public void setTier(OfflinePlayer target, ArmorTier tier) {
|
||||
Verbose.send("Setting tier of %s to %s",target.getName(),tier);
|
||||
storage.userData.playerTiers.put(target.getUniqueId().toString(),tier.getNumeric());
|
||||
storage.save();
|
||||
}
|
||||
|
||||
public void setTier(Player target, int tier) {
|
||||
public void setTier(OfflinePlayer target, int tier) {
|
||||
Verbose.send("Setting tier of %s to %s",target.getName(),tier);
|
||||
setTier(target,ArmorTier.getTier(tier));
|
||||
}
|
||||
|
||||
public void downTier(Player target) {
|
||||
public void downTier(OfflinePlayer target) {
|
||||
int numeric = storage.userData.playerTiers.get(target.getUniqueId().toString());
|
||||
setTier(target,ArmorTier.getTier(numeric - 1));
|
||||
}
|
||||
|
||||
public void upTier(Player target) {
|
||||
public void upTier(OfflinePlayer target) {
|
||||
int numeric = storage.userData.playerTiers.get(target.getUniqueId().toString());
|
||||
setTier(target,ArmorTier.getTier(numeric + 1));
|
||||
}
|
||||
|
||||
public ArmorTier getTier(Player target) {
|
||||
public ArmorTier getTier(OfflinePlayer target) {
|
||||
Verbose.send("Getting tier of %s", target.getName());
|
||||
int numeric = storage.userData.playerTiers.get(target.getUniqueId().toString());
|
||||
for (ArmorTier value : ArmorTier.values()) {
|
||||
if (value.getNumeric() == numeric) return value;
|
||||
@@ -0,0 +1,38 @@
|
||||
package me.trouper.armorsmp.server.systems;
|
||||
|
||||
import me.trouper.armorsmp.ArmorSMP;
|
||||
import me.trouper.armorsmp.data.Storage;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
public class TrustBackend {
|
||||
private final Storage storage;
|
||||
|
||||
public TrustBackend() {
|
||||
storage = ArmorSMP.getInstance().getManager().io.storage;
|
||||
}
|
||||
|
||||
public boolean addTrust(Player truster, UUID trustee) {
|
||||
Set<String> trustees = getTrustees(truster);
|
||||
boolean added = trustees.add(trustee.toString());
|
||||
storage.userData.playerTrust.put(truster.getUniqueId().toString(),trustees);
|
||||
storage.save();
|
||||
return added;
|
||||
}
|
||||
|
||||
public boolean removeTrust(Player truster, UUID trustee) {
|
||||
Set<String> trustees = getTrustees(truster);
|
||||
boolean removed = trustees.remove(trustee.toString());
|
||||
storage.userData.playerTrust.put(truster.getUniqueId().toString(),trustees);
|
||||
storage.save();
|
||||
return removed;
|
||||
}
|
||||
|
||||
public Set<String> getTrustees(Player target) {
|
||||
return storage.userData.playerTrust.getOrDefault(target.getUniqueId(),new HashSet<>());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -26,23 +26,23 @@ public class Text {
|
||||
}
|
||||
|
||||
public static void sendWarning(CommandSender sender, String warning, Object... args) {
|
||||
sendMessage(Pallet.WARNING, sender, warning, false, args);
|
||||
sendMessage(false, Pallet.WARNING, sender, warning, args);
|
||||
}
|
||||
|
||||
public static void sendError(CommandSender sender, String error, Object... args) {
|
||||
sendMessage(Pallet.ERROR, sender, error, false, args);
|
||||
sendMessage(false, Pallet.ERROR, sender, error, args);
|
||||
}
|
||||
|
||||
public static void sendMessage(CommandSender sender, String text, boolean allowTip, Object... args) {
|
||||
sendMessage(Pallet.NEUTRAL, sender, text, allowTip, args);
|
||||
public static void sendMessage(boolean allowTip, CommandSender sender, String text, Object... args) {
|
||||
sendMessage(false, Pallet.NEUTRAL, sender, text, args);
|
||||
}
|
||||
|
||||
public static void sendMessage(Pallet pallet, CommandSender sender, String text, boolean allowTip, Object... args) {
|
||||
public static void sendMessage(boolean allowTip, Pallet pallet, CommandSender sender, String text, Object... args) {
|
||||
text = formatArgs(pallet, text, args);
|
||||
sendMessage(sender, text, allowTip);
|
||||
sendMessage(allowTip,sender, text);
|
||||
}
|
||||
|
||||
public static void sendMessage(CommandSender sender, String text, boolean allowTip) {
|
||||
public static void sendMessage(boolean allowTip, CommandSender sender, String text) {
|
||||
if (sender instanceof Player player) {
|
||||
allowTip = allowTip
|
||||
&& ArmorSMP.getInstance().getManager().io.config.tips.tipsEnabled
|
||||
|
||||
Reference in New Issue
Block a user