mirror of
https://github.com/Auxilor/EcoEnchants.git
synced 2025-02-16 04:31:22 +01:00
Refactored commands
This commit is contained in:
parent
31986f256c
commit
476fc2bcfd
@ -0,0 +1,50 @@
|
||||
package com.willfp.ecoenchants.command;
|
||||
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class AbstractCommand implements CommandExecutor {
|
||||
private static AbstractCommand instance;
|
||||
|
||||
private final String name;
|
||||
private final String permission;
|
||||
private final boolean playersOnly;
|
||||
|
||||
protected AbstractCommand(String name, String permission, boolean playersOnly) {
|
||||
this.name = name;
|
||||
this.permission = permission;
|
||||
this.playersOnly = playersOnly;
|
||||
|
||||
instance = this;
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if(!command.getName().equalsIgnoreCase(name)) return false;
|
||||
|
||||
if(playersOnly && !(sender instanceof Player)) {
|
||||
sender.sendMessage(ConfigManager.getLang().getMessage("not-player"));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!sender.hasPermission(permission) && sender instanceof Player) {
|
||||
sender.sendMessage(ConfigManager.getLang().getNoPermission());
|
||||
return true;
|
||||
}
|
||||
|
||||
onExecute(sender, Arrays.asList(args));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public abstract void onExecute(CommandSender sender, List<String> args);
|
||||
|
||||
public static AbstractCommand getInstance() {
|
||||
return instance;
|
||||
}
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package com.willfp.ecoenchants.command.commands;
|
||||
|
||||
import com.willfp.ecoenchants.EcoEnchantsPlugin;
|
||||
import com.willfp.ecoenchants.command.AbstractCommand;
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public final class CommandEcodebug extends AbstractCommand {
|
||||
private CommandEcodebug() {
|
||||
super("ecodebug", "ecoenchants.ecodebug", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExecute(CommandSender sender, List<String> args) {
|
||||
Bukkit.getLogger().info("--------------- BEGIN DEBUG ----------------");
|
||||
Player player = (Player) sender;
|
||||
Bukkit.getLogger().info("Running Version: " + EcoEnchantsPlugin.getInstance().getDescription().getVersion());
|
||||
Bukkit.getLogger().info("Held Item: " + player.getInventory().getItemInMainHand().toString());
|
||||
Bukkit.getLogger().info("EcoEnchants.getAll(): " + EcoEnchants.getAll().toString());
|
||||
Bukkit.getLogger().info("Enchantment.values(): " + Arrays.toString(Enchantment.values()));
|
||||
try {
|
||||
Field byNameField = Enchantment.class.getDeclaredField("byName");
|
||||
byNameField.setAccessible(true);
|
||||
Map<String, Enchantment> byName = (Map<String, Enchantment>) byNameField.get(null);
|
||||
Bukkit.getLogger().info("Enchantment.byName: " + byName.toString());
|
||||
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Bukkit.getLogger().info("--------------- END DEBUG ----------------");
|
||||
}
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package com.willfp.ecoenchants.commands;
|
||||
package com.willfp.ecoenchants.command.commands;
|
||||
|
||||
import com.willfp.ecoenchants.EcoEnchantsPlugin;
|
||||
import com.willfp.ecoenchants.command.AbstractCommand;
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.display.EnchantDisplay;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||
@ -13,20 +14,17 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
public class CommandEcoreload implements CommandExecutor {
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (command.getName().equalsIgnoreCase("ecoreload")) {
|
||||
if (sender instanceof Player) {
|
||||
if (!sender.hasPermission("ecoenchants.reload")) {
|
||||
sender.sendMessage(ConfigManager.getLang().getNoPermission());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
reload();
|
||||
sender.sendMessage(ConfigManager.getLang().getMessage("reloaded"));
|
||||
}
|
||||
import java.util.List;
|
||||
|
||||
return false;
|
||||
public final class CommandEcoreload extends AbstractCommand {
|
||||
private CommandEcoreload() {
|
||||
super("ecoreload", "ecoenchants.reload", false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExecute(CommandSender sender, List<String> args) {
|
||||
reload();
|
||||
sender.sendMessage(ConfigManager.getLang().getMessage("reloaded"));
|
||||
}
|
||||
|
||||
public static void reload() {
|
@ -0,0 +1,38 @@
|
||||
package com.willfp.ecoenchants.command.commands;
|
||||
|
||||
import com.willfp.ecoenchants.command.AbstractCommand;
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.display.EnchantDisplay;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public final class CommandEcoskip extends AbstractCommand {
|
||||
private CommandEcoskip() {
|
||||
super("ecoskip", "ecoenchants.skip", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExecute(CommandSender sender, List<String> args) {
|
||||
Player player = (Player) sender;
|
||||
ItemStack item = player.getInventory().getItemInMainHand();
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
if(meta == null) {
|
||||
return;
|
||||
}
|
||||
if(meta.getPersistentDataContainer().has(EnchantDisplay.KEY_SKIP, PersistentDataType.INTEGER)) {
|
||||
meta.getPersistentDataContainer().remove(EnchantDisplay.KEY_SKIP);
|
||||
player.sendMessage(ConfigManager.getLang().getMessage("skip-removed"));
|
||||
} else {
|
||||
meta.getPersistentDataContainer().set(EnchantDisplay.KEY_SKIP, PersistentDataType.INTEGER, 1);
|
||||
player.sendMessage(ConfigManager.getLang().getMessage("skip-added"));
|
||||
}
|
||||
item.setItemMeta(meta);
|
||||
}
|
||||
}
|
@ -0,0 +1,140 @@
|
||||
package com.willfp.ecoenchants.command.commands;
|
||||
|
||||
import com.willfp.ecoenchants.command.AbstractCommand;
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchant;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public final class CommandEnchantinfo extends AbstractCommand {
|
||||
private CommandEnchantinfo() {
|
||||
super("enchantinfo", "ecoenchants.enchantinfo", false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExecute(CommandSender sender, List<String> args) {
|
||||
if(args.size() == 0) {
|
||||
sender.sendMessage(ConfigManager.getLang().getMessage("missing-enchant"));
|
||||
return;
|
||||
}
|
||||
StringBuilder nameBuilder = new StringBuilder();
|
||||
|
||||
args.forEach((arg) -> {
|
||||
nameBuilder.append(arg).append(" ");
|
||||
});
|
||||
String searchName = nameBuilder.toString();
|
||||
searchName = searchName.substring(0, searchName.length() - 1);
|
||||
|
||||
EcoEnchant enchantment = EcoEnchants.getByName(searchName);
|
||||
|
||||
boolean notFound = enchantment == null;
|
||||
|
||||
if(notFound) {
|
||||
String message = ConfigManager.getLang().getMessage("not-found").replace("%name%", searchName);
|
||||
sender.sendMessage(message);
|
||||
return;
|
||||
}
|
||||
|
||||
String name;
|
||||
String color;
|
||||
List<String> description;
|
||||
|
||||
boolean isCurse = enchantment.isCursed();
|
||||
boolean isSpecial = false;
|
||||
boolean isArtifact = false;
|
||||
|
||||
if(enchantment.getType().equals(EcoEnchant.EnchantmentType.SPECIAL)) {
|
||||
isSpecial = true;
|
||||
}
|
||||
if(enchantment.getType().equals(EcoEnchant.EnchantmentType.ARTIFACT)) {
|
||||
isArtifact = true;
|
||||
}
|
||||
|
||||
if(isCurse) color = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("curse-color"));
|
||||
else if(isSpecial) color = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("special-color"));
|
||||
else if(isArtifact) color = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("artifact-color"));
|
||||
else color = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("not-curse-color"));
|
||||
|
||||
|
||||
name = enchantment.getName();
|
||||
description = EcoEnchants.getFromEnchantment(enchantment).getDescription();
|
||||
StringBuilder descriptionBuilder = new StringBuilder();
|
||||
description.forEach((line) -> {
|
||||
descriptionBuilder.append(line).append(" ");
|
||||
});
|
||||
String desc = descriptionBuilder.toString();
|
||||
|
||||
Set<String> conflictNames = new HashSet<>();
|
||||
|
||||
Set<Enchantment> conflicts = enchantment.getConflicts();
|
||||
|
||||
conflicts.forEach((enchantment1 -> {
|
||||
if(EcoEnchants.getFromEnchantment(enchantment1) != null) {
|
||||
conflictNames.add(EcoEnchants.getFromEnchantment(enchantment1).getName());
|
||||
} else {
|
||||
conflictNames.add(ConfigManager.getLang().getString("vanilla." + enchantment1.getKey().getKey() + ".name"));
|
||||
}
|
||||
}));
|
||||
|
||||
StringBuilder conflictNamesBuilder = new StringBuilder();
|
||||
conflictNames.forEach((name1) -> {
|
||||
conflictNamesBuilder.append(name1).append(", ");
|
||||
});
|
||||
String allConflicts = conflictNamesBuilder.toString();
|
||||
if(allConflicts.length() >= 2) {
|
||||
allConflicts = allConflicts.substring(0, allConflicts.length() -2);
|
||||
} else {
|
||||
allConflicts = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("no-conflicts"));
|
||||
}
|
||||
|
||||
Set<Material> targets = enchantment.getTarget();
|
||||
|
||||
Set<String> applicableItemsSet = new HashSet<>();
|
||||
|
||||
targets.forEach(material -> {
|
||||
String matName = material.toString();
|
||||
matName = matName.toLowerCase();
|
||||
matName = matName.replaceAll("_", " ");
|
||||
matName = WordUtils.capitalize(matName);
|
||||
applicableItemsSet.add(matName);
|
||||
});
|
||||
|
||||
StringBuilder targetNamesBuilder = new StringBuilder();
|
||||
applicableItemsSet.forEach((name1) -> {
|
||||
targetNamesBuilder.append(name1).append(", ");
|
||||
});
|
||||
String allTargets = targetNamesBuilder.toString();
|
||||
if(allTargets.length() >= 2) {
|
||||
allTargets = allTargets.substring(0, allTargets.length() - 2);
|
||||
} else {
|
||||
allTargets = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("no-targets"));
|
||||
}
|
||||
|
||||
String maxLevel = String.valueOf(enchantment.getMaxLevel());
|
||||
|
||||
final String finalName = color + name;
|
||||
final String finalDescription = desc;
|
||||
final String finalTargets = allTargets;
|
||||
final String finalConflicts = allConflicts;
|
||||
final String finalMaxLevel = maxLevel;
|
||||
|
||||
Arrays.asList(ConfigManager.getLang().getMessage("enchantinfo").split("\\r?\\n")).forEach((string -> {
|
||||
string = string.replaceAll("%name%", finalName)
|
||||
.replaceAll("%description%", finalDescription)
|
||||
.replaceAll("%target%", finalTargets)
|
||||
.replaceAll("%conflicts%", finalConflicts)
|
||||
.replaceAll("%maxlevel%", finalMaxLevel);
|
||||
sender.sendMessage(string);
|
||||
}));
|
||||
}
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
package com.willfp.ecoenchants.commands;
|
||||
|
||||
import com.willfp.ecoenchants.EcoEnchantsPlugin;
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
|
||||
public class CommandEcodebug implements CommandExecutor {
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (command.getName().equalsIgnoreCase("ecodebug")) {
|
||||
if (!(sender instanceof Player)) {
|
||||
sender.sendMessage(ConfigManager.getLang().getMessage("not-player"));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!sender.hasPermission("ecoenchants.ecodebug")) {
|
||||
sender.sendMessage(ConfigManager.getLang().getNoPermission());
|
||||
return true;
|
||||
}
|
||||
|
||||
Bukkit.getLogger().info("--------------- BEGIN DEBUG ----------------");
|
||||
Player player = (Player) sender;
|
||||
Bukkit.getLogger().info("Running Version: " + EcoEnchantsPlugin.getInstance().getDescription().getVersion());
|
||||
Bukkit.getLogger().info("Held Item: " + player.getInventory().getItemInMainHand().toString());
|
||||
Bukkit.getLogger().info("EcoEnchants.getAll(): " + EcoEnchants.getAll().toString());
|
||||
Bukkit.getLogger().info("Enchantment.values(): " + Arrays.toString(Enchantment.values()));
|
||||
try {
|
||||
Field byNameField = Enchantment.class.getDeclaredField("byName");
|
||||
byNameField.setAccessible(true);
|
||||
Map<String, Enchantment> byName = (Map<String, Enchantment>) byNameField.get(null);
|
||||
Bukkit.getLogger().info("Enchantment.byName: " + byName.toString());
|
||||
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Bukkit.getLogger().info("--------------- END DEBUG ----------------");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
package com.willfp.ecoenchants.commands;
|
||||
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.display.EnchantDisplay;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
|
||||
public class CommandEcoskip implements CommandExecutor {
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (command.getName().equalsIgnoreCase("ecoskip")) {
|
||||
if (!(sender instanceof Player)) {
|
||||
sender.sendMessage(ConfigManager.getLang().getMessage("not-player"));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!sender.hasPermission("ecoenchants.skip")) {
|
||||
sender.sendMessage(ConfigManager.getLang().getNoPermission());
|
||||
return true;
|
||||
}
|
||||
|
||||
Player player = (Player) sender;
|
||||
ItemStack item = player.getInventory().getItemInMainHand();
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
if(meta == null) {
|
||||
return true;
|
||||
}
|
||||
if(meta.getPersistentDataContainer().has(EnchantDisplay.KEY_SKIP, PersistentDataType.INTEGER)) {
|
||||
meta.getPersistentDataContainer().remove(EnchantDisplay.KEY_SKIP);
|
||||
player.sendMessage(ConfigManager.getLang().getMessage("skip-removed"));
|
||||
} else {
|
||||
meta.getPersistentDataContainer().set(EnchantDisplay.KEY_SKIP, PersistentDataType.INTEGER, 1);
|
||||
player.sendMessage(ConfigManager.getLang().getMessage("skip-added"));
|
||||
}
|
||||
item.setItemMeta(meta);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,144 +0,0 @@
|
||||
package com.willfp.ecoenchants.commands;
|
||||
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchant;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class CommandEnchantinfo implements CommandExecutor {
|
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||
if (command.getName().equalsIgnoreCase("enchantinfo")) {
|
||||
if (!sender.hasPermission("ecoenchants.enchantinfo")) {
|
||||
sender.sendMessage(ConfigManager.getLang().getNoPermission());
|
||||
return true;
|
||||
}
|
||||
|
||||
if(args.length == 0) {
|
||||
sender.sendMessage(ConfigManager.getLang().getMessage("missing-enchant"));
|
||||
return true;
|
||||
}
|
||||
StringBuilder nameBuilder = new StringBuilder();
|
||||
|
||||
Arrays.asList(args).forEach((arg) -> {
|
||||
nameBuilder.append(arg).append(" ");
|
||||
});
|
||||
String searchName = nameBuilder.toString();
|
||||
searchName = searchName.substring(0, searchName.length() - 1);
|
||||
|
||||
EcoEnchant enchantment = EcoEnchants.getByName(searchName);
|
||||
|
||||
boolean notFound = enchantment == null;
|
||||
|
||||
if(notFound) {
|
||||
String message = ConfigManager.getLang().getMessage("not-found").replace("%name%", searchName);
|
||||
sender.sendMessage(message);
|
||||
return true;
|
||||
}
|
||||
|
||||
String name;
|
||||
String color;
|
||||
List<String> description;
|
||||
|
||||
boolean isCurse = enchantment.isCursed();
|
||||
boolean isSpecial = false;
|
||||
boolean isArtifact = false;
|
||||
|
||||
if(enchantment.getType().equals(EcoEnchant.EnchantmentType.SPECIAL)) {
|
||||
isSpecial = true;
|
||||
}
|
||||
if(enchantment.getType().equals(EcoEnchant.EnchantmentType.ARTIFACT)) {
|
||||
isArtifact = true;
|
||||
}
|
||||
|
||||
if(isCurse) color = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("curse-color"));
|
||||
else if(isSpecial) color = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("special-color"));
|
||||
else if(isArtifact) color = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("artifact-color"));
|
||||
else color = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("not-curse-color"));
|
||||
|
||||
|
||||
name = enchantment.getName();
|
||||
description = EcoEnchants.getFromEnchantment(enchantment).getDescription();
|
||||
StringBuilder descriptionBuilder = new StringBuilder();
|
||||
description.forEach((line) -> {
|
||||
descriptionBuilder.append(line).append(" ");
|
||||
});
|
||||
String desc = descriptionBuilder.toString();
|
||||
|
||||
Set<String> conflictNames = new HashSet<>();
|
||||
|
||||
Set<Enchantment> conflicts = enchantment.getConflicts();
|
||||
|
||||
conflicts.forEach((enchantment1 -> {
|
||||
if(EcoEnchants.getFromEnchantment(enchantment1) != null) {
|
||||
conflictNames.add(EcoEnchants.getFromEnchantment(enchantment1).getName());
|
||||
} else {
|
||||
conflictNames.add(ConfigManager.getLang().getString("vanilla." + enchantment1.getKey().getKey() + ".name"));
|
||||
}
|
||||
}));
|
||||
|
||||
StringBuilder conflictNamesBuilder = new StringBuilder();
|
||||
conflictNames.forEach((name1) -> {
|
||||
conflictNamesBuilder.append(name1).append(", ");
|
||||
});
|
||||
String allConflicts = conflictNamesBuilder.toString();
|
||||
if(allConflicts.length() >= 2) {
|
||||
allConflicts = allConflicts.substring(0, allConflicts.length() -2);
|
||||
} else {
|
||||
allConflicts = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("no-conflicts"));
|
||||
}
|
||||
|
||||
Set<Material> targets = enchantment.getTarget();
|
||||
|
||||
Set<String> applicableItemsSet = new HashSet<>();
|
||||
|
||||
targets.forEach(material -> {
|
||||
String matName = material.toString();
|
||||
matName = matName.toLowerCase();
|
||||
matName = matName.replaceAll("_", " ");
|
||||
matName = WordUtils.capitalize(matName);
|
||||
applicableItemsSet.add(matName);
|
||||
});
|
||||
|
||||
StringBuilder targetNamesBuilder = new StringBuilder();
|
||||
applicableItemsSet.forEach((name1) -> {
|
||||
targetNamesBuilder.append(name1).append(", ");
|
||||
});
|
||||
String allTargets = targetNamesBuilder.toString();
|
||||
if(allTargets.length() >= 2) {
|
||||
allTargets = allTargets.substring(0, allTargets.length() - 2);
|
||||
} else {
|
||||
allTargets = ChatColor.translateAlternateColorCodes('&', ConfigManager.getLang().getString("no-targets"));
|
||||
}
|
||||
|
||||
String maxLevel = String.valueOf(enchantment.getMaxLevel());
|
||||
|
||||
final String finalName = color + name;
|
||||
final String finalDescription = desc;
|
||||
final String finalTargets = allTargets;
|
||||
final String finalConflicts = allConflicts;
|
||||
final String finalMaxLevel = maxLevel;
|
||||
|
||||
Arrays.asList(ConfigManager.getLang().getMessage("enchantinfo").split("\\r?\\n")).forEach((string -> {
|
||||
string = string.replaceAll("%name%", finalName)
|
||||
.replaceAll("%description%", finalDescription)
|
||||
.replaceAll("%target%", finalTargets)
|
||||
.replaceAll("%conflicts%", finalConflicts)
|
||||
.replaceAll("%maxlevel%", finalMaxLevel);
|
||||
sender.sendMessage(string);
|
||||
}));
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
@ -4,10 +4,10 @@ import com.comphenix.protocol.ProtocolLibrary;
|
||||
import com.willfp.ecoenchants.EcoEnchantsPlugin;
|
||||
import com.willfp.ecoenchants.anvil.AnvilListeners;
|
||||
import com.willfp.ecoenchants.bstats.Metrics;
|
||||
import com.willfp.ecoenchants.commands.CommandEcodebug;
|
||||
import com.willfp.ecoenchants.commands.CommandEcoreload;
|
||||
import com.willfp.ecoenchants.commands.CommandEcoskip;
|
||||
import com.willfp.ecoenchants.commands.CommandEnchantinfo;
|
||||
import com.willfp.ecoenchants.command.commands.CommandEcodebug;
|
||||
import com.willfp.ecoenchants.command.commands.CommandEcoreload;
|
||||
import com.willfp.ecoenchants.command.commands.CommandEcoskip;
|
||||
import com.willfp.ecoenchants.command.commands.CommandEnchantinfo;
|
||||
import com.willfp.ecoenchants.config.ConfigManager;
|
||||
import com.willfp.ecoenchants.display.EnchantDisplay;
|
||||
import com.willfp.ecoenchants.display.packets.PacketOpenWindowMerchant;
|
||||
@ -380,10 +380,10 @@ public class Loader {
|
||||
*/
|
||||
|
||||
Bukkit.getLogger().info("Loading Commands...");
|
||||
Bukkit.getPluginCommand("ecoreload").setExecutor(new CommandEcoreload());
|
||||
Bukkit.getPluginCommand("ecodebug").setExecutor(new CommandEcodebug());
|
||||
Bukkit.getPluginCommand("enchantinfo").setExecutor(new CommandEnchantinfo());
|
||||
Bukkit.getPluginCommand("ecoskip").setExecutor(new CommandEcoskip());
|
||||
Bukkit.getPluginCommand("ecoreload").setExecutor(CommandEcoreload.getInstance());
|
||||
Bukkit.getPluginCommand("ecodebug").setExecutor(CommandEcodebug.getInstance());
|
||||
Bukkit.getPluginCommand("enchantinfo").setExecutor(CommandEnchantinfo.getInstance());
|
||||
Bukkit.getPluginCommand("ecoskip").setExecutor(CommandEcoskip.getInstance());
|
||||
Bukkit.getLogger().info("");
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user