1.2.1
This commit is contained in:
parent
d9d9128539
commit
7b6fc59673
15 changed files with 354 additions and 10 deletions
|
|
@ -64,6 +64,8 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||||
reset(sender,args,messagesConfig,msgManager);
|
reset(sender,args,messagesConfig,msgManager);
|
||||||
}else if(args[0].equalsIgnoreCase("edit")) {
|
}else if(args[0].equalsIgnoreCase("edit")) {
|
||||||
edit(player,args,messagesConfig,msgManager);
|
edit(player,args,messagesConfig,msgManager);
|
||||||
|
}else if(args[0].equalsIgnoreCase("verify")){
|
||||||
|
verify(player,messagesConfig,msgManager);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
// /kit <kit> (short command)
|
// /kit <kit> (short command)
|
||||||
|
|
@ -76,6 +78,10 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
// /kit
|
// /kit
|
||||||
|
if(plugin.getVerifyManager().isCriticalErrors()){
|
||||||
|
msgManager.sendMessage(player,messagesConfig.getString("pluginCriticalErrors"),true);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
plugin.getInventoryManager().openInventory(new InventoryPlayer(player,"main_inventory"));
|
plugin.getInventoryManager().openInventory(new InventoryPlayer(player,"main_inventory"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -98,10 +104,19 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||||
sender.sendMessage(MessagesManager.getColoredMessage("&6/kit delete <kit> &8Deletes a kit."));
|
sender.sendMessage(MessagesManager.getColoredMessage("&6/kit delete <kit> &8Deletes a kit."));
|
||||||
sender.sendMessage(MessagesManager.getColoredMessage("&6/kit reset <kit> <player> &8Resets kit data for a player."));
|
sender.sendMessage(MessagesManager.getColoredMessage("&6/kit reset <kit> <player> &8Resets kit data for a player."));
|
||||||
sender.sendMessage(MessagesManager.getColoredMessage("&6/kit reload &8Reloads the config."));
|
sender.sendMessage(MessagesManager.getColoredMessage("&6/kit reload &8Reloads the config."));
|
||||||
|
sender.sendMessage(MessagesManager.getColoredMessage("&6/kit verify &8Checks the plugin for errors."));
|
||||||
sender.sendMessage(MessagesManager.getColoredMessage(" "));
|
sender.sendMessage(MessagesManager.getColoredMessage(" "));
|
||||||
sender.sendMessage(MessagesManager.getColoredMessage("&7[ [ &8[&bPlayerKits&a²&8] &7] ]"));
|
sender.sendMessage(MessagesManager.getColoredMessage("&7[ [ &8[&bPlayerKits&a²&8] &7] ]"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void verify(Player player,FileConfiguration messagesConfig,MessagesManager msgManager){
|
||||||
|
if(!PlayerUtils.isPlayerKitsAdmin(player)){
|
||||||
|
msgManager.sendMessage(player,messagesConfig.getString("noPermissions"),true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
plugin.getVerifyManager().sendVerification(player);
|
||||||
|
}
|
||||||
|
|
||||||
public void reload(CommandSender sender,String[] args,FileConfiguration messagesConfig,MessagesManager msgManager){
|
public void reload(CommandSender sender,String[] args,FileConfiguration messagesConfig,MessagesManager msgManager){
|
||||||
if(!PlayerUtils.isPlayerKitsAdmin(sender)){
|
if(!PlayerUtils.isPlayerKitsAdmin(sender)){
|
||||||
msgManager.sendMessage(sender,messagesConfig.getString("noPermissions"),true);
|
msgManager.sendMessage(sender,messagesConfig.getString("noPermissions"),true);
|
||||||
|
|
@ -272,6 +287,7 @@ public class MainCommand implements CommandExecutor, TabCompleter {
|
||||||
if(PlayerUtils.isPlayerKitsAdmin(sender)){
|
if(PlayerUtils.isPlayerKitsAdmin(sender)){
|
||||||
commands.add("give");commands.add("delete");commands.add("create");
|
commands.add("give");commands.add("delete");commands.add("create");
|
||||||
commands.add("reload");commands.add("reset");commands.add("edit");
|
commands.add("reload");commands.add("reset");commands.add("edit");
|
||||||
|
commands.add("verify");
|
||||||
}
|
}
|
||||||
for(String c : commands) {
|
for(String c : commands) {
|
||||||
if(args[0].isEmpty() || c.startsWith(args[0].toLowerCase())) {
|
if(args[0].isEmpty() || c.startsWith(args[0].toLowerCase())) {
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ public class PlayerKits2 extends JavaPlugin {
|
||||||
private InventoryEditManager inventoryEditManager;
|
private InventoryEditManager inventoryEditManager;
|
||||||
private NMSManager nmsManager;
|
private NMSManager nmsManager;
|
||||||
private UpdateCheckerManager updateCheckerManager;
|
private UpdateCheckerManager updateCheckerManager;
|
||||||
|
private VerifyManager verifyManager;
|
||||||
|
|
||||||
private InventoryUpdateTaskManager inventoryUpdateTaskManager;
|
private InventoryUpdateTaskManager inventoryUpdateTaskManager;
|
||||||
private PlayerDataSaveTask playerDataSaveTask;
|
private PlayerDataSaveTask playerDataSaveTask;
|
||||||
|
|
@ -56,6 +57,9 @@ public class PlayerKits2 extends JavaPlugin {
|
||||||
this.inventoryUpdateTaskManager = new InventoryUpdateTaskManager(this);
|
this.inventoryUpdateTaskManager = new InventoryUpdateTaskManager(this);
|
||||||
this.inventoryUpdateTaskManager.start();
|
this.inventoryUpdateTaskManager.start();
|
||||||
|
|
||||||
|
this.verifyManager = new VerifyManager(this);
|
||||||
|
this.verifyManager.verify();
|
||||||
|
|
||||||
if(configsManager.getMainConfigManager().isMySQL()){
|
if(configsManager.getMainConfigManager().isMySQL()){
|
||||||
mySQLConnection = new MySQLConnection(this);
|
mySQLConnection = new MySQLConnection(this);
|
||||||
mySQLConnection.setupMySql();
|
mySQLConnection.setupMySql();
|
||||||
|
|
@ -147,12 +151,16 @@ public class PlayerKits2 extends JavaPlugin {
|
||||||
return updateCheckerManager;
|
return updateCheckerManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public VerifyManager getVerifyManager() {
|
||||||
|
return verifyManager;
|
||||||
|
}
|
||||||
|
|
||||||
public void updateMessage(UpdateCheckerResult result){
|
public void updateMessage(UpdateCheckerResult result){
|
||||||
if(!result.isError()){
|
if(!result.isError()){
|
||||||
String latestVersion = result.getLatestVersion();
|
String latestVersion = result.getLatestVersion();
|
||||||
if(latestVersion != null){
|
if(latestVersion != null){
|
||||||
Bukkit.getConsoleSender().sendMessage(MessagesManager.getColoredMessage("&cThere is a new version available. &e(&7"+latestVersion+"&e)"));
|
Bukkit.getConsoleSender().sendMessage(MessagesManager.getColoredMessage("&cThere is a new version available. &e(&7"+latestVersion+"&e)"));
|
||||||
Bukkit.getConsoleSender().sendMessage(MessagesManager.getColoredMessage("&cYou can download it at: &fhttps://www.spigotmc.org/resources/112616/"));
|
Bukkit.getConsoleSender().sendMessage(MessagesManager.getColoredMessage("&cYou can download it at: &fhttps://modrinth.com/plugin/playerkits-2"));
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
Bukkit.getConsoleSender().sendMessage(MessagesManager.getColoredMessage(prefix+"&cError while checking update."));
|
Bukkit.getConsoleSender().sendMessage(MessagesManager.getColoredMessage(prefix+"&cError while checking update."));
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,8 @@ public class ConfigsManager {
|
||||||
plugin.reloadPlayerDataSaveTask();
|
plugin.reloadPlayerDataSaveTask();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
plugin.getVerifyManager().verify();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ public class MessagesConfigManager {
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.configFile = new CustomConfig("messages.yml",plugin,null, false);
|
this.configFile = new CustomConfig("messages.yml",plugin,null, false);
|
||||||
this.configFile.registerConfig();
|
this.configFile.registerConfig();
|
||||||
|
checkUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void configure(){
|
public void configure(){
|
||||||
|
|
@ -38,6 +38,10 @@ public class MessagesConfigManager {
|
||||||
this.plugin.setMessagesManager(msgManager);
|
this.plugin.setMessagesManager(msgManager);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void saveConfig(){
|
||||||
|
configFile.saveConfig();
|
||||||
|
}
|
||||||
|
|
||||||
public boolean reloadConfig(){
|
public boolean reloadConfig(){
|
||||||
if(!configFile.reloadConfig()){
|
if(!configFile.reloadConfig()){
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -54,13 +58,11 @@ public class MessagesConfigManager {
|
||||||
Path pathConfig = Paths.get(configFile.getRoute());
|
Path pathConfig = Paths.get(configFile.getRoute());
|
||||||
try{
|
try{
|
||||||
String text = new String(Files.readAllBytes(pathConfig));
|
String text = new String(Files.readAllBytes(pathConfig));
|
||||||
/*
|
if(!text.contains("pluginCriticalErrors:")){
|
||||||
if(!text.contains("register_commands:")){
|
getConfig().set("pluginCriticalErrors", "&cThe plugin has detected some errors. Check them using &7/kit verify");
|
||||||
List<String> commands = new ArrayList<>();
|
|
||||||
getConfig().set("Config.register_commands", commands);
|
|
||||||
saveConfig();
|
saveConfig();
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
}catch(IOException e){
|
}catch(IOException e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ public class InventoryEditListener implements Listener {
|
||||||
if(inventoryPlayer.getInventoryName().startsWith("edit_position")){
|
if(inventoryPlayer.getInventoryName().startsWith("edit_position")){
|
||||||
invManager.getInventoryEditPositionManager().closeInventory(inventoryPlayer);
|
invManager.getInventoryEditPositionManager().closeInventory(inventoryPlayer);
|
||||||
}
|
}
|
||||||
|
plugin.getVerifyManager().verify();
|
||||||
}
|
}
|
||||||
plugin.getInventoryEditManager().removeInventoryPlayer(player);
|
plugin.getInventoryEditManager().removeInventoryPlayer(player);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ public class PlayerListener implements Listener {
|
||||||
String latestVersion = plugin.getUpdateCheckerManager().getLatestVersion();
|
String latestVersion = plugin.getUpdateCheckerManager().getLatestVersion();
|
||||||
if(player.isOp() && plugin.getConfigsManager().getMainConfigManager().isUpdateNotify() && !plugin.version.equals(latestVersion)){
|
if(player.isOp() && plugin.getConfigsManager().getMainConfigManager().isUpdateNotify() && !plugin.version.equals(latestVersion)){
|
||||||
player.sendMessage(MessagesManager.getColoredMessage(plugin.prefix+"&cThere is a new version available. &e(&7"+latestVersion+"&e)"));
|
player.sendMessage(MessagesManager.getColoredMessage(plugin.prefix+"&cThere is a new version available. &e(&7"+latestVersion+"&e)"));
|
||||||
player.sendMessage(MessagesManager.getColoredMessage("&cYou can download it at: &ahttps://www.spigotmc.org/resources/112616/"));
|
player.sendMessage(MessagesManager.getColoredMessage("&cYou can download it at: &ahttps://modrinth.com/plugin/playerkits-2"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
103
src/main/java/pk/ajneb97/managers/VerifyManager.java
Normal file
103
src/main/java/pk/ajneb97/managers/VerifyManager.java
Normal file
|
|
@ -0,0 +1,103 @@
|
||||||
|
package pk.ajneb97.managers;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import pk.ajneb97.PlayerKits2;
|
||||||
|
import pk.ajneb97.model.Kit;
|
||||||
|
import pk.ajneb97.model.KitAction;
|
||||||
|
import pk.ajneb97.model.inventory.ItemKitInventory;
|
||||||
|
import pk.ajneb97.model.inventory.KitInventory;
|
||||||
|
import pk.ajneb97.model.verify.PKBaseError;
|
||||||
|
import pk.ajneb97.model.verify.PKInventoryInvalidKitError;
|
||||||
|
import pk.ajneb97.model.verify.PKKitActionError;
|
||||||
|
import pk.ajneb97.model.verify.PKKitDisplayItemError;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class VerifyManager {
|
||||||
|
private PlayerKits2 plugin;
|
||||||
|
private ArrayList<PKBaseError> errors;
|
||||||
|
private boolean criticalErrors;
|
||||||
|
public VerifyManager(PlayerKits2 plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
this.errors = new ArrayList<PKBaseError>();
|
||||||
|
this.criticalErrors = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendVerification(Player player) {
|
||||||
|
player.sendMessage(MessagesManager.getColoredMessage("&f&l- - - - - - - - &b&lPLAYERKITS 2 VERIFY &f&l- - - - - - - -"));
|
||||||
|
player.sendMessage(MessagesManager.getColoredMessage(""));
|
||||||
|
if(errors.isEmpty()) {
|
||||||
|
player.sendMessage(MessagesManager.getColoredMessage("&aThere are no errors in the plugin ;)"));
|
||||||
|
}else {
|
||||||
|
player.sendMessage(MessagesManager.getColoredMessage("&e&oHover on the errors to see more information."));
|
||||||
|
for(PKBaseError error : errors) {
|
||||||
|
error.sendMessage(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
player.sendMessage(MessagesManager.getColoredMessage(""));
|
||||||
|
player.sendMessage(MessagesManager.getColoredMessage("&f&l- - - - - - - - &b&lPLAYERKITS 2 VERIFY &f&l- - - - - - - -"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void verify() {
|
||||||
|
this.errors = new ArrayList<PKBaseError>();
|
||||||
|
this.criticalErrors = false;
|
||||||
|
|
||||||
|
//CHECK KITS
|
||||||
|
ArrayList<Kit> kits = plugin.getKitsManager().getKits();
|
||||||
|
for(Kit kit : kits) {
|
||||||
|
verifyKit(kit);
|
||||||
|
}
|
||||||
|
|
||||||
|
//CHECK INVENTORIES
|
||||||
|
ArrayList<KitInventory> inventories = plugin.getInventoryManager().getInventories();
|
||||||
|
for(KitInventory inventory : inventories){
|
||||||
|
verifyInventory(inventory);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void verifyKit(Kit kit) {
|
||||||
|
String kitName = kit.getName();
|
||||||
|
if(kit.getDisplayItemDefault() == null || kit.getDisplayItemDefault().getId() == null){
|
||||||
|
errors.add(new PKKitDisplayItemError(kitName+".yml",null,true,kitName));
|
||||||
|
criticalErrors = true;
|
||||||
|
}
|
||||||
|
verifyActions(kit.getClaimActions(),"claim",kitName);
|
||||||
|
verifyActions(kit.getErrorActions(),"error",kitName);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void verifyActions(ArrayList<KitAction> actions,String actionGroup,String kitName){
|
||||||
|
for(int i=0;i<actions.size();i++){
|
||||||
|
KitAction action = actions.get(i);
|
||||||
|
String[] actionText = action.getAction().split(" ");
|
||||||
|
String actionName = actionText[0];
|
||||||
|
if(actionName.equals("console_command:") || actionName.equals("player_command:")
|
||||||
|
|| actionName.equals("playsound:") || actionName.equals("actionbar:")
|
||||||
|
|| actionName.equals("title:") || actionName.equals("firework:")){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
errors.add(new PKKitActionError(kitName+".yml",action.getAction(),false,kitName,actionGroup,(i+1)+""));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void verifyInventory(KitInventory inventory){
|
||||||
|
//Invalid kit on slot
|
||||||
|
KitsManager kitsManager = plugin.getKitsManager();
|
||||||
|
List<ItemKitInventory> items = inventory.getItems();
|
||||||
|
for(ItemKitInventory item : items){
|
||||||
|
String type = item.getType();
|
||||||
|
if(type != null && type.startsWith("kit: ")){
|
||||||
|
String kitName = type.replace("kit: ","");
|
||||||
|
if(kitsManager.getKitByName(kitName) == null){
|
||||||
|
errors.add(new PKInventoryInvalidKitError("inventory.yml",null,true,kitName,
|
||||||
|
inventory.getName(),item.getSlotsString()));
|
||||||
|
criticalErrors = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCriticalErrors() {
|
||||||
|
return criticalErrors;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -89,7 +89,7 @@ public class InventoryEditDisplayManager {
|
||||||
lore.add("&7inventory.");
|
lore.add("&7inventory.");
|
||||||
new InventoryItem(inv, 26, Material.EMERALD_BLOCK).name("&6&lSave Item").lore(lore).ready();
|
new InventoryItem(inv, 26, Material.EMERALD_BLOCK).name("&6&lSave Item").lore(lore).ready();
|
||||||
|
|
||||||
if(kitItem != null){
|
if(kitItem != null && kitItem.getId() != null){
|
||||||
inv.setItem(13,plugin.getKitItemManager().createItemFromKitItem(kitItem, inventoryPlayer.getPlayer()));
|
inv.setItem(13,plugin.getKitItemManager().createItemFromKitItem(kitItem, inventoryPlayer.getPlayer()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
45
src/main/java/pk/ajneb97/model/verify/PKBaseError.java
Normal file
45
src/main/java/pk/ajneb97/model/verify/PKBaseError.java
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
package pk.ajneb97.model.verify;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public abstract class PKBaseError {
|
||||||
|
|
||||||
|
protected String file;
|
||||||
|
protected String errorText;
|
||||||
|
protected boolean critical;
|
||||||
|
protected String prefix;
|
||||||
|
|
||||||
|
public PKBaseError(String file, String errorText, boolean critical){
|
||||||
|
this.file = file;
|
||||||
|
this.errorText = errorText;
|
||||||
|
this.critical = critical;
|
||||||
|
this.prefix = "&e⚠ ";;
|
||||||
|
if(this.critical){
|
||||||
|
this.prefix = "&c⚠ ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getFixedErrorText(){
|
||||||
|
List<String> sepText = new ArrayList<String>();
|
||||||
|
int currentPos = 0;
|
||||||
|
for(int i=0;i<errorText.length();i++) {
|
||||||
|
if(currentPos >= 35 && errorText.charAt(i) == ' ') {
|
||||||
|
String m = errorText.substring(i-currentPos, i);
|
||||||
|
currentPos = 0;
|
||||||
|
sepText.add(m);
|
||||||
|
}else {
|
||||||
|
currentPos++;
|
||||||
|
}
|
||||||
|
if(i==errorText.length()-1) {
|
||||||
|
String m = errorText.substring(i-currentPos+1, errorText.length());
|
||||||
|
sepText.add(m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sepText;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void sendMessage(Player player);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
package pk.ajneb97.model.verify;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import pk.ajneb97.utils.JSONMessage;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class PKInventoryInvalidKitError extends PKBaseError{
|
||||||
|
|
||||||
|
private String kitName;
|
||||||
|
private String inventoryName;
|
||||||
|
private String slot;
|
||||||
|
|
||||||
|
public PKInventoryInvalidKitError(String file, String errorText, boolean critical, String kitName, String inventoryName, String slot) {
|
||||||
|
super(file, errorText, critical);
|
||||||
|
this.kitName = kitName;
|
||||||
|
this.inventoryName = inventoryName;
|
||||||
|
this.slot = slot;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendMessage(Player player) {
|
||||||
|
List<String> hover = new ArrayList<String>();
|
||||||
|
|
||||||
|
JSONMessage jsonMessage = new JSONMessage(player,prefix+"&7Invalid kit named &c"+kitName+" &7on file &c"+file);
|
||||||
|
hover.add("&eTHIS IS AN ERROR!");
|
||||||
|
hover.add("&fA kit that doesn't exists is present on");
|
||||||
|
hover.add("&finventory &c"+inventoryName+" &fand slot &c"+slot+"&f.");
|
||||||
|
|
||||||
|
jsonMessage.hover(hover).send();
|
||||||
|
}
|
||||||
|
}
|
||||||
40
src/main/java/pk/ajneb97/model/verify/PKKitActionError.java
Normal file
40
src/main/java/pk/ajneb97/model/verify/PKKitActionError.java
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
package pk.ajneb97.model.verify;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import pk.ajneb97.utils.JSONMessage;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class PKKitActionError extends PKBaseError{
|
||||||
|
|
||||||
|
private String kitName;
|
||||||
|
private String actionGroup;
|
||||||
|
private String actionId;
|
||||||
|
|
||||||
|
public PKKitActionError(String file, String errorText, boolean critical, String kitName, String actionGroup, String actionId) {
|
||||||
|
super(file, errorText, critical);
|
||||||
|
this.kitName = kitName;
|
||||||
|
this.actionId = actionId;
|
||||||
|
this.actionGroup = actionGroup;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendMessage(Player player) {
|
||||||
|
List<String> hover = new ArrayList<String>();
|
||||||
|
|
||||||
|
JSONMessage jsonMessage = new JSONMessage(player,prefix+"&7Action (&c"+actionGroup+"&7,&c"+actionId+"&7)" +
|
||||||
|
" &7on kit &c"+kitName+" &7is not valid.");
|
||||||
|
hover.add("&eTHIS IS A WARNING!");
|
||||||
|
hover.add("&fThe action defined for this event");
|
||||||
|
hover.add("&fis probably not formatted correctly:");
|
||||||
|
for(String m : getFixedErrorText()) {
|
||||||
|
hover.add("&c"+m);
|
||||||
|
}
|
||||||
|
hover.add(" ");
|
||||||
|
hover.add("&fRemember to use a valid action from this list:");
|
||||||
|
hover.add("&ahttps://ajneb97.gitbook.io/playerkits-2/actions");
|
||||||
|
|
||||||
|
jsonMessage.hover(hover).send();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
package pk.ajneb97.model.verify;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import pk.ajneb97.utils.JSONMessage;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class PKKitDisplayItemError extends PKBaseError{
|
||||||
|
|
||||||
|
private String kitName;
|
||||||
|
|
||||||
|
public PKKitDisplayItemError(String file, String errorText, boolean critical, String kitName) {
|
||||||
|
super(file, errorText, critical);
|
||||||
|
this.kitName = kitName;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendMessage(Player player) {
|
||||||
|
List<String> hover = new ArrayList<String>();
|
||||||
|
|
||||||
|
JSONMessage jsonMessage = new JSONMessage(player,prefix+"&7Kit &c"+kitName+" &7doesn't have a default display item.");
|
||||||
|
hover.add("&eTHIS IS AN ERROR!");
|
||||||
|
hover.add("&fAll kits must have a default display");
|
||||||
|
hover.add("&fitem. Set one using /kit edit "+kitName);
|
||||||
|
|
||||||
|
jsonMessage.hover(hover).send();
|
||||||
|
}
|
||||||
|
}
|
||||||
64
src/main/java/pk/ajneb97/utils/JSONMessage.java
Normal file
64
src/main/java/pk/ajneb97/utils/JSONMessage.java
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
package pk.ajneb97.utils;
|
||||||
|
|
||||||
|
import net.md_5.bungee.api.chat.BaseComponent;
|
||||||
|
import net.md_5.bungee.api.chat.ClickEvent;
|
||||||
|
import net.md_5.bungee.api.chat.HoverEvent;
|
||||||
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class JSONMessage {
|
||||||
|
|
||||||
|
private Player player;
|
||||||
|
private String text;
|
||||||
|
private BaseComponent[] hover;
|
||||||
|
private String suggestCommand;
|
||||||
|
private String executeCommand;
|
||||||
|
|
||||||
|
public JSONMessage(Player player, String text) {
|
||||||
|
this.player = player;
|
||||||
|
this.hover = null;
|
||||||
|
this.text = text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONMessage hover(List<String> list) {
|
||||||
|
hover = new BaseComponent[list.size()];
|
||||||
|
for(int i=0;i<list.size();i++) {
|
||||||
|
TextComponent line = new TextComponent();
|
||||||
|
if(i == list.size()-1) {
|
||||||
|
line.setText(ChatColor.translateAlternateColorCodes('&', list.get(i)));
|
||||||
|
}else {
|
||||||
|
line.setText(ChatColor.translateAlternateColorCodes('&', list.get(i))+"\n");
|
||||||
|
}
|
||||||
|
hover[i] = line;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONMessage setSuggestCommand(String command) {
|
||||||
|
this.suggestCommand = command;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONMessage setExecuteCommand(String command) {
|
||||||
|
this.executeCommand = command;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void send() {
|
||||||
|
TextComponent message = new TextComponent();
|
||||||
|
message.setText(ChatColor.translateAlternateColorCodes('&', text));
|
||||||
|
if(hover != null) {
|
||||||
|
message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hover));
|
||||||
|
}
|
||||||
|
if(suggestCommand != null) {
|
||||||
|
message.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, suggestCommand));
|
||||||
|
}
|
||||||
|
if(executeCommand != null) {
|
||||||
|
message.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, executeCommand));
|
||||||
|
}
|
||||||
|
player.spigot().sendMessage(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -34,5 +34,6 @@ minutes: 'm'
|
||||||
hours: 'h'
|
hours: 'h'
|
||||||
days: 'd'
|
days: 'd'
|
||||||
cooldownPlaceholderReady: "&a&lReady!"
|
cooldownPlaceholderReady: "&a&lReady!"
|
||||||
|
pluginCriticalErrors: "&cThe plugin has detected some errors. Check them using &7/kit verify"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
main: pk.ajneb97.PlayerKits2
|
main: pk.ajneb97.PlayerKits2
|
||||||
version: 1.1.1
|
version: 1.2.1
|
||||||
name: PlayerKits2
|
name: PlayerKits2
|
||||||
api-version: 1.13
|
api-version: 1.13
|
||||||
softdepend: [Vault,PlaceholderAPI]
|
softdepend: [Vault,PlaceholderAPI]
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue