diff --git a/.idea/libraries/HeadDatabaseAPI.xml b/.idea/libraries/HeadDatabaseAPI.xml
new file mode 100644
index 0000000..5aad340
--- /dev/null
+++ b/.idea/libraries/HeadDatabaseAPI.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/HeadDatabaseAPI1.xml b/.idea/libraries/HeadDatabaseAPI1.xml
deleted file mode 100644
index a16e755..0000000
--- a/.idea/libraries/HeadDatabaseAPI1.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/PlaceholderAPI_2_10_21.xml b/.idea/libraries/PlaceholderAPI_2_10_21.xml
index 0685287..db11d32 100644
--- a/.idea/libraries/PlaceholderAPI_2_10_21.xml
+++ b/.idea/libraries/PlaceholderAPI_2_10_21.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/.idea/libraries/TokenManager_3_2_4.xml b/.idea/libraries/TokenManager_3_2_4.xml
index 007be0c..01e9b39 100644
--- a/.idea/libraries/TokenManager_3_2_4.xml
+++ b/.idea/libraries/TokenManager_3_2_4.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/.idea/libraries/Vault.xml b/.idea/libraries/Vault.xml
index a0276b2..917155b 100644
--- a/.idea/libraries/Vault.xml
+++ b/.idea/libraries/Vault.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/.idea/libraries/VotingPlugin.xml b/.idea/libraries/VotingPlugin.xml
index a3ad0d3..e5d22d4 100644
--- a/.idea/libraries/VotingPlugin.xml
+++ b/.idea/libraries/VotingPlugin.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/.idea/libraries/spigot_1_16_1.xml b/.idea/libraries/spigot_1_16_1.xml
index 44a0841..1394be5 100644
--- a/.idea/libraries/spigot_1_16_1.xml
+++ b/.idea/libraries/spigot_1_16_1.xml
@@ -1,11 +1,11 @@
-
+
-
+
\ No newline at end of file
diff --git a/Command Panels.iml b/Command Panels.iml
index 65f5c86..dc985bf 100644
--- a/Command Panels.iml
+++ b/Command Panels.iml
@@ -8,7 +8,7 @@
-
+
diff --git a/resource/config.yml b/resource/config.yml
index 98c2388..0f3ca52 100644
--- a/resource/config.yml
+++ b/resource/config.yml
@@ -18,6 +18,7 @@ config:
- '%cp-tag%&aEnter Input for Command'
- '&cType &4%cp-args% &cto Cancel the command'
format:
+ tag: '&6[&bCommandPanels&6]'
perms: '&cNo permission.'
reload: '&aReloaded.'
nopanel: '&cPanel not found.'
@@ -28,6 +29,5 @@ config:
needitems: '&cInsufficient Items!'
bought: '&aSuccessfully Bought For $%cp-args%'
sold: '&aSuccessfully Sold For $%cp-args%'
- tag: '&6[&bCommandPanels&6]'
offline: 'Offline'
offlineHeadValue: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmU1Mjg2YzQ3MGY2NmZmYTFhMTgzMzFjYmZmYjlhM2MyYTQ0MjRhOGM3MjU5YzQ0MzZmZDJlMzU1ODJhNTIyIn19fQ=='
diff --git a/resource/example.yml b/resource/example.yml
index 70cd980..90430e1 100644
--- a/resource/example.yml
+++ b/resource/example.yml
@@ -24,14 +24,17 @@ panels:
material: LEATHER_HELMET
name: '&d&lPURPLE'
leatherarmor: PURPLE
+ damage: 30
'9':
material: LEATHER_CHESTPLATE
name: '&9&lBLUE'
leatherarmor: BLUE
+ damage: 20
'18':
material: LEATHER_LEGGINGS
name: '&a&lLIME'
leatherarmor: LIME
+ damage: 40
'2':
material: cps= eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGJiMjczN2VjYmY5MTBlZmUzYjI2N2RiN2Q0YjMyN2YzNjBhYmM3MzJjNzdiZDBlNGVmZjFkNTEwY2RlZiJ9fX0=
name: '&e&lE'
@@ -85,6 +88,7 @@ panels:
material: LEATHER_BOOTS
name: '&e&lYELLOW'
leatherarmor: YELLOW
+ damage: 50
'32':
material: COMPASS
stack: 12
diff --git a/resource/plugin.yml b/resource/plugin.yml
index 911219d..21dd122 100644
--- a/resource/plugin.yml
+++ b/resource/plugin.yml
@@ -1,4 +1,4 @@
-version: 3.6.0
+version: 3.7.0
main: me.rockyhawk.commandPanels.commandpanels
name: CommandPanels
author: RockyHawk
diff --git a/src/me/rockyhawk/commandPanels/commandpanels.java b/src/me/rockyhawk/commandPanels/commandpanels.java
index ea4ae71..266b145 100644
--- a/src/me/rockyhawk/commandPanels/commandpanels.java
+++ b/src/me/rockyhawk/commandPanels/commandpanels.java
@@ -12,6 +12,8 @@ import java.lang.reflect.Field;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import me.arcaniax.hdb.api.HeadDatabaseAPI;
import me.clip.placeholderapi.PlaceholderAPI;
@@ -40,6 +42,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.craftbukkit.libs.org.apache.commons.io.IOUtils;
import org.bukkit.craftbukkit.libs.org.apache.commons.io.input.CharSequenceReader;
import org.bukkit.enchantments.Enchantment;
+import org.bukkit.inventory.meta.Damageable;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
@@ -62,12 +65,14 @@ public class commandpanels extends JavaPlugin {
public boolean update = false;
public boolean debug = false;
public boolean openWithItem = false; //this will be true if there is a panel with open-with-item
- public List generateMode = new ArrayList(); //players that are currently in generate mode
- public List panelRunning = new ArrayList();
- public List userInputStrings = new ArrayList();
- public List editorInputStrings = new ArrayList();
- public ArrayList panelFiles = new ArrayList(); //names of all the files in the panels folder including extension
- public ArrayList panelNames = new ArrayList(); //this will return something like {"mainMenuPanel","4"} which means the 4 is for panelFiles.get(4). So you know which file it is for
+
+ public List generateMode = new ArrayList<>(); //players that are currently in generate mode
+ public List panelRunning = new ArrayList<>();
+ public List userInputStrings = new ArrayList<>();
+ public List editorInputStrings = new ArrayList<>();
+ public List panelFiles = new ArrayList<>(); //names of all the files in the panels folder including extension
+ public List panelNames = new ArrayList<>(); //this will return something like {"mainMenuPanel","4"} which means the 4 is for panelFiles.get(4). So you know which file it is for
+
public File panelsf;
public YamlConfiguration blockConfig; //where panel block locations are stored
@@ -139,7 +144,7 @@ public class commandpanels extends JavaPlugin {
}
if (Objects.requireNonNull(this.config.getString("config.update-notifications")).equalsIgnoreCase("true")) {
- githubNewUpdate();
+ githubNewUpdate(true);
}
//load panelFiles
@@ -158,10 +163,10 @@ public class commandpanels extends JavaPlugin {
Inventory i;
if (onOpen != 3) {
//use the regular inventory
- i = Bukkit.createInventory((InventoryHolder) null, Integer.parseInt(Objects.requireNonNull(pconfig.getString("panels." + panels + ".rows"))) * 9, ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))));
+ i = Bukkit.createInventory(null, Integer.parseInt(Objects.requireNonNull(pconfig.getString("panels." + panels + ".rows"))) * 9, papi( Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))));
} else {
//this means it is the Editor window
- i = Bukkit.createInventory((InventoryHolder) null, Integer.parseInt(Objects.requireNonNull(pconfig.getString("panels." + panels + ".rows"))) * 9, ChatColor.translateAlternateColorCodes('&', ChatColor.GRAY + "Editing Panel: " + pconfig.getString("panels." + panels + ".title")));
+ i = Bukkit.createInventory(null, Integer.parseInt(Objects.requireNonNull(pconfig.getString("panels." + panels + ".rows"))) * 9, papi( ChatColor.GRAY + "Editing Panel: " + pconfig.getString("panels." + panels + ".title")));
}
String item = "";
@@ -178,69 +183,9 @@ public class commandpanels extends JavaPlugin {
break;
}
String section = "";
- //onOpen needs to not be 3 so the editor won't include hasperm and noperm items
+ //onOpen needs to not be 3 so the editor won't include hasperm and hasvalue, etc items
if (onOpen != 3) {
- if (pconfig.contains("panels." + panels + ".item." + item.split("\\s")[c] + ".hasvalue")) {
- //loop through possible hasvalue 1,2,3,etc
- for (int count = 0; Objects.requireNonNull(pconfig.getConfigurationSection("panels." + panels + ".item." + item.split("\\s")[c])).getKeys(false).size() > count; count++) {
- if (pconfig.contains("panels." + panels + ".item." + item.split("\\s")[c] + ".hasvalue" + count)) {
- boolean outputValue = true;
- //outputValue will default to true
- if (pconfig.contains("panels." + panels + ".item." + item.split("\\s")[c] + ".hasvalue" + count + ".output")) {
- //if output is true, and values match it will be this item, vice versa
- outputValue = pconfig.getBoolean("panels." + panels + ".item." + item.split("\\s")[c] + ".hasvalue" + count + ".output");
- }
- String value = pconfig.getString("panels." + panels + ".item." + item.split("\\s")[c] + ".hasvalue" + count + ".value");
- String compare = ChatColor.stripColor(papi(p,setCpPlaceholders(p,pconfig.getString("panels." + panels + ".item." + item.split("\\s")[c] + ".hasvalue" + count + ".compare"))));
- if (compare.equals(value) == outputValue) {
- //onOpen being 3 means it is the editor panel.. hasvalue items cannot be included to avoid item breaking
- section = ".hasvalue" + count;
- break;
- }
- }
- }
- //this will do the hasvalue without any numbers
- boolean outputValue = true;
- //outputValue will default to true
- if (pconfig.contains("panels." + panels + ".item." + item.split("\\s")[c] + ".hasvalue.output")) {
- //if output is true, and values match it will be this item, vice versa
- outputValue = pconfig.getBoolean("panels." + panels + ".item." + item.split("\\s")[c] + ".hasvalue.output");
- }
- String value = pconfig.getString("panels." + panels + ".item." + item.split("\\s")[c] + ".hasvalue.value");
- String compare = ChatColor.stripColor(papi(p,setCpPlaceholders(p,pconfig.getString("panels." + panels + ".item." + item.split("\\s")[c] + ".hasvalue.compare"))));
- if (compare.equals(value) == outputValue) {
- //onOpen being 3 means it is the editor panel.. hasvalue items cannot be included to avoid item breaking
- section = ".hasvalue";
- }
- }
- if (pconfig.contains("panels." + panels + ".item." + item.split("\\s")[c] + ".hasperm")) {
- //loop through possible noperm/hasperm 1,2,3,etc
- for (int count = 0; Objects.requireNonNull(pconfig.getConfigurationSection("panels." + panels + ".item." + item.split("\\s")[c])).getKeys(false).size() > count; count++) {
- if (pconfig.contains("panels." + panels + ".item." + item.split("\\s")[c] + ".hasperm" + count)) {
- boolean outputValue = true;
- //outputValue will default to true
- if (pconfig.contains("panels." + panels + ".item." + item.split("\\s")[c] + ".hasperm" + count + ".output")) {
- //if output is true, and values match it will be this item, vice versa
- outputValue = pconfig.getBoolean("panels." + panels + ".item." + item.split("\\s")[c] + ".hasperm" + count + ".output");
- }
- if (p.hasPermission(Objects.requireNonNull(pconfig.getString("panels." + panels + ".item." + item.split("\\s")[c] + ".hasperm" + count + ".perm"))) == outputValue) {
- //onOpen being 3 means it is the editor panel.. noPerm and hasPerm items cannot be included to avoid item breaking
- section = ".hasperm" + count;
- break;
- }
- }
- }
- //this will do the hasperm without any numbers
- boolean outputValue = true;
- //outputValue will default to true
- if (pconfig.contains("panels." + panels + ".item." + item.split("\\s")[c] + ".hasperm" + ".output")) {
- //if output is true, and values match it will be this item, vice versa
- outputValue = pconfig.getBoolean("panels." + panels + ".item." + item.split("\\s")[c] + ".hasperm" + ".output");
- }
- if (p.hasPermission(Objects.requireNonNull(pconfig.getString("panels." + panels + ".item." + item.split("\\s")[c] + ".hasperm.perm"))) == outputValue) {
- section = ".hasperm";
- }
- }
+ section = hasSection(panels, pconfig, Integer.parseInt(item.split("\\s")[c]), p);
//This section is for animations below here: VISUAL ONLY
//check for if there is animations inside the items section
@@ -251,13 +196,13 @@ public class commandpanels extends JavaPlugin {
}
}
}
- ItemStack s = makeItemFromConfig(Objects.requireNonNull(pconfig.getConfigurationSection("panels." + panels + ".item." + item.split("\\s")[c] + section)), p, onOpen != 3);
+ ItemStack s = makeItemFromConfig(Objects.requireNonNull(pconfig.getConfigurationSection("panels." + panels + ".item." + item.split("\\s")[c] + section)), p, onOpen != 3, onOpen != 3);
try {
i.setItem(Integer.parseInt(item.split("\\s")[c]), s);
} catch (ArrayIndexOutOfBoundsException var24) {
debug(var24);
if (debug) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " item: One of the items does not fit in the Panel!")));
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " item: One of the items does not fit in the Panel!"));
}
}
}
@@ -280,7 +225,7 @@ public class commandpanels extends JavaPlugin {
}
} catch (IllegalArgumentException | NullPointerException var26) {
debug(var26);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " empty: " + pconfig.getString("panels." + panels + ".empty"))));
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " empty: " + pconfig.getString("panels." + panels + ".empty")));
return null;
}
@@ -295,24 +240,24 @@ public class commandpanels extends JavaPlugin {
}
}
}
- if (ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))).equals("Chest")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " Title: Cannot be named Chest")));
+ if (papi( Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))).equals("Chest")) {
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " Title: Cannot be named Chest"));
return null;
}
- if (ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))).contains("Editing Panel:")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " Title: Cannot contain Editing Panel:")));
+ if (papi( Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))).contains("Editing Panel:")) {
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " Title: Cannot contain Editing Panel:"));
return null;
}
- if (ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))).contains("Panel Settings:")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " Title: Cannot contain Panel Settings:")));
+ if (papi( Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))).contains("Panel Settings:")) {
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " Title: Cannot contain Panel Settings:"));
return null;
}
- if (ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))).contains("Item Settings:")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " Title: Cannot contain Item Settings:")));
+ if (papi( Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))).contains("Item Settings:")) {
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " Title: Cannot contain Item Settings:"));
return null;
}
- if (ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))).equals("Command Panels Editor")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " Title: Cannot be named Command Panels Editor")));
+ if (papi( Objects.requireNonNull(pconfig.getString("panels." + panels + ".title"))).equals("Command Panels Editor")) {
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " Title: Cannot be named Command Panels Editor"));
return null;
}
if (onOpen == 1 || onOpen == 3) {
@@ -327,32 +272,35 @@ public class commandpanels extends JavaPlugin {
}
return i;
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " rows: " + pconfig.getString("panels." + panels + ".rows"))));
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " rows: " + pconfig.getString("panels." + panels + ".rows")));
return null;
}
}
- public void setName(ItemStack renamed, String customName, List lore, Player p, Boolean usePlaceholders) {
+ public void setName(ItemStack renamed, String customName, List lore, Player p, Boolean usePlaceholders, Boolean useColours) {
try {
ItemMeta renamedMeta = renamed.getItemMeta();
//set cp placeholders
- if(usePlaceholders) {
- customName = papi(p, setCpPlaceholders(p, customName));
+ if(usePlaceholders && useColours){
+ customName = papi(p,customName);
+ }else if(useColours){
+ customName = papi(customName);
+ }else{
+ customName = setCpPlaceholders(p, customName);
}
assert renamedMeta != null;
renamedMeta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
if (customName != null) {
- renamedMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', customName));
+ renamedMeta.setDisplayName(customName);
}
- List clore = new ArrayList();
+ List clore = new ArrayList<>();
if (lore != null) {
- for (int i = 0; lore.size() > i; ++i) {
- clore.add(ChatColor.translateAlternateColorCodes('&', lore.get(i).toString()));
- if(usePlaceholders) {
- clore.set(i, papi(p, setCpPlaceholders(p, clore.get(i))));
- }
+ if(usePlaceholders && useColours){
+ papi(p, clore, true);
+ }else if(useColours){
+ papi(p, clore, false);
}
renamedMeta.setLore(clore);
}
@@ -448,16 +396,28 @@ public class commandpanels extends JavaPlugin {
if (this.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
setpapi = PlaceholderAPI.setPlaceholders(p, setpapi);
}
- return ChatColor.translateAlternateColorCodes('&', setpapi);
+ setpapi = setCpPlaceholders(p,setpapi);
+ setpapi = translateHexColorCodes(ChatColor.translateAlternateColorCodes('&', setpapi));
+ return setpapi;
+ }catch(NullPointerException e){
+ return setpapi;
+ }
+ }
+
+ //regular string papi, but only colours so Player doesn't need to be there
+ public String papi(String setpapi) {
+ try {
+ setpapi = translateHexColorCodes(ChatColor.translateAlternateColorCodes('&', setpapi));
+ return setpapi;
}catch(NullPointerException e){
return setpapi;
}
}
//papi except if it is a String List
- public List papi(Player p, List setpapi) {
+ public List papi(Player p, List setpapi, boolean placeholders) {
try {
- if (this.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
+ if (this.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI") && placeholders) {
setpapi = PlaceholderAPI.setPlaceholders(p, setpapi);
}
}catch(Exception ignore){
@@ -468,7 +428,7 @@ public class commandpanels extends JavaPlugin {
//change colour
for(String temp : setpapi){
try {
- setpapi.set(tempInt, ChatColor.translateAlternateColorCodes('&', temp));
+ setpapi.set(tempInt, translateHexColorCodes(ChatColor.translateAlternateColorCodes('&', temp)));
}catch(NullPointerException ignore){
}
@@ -494,16 +454,16 @@ public class commandpanels extends JavaPlugin {
boolean isop = p.isOp();
try {
p.setOp(true);
- Bukkit.dispatchCommand(p, ChatColor.translateAlternateColorCodes('&', papi(p, command.replace("op=", "").trim())));
+ Bukkit.dispatchCommand(p,papi(p, command.replace("op=", "").trim()));
p.setOp(isop);
} catch (Exception exc) {
p.setOp(isop);
debug(exc);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " op=: Error in op command!")));
+ p.sendMessage(tag + papi( config.getString("config.format.error") + " op=: Error in op command!"));
}
} else if (command.split("\\s")[0].equalsIgnoreCase("console=")) {
//if player uses console= it will perform command in the console
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), ChatColor.translateAlternateColorCodes('&', papi(p, command.replace("console=", "").trim())));
+ Bukkit.dispatchCommand(Bukkit.getConsoleSender(), papi(p, command.replace("console=", "").trim()));
} else if (command.split("\\s")[0].equalsIgnoreCase("buy=")) {
//if player uses buy= it will be eg. buy= -
try {
@@ -512,7 +472,7 @@ public class commandpanels extends JavaPlugin {
econ.withdrawPlayer(p, Double.parseDouble(command.split("\\s")[1]));
//if the message is empty don't send
if(!Objects.requireNonNull(config.getString("config.format.bought")).isEmpty()){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", command.split("\\s")[1])));
+ p.sendMessage(papi( tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", command.split("\\s")[1])));
}
if (p.getInventory().firstEmpty() >= 0) {
p.getInventory().addItem(new ItemStack(Objects.requireNonNull(Material.matchMaterial(command.split("\\s")[2])), Integer.parseInt(command.split("\\s")[3])));
@@ -520,14 +480,14 @@ public class commandpanels extends JavaPlugin {
Objects.requireNonNull(p.getLocation().getWorld()).dropItemNaturally(p.getLocation(), new ItemStack(Objects.requireNonNull(Material.matchMaterial(command.split("\\s")[2])), Integer.parseInt(command.split("\\s")[3])));
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + config.getString("config.format.needmoney")));
+ p.sendMessage(papi( tag + config.getString("config.format.needmoney")));
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Buying Requires Vault and an Economy to work!"));
+ p.sendMessage(papi( tag + ChatColor.RED + "Buying Requires Vault and an Economy to work!"));
}
} catch (Exception buy) {
debug(buy);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(tag + config.getString("config.format.error") + " " + "commands: " + command));
}
} else if (command.split("\\s")[0].equalsIgnoreCase("tokenbuy=")) {
//if player uses tokenbuy= it will be eg. tokenbuy=
-
@@ -540,7 +500,7 @@ public class commandpanels extends JavaPlugin {
api.removeTokens(p, Long.parseLong(command.split("\\s")[1]));
//if the message is empty don't send
if(!Objects.requireNonNull(config.getString("config.format.bought")).isEmpty()) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", command.split("\\s")[1])));
+ p.sendMessage(papi( tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", command.split("\\s")[1])));
}
if (p.getInventory().firstEmpty() >= 0) {
p.getInventory().addItem(new ItemStack(Objects.requireNonNull(Material.matchMaterial(command.split("\\s")[2])), Integer.parseInt(command.split("\\s")[3])));
@@ -548,14 +508,14 @@ public class commandpanels extends JavaPlugin {
Objects.requireNonNull(p.getLocation().getWorld()).dropItemNaturally(p.getLocation(), new ItemStack(Objects.requireNonNull(Material.matchMaterial(command.split("\\s")[2])), Integer.parseInt(command.split("\\s")[3])));
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + config.getString("config.format.needmoney")));
+ p.sendMessage(papi( tag + config.getString("config.format.needmoney")));
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Buying Requires TokenManager to work!"));
+ p.sendMessage(papi( tag + ChatColor.RED + "Buying Requires TokenManager to work!"));
}
} catch (Exception buy) {
debug(buy);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(tag + config.getString("config.format.error") + " " + "commands: " + command));
}
} else if (command.split("\\s")[0].equalsIgnoreCase("sell=")) {
//if player uses sell= it will be eg. sell=
- [enchanted:KNOCKBACK:1] [potion:JUMP]
@@ -598,7 +558,7 @@ public class commandpanels extends JavaPlugin {
PotionMeta potionMeta = (PotionMeta) itm.getItemMeta();
assert potionMeta != null;
if (!potionMeta.getBasePotionData().getType().name().equalsIgnoreCase(potion)) {
- p.sendMessage(papi(p, tag + ChatColor.RED + "Your item has the wrong potion effect"));
+ p.sendMessage(papi( tag + ChatColor.RED + "Your item has the wrong potion effect"));
return;
}
}
@@ -618,19 +578,19 @@ public class commandpanels extends JavaPlugin {
}
}
if (!sold) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + config.getString("config.format.needitems")));
+ p.sendMessage(papi( tag + config.getString("config.format.needitems")));
} else {
//if the message is empty don't send
if(!Objects.requireNonNull(config.getString("config.format.sold")).isEmpty()) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + Objects.requireNonNull(config.getString("config.format.sold")).replaceAll("%cp-args%", command.split("\\s")[1])));
+ p.sendMessage(papi( tag + Objects.requireNonNull(config.getString("config.format.sold")).replaceAll("%cp-args%", command.split("\\s")[1])));
}
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Selling Requires Vault and an Economy to work!"));
+ p.sendMessage(papi( tag + ChatColor.RED + "Selling Requires Vault and an Economy to work!"));
}
} catch (Exception sell) {
debug(sell);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(tag + config.getString("config.format.error") + " " + "commands: " + command));
}
} else if (command.split("\\s")[0].equalsIgnoreCase("tokensell=")) {
//if player uses tokensell= it will be eg. tokensell=
- [enchanted:KNOCKBACK:1] [potion:JUMP]
@@ -654,7 +614,7 @@ public class commandpanels extends JavaPlugin {
PotionMeta potionMeta = (PotionMeta) itm.getItemMeta();
assert potionMeta != null;
if (!potionMeta.getBasePotionData().getType().name().equalsIgnoreCase(potion)) {
- p.sendMessage(papi(p, tag + ChatColor.RED + "Your item has the wrong potion effect"));
+ p.sendMessage(papi( tag + ChatColor.RED + "Your item has the wrong potion effect"));
return;
}
}
@@ -676,30 +636,30 @@ public class commandpanels extends JavaPlugin {
}
}
if (!sold) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + config.getString("config.format.needitems")));
+ p.sendMessage(papi( tag + config.getString("config.format.needitems")));
} else {
//if the message is empty don't send
if(!Objects.requireNonNull(config.getString("config.format.sold")).isEmpty()) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + Objects.requireNonNull(config.getString("config.format.sold")).replaceAll("%cp-args%", command.split("\\s")[1])));
+ p.sendMessage(papi( tag + Objects.requireNonNull(config.getString("config.format.sold")).replaceAll("%cp-args%", command.split("\\s")[1])));
}
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Selling Requires TokenManager to work!"));
+ p.sendMessage(papi( tag + ChatColor.RED + "Selling Requires TokenManager to work!"));
}
} catch (Exception sell) {
debug(sell);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(tag + config.getString("config.format.error") + " " + "commands: " + command));
}
} else if (command.split("\\s")[0].equalsIgnoreCase("msg=")) {
//if player uses msg= it will send the player a message
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', papi(p, command.replace("msg=", "").trim())));
+ p.sendMessage(papi(p, command.replace("msg=", "").trim()));
} else if (command.split("\\s")[0].equalsIgnoreCase("sound=")) {
//if player uses sound= it will play a sound (sound= [sound])
try {
p.playSound(p.getLocation(), Sound.valueOf(command.split("\\s")[1]), 1F, 1F);
} catch (Exception s) {
debug(s);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(tag + config.getString("config.format.error") + " " + "commands: " + command));
}
} else if (command.split("\\s")[0].equalsIgnoreCase("tokenbuycommand=")) {
//if player uses tokenbuycommand [price] [command]
@@ -715,20 +675,20 @@ public class commandpanels extends JavaPlugin {
commandp = commandp.replace("tokenbuycommand=", "").trim();
String price = commandp.split(" ", 2)[0];
commandp = commandp.split(" ", 2)[1];
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), ChatColor.translateAlternateColorCodes('&', papi(p, commandp)));
+ Bukkit.dispatchCommand(Bukkit.getConsoleSender(), papi(p, commandp));
//if the message is empty don't send
if(!Objects.requireNonNull(config.getString("config.format.bought")).isEmpty()) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", price)));
+ p.sendMessage(papi( tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", price)));
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + config.getString("config.format.needmoney")));
+ p.sendMessage(papi( tag + config.getString("config.format.needmoney")));
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Buying Requires Vault and an Economy to work!"));
+ p.sendMessage(papi( tag + ChatColor.RED + "Buying Requires Vault and an Economy to work!"));
}
} catch (Exception buyc) {
debug(buyc);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(tag + config.getString("config.format.error") + " " + "commands: " + command));
}
} else if (command.split("\\s")[0].equalsIgnoreCase("buycommand=")) {
//if player uses buycommand [price] [command]
@@ -741,20 +701,20 @@ public class commandpanels extends JavaPlugin {
commandp = commandp.replace("buycommand=", "").trim();
String price = commandp.split(" ", 2)[0];
commandp = commandp.split(" ", 2)[1];
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), ChatColor.translateAlternateColorCodes('&', papi(p, commandp)));
+ Bukkit.dispatchCommand(Bukkit.getConsoleSender(), papi( papi(p, commandp)));
//if the message is empty don't send
if(!Objects.requireNonNull(config.getString("config.format.bought")).isEmpty()) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", price)));
+ p.sendMessage(papi( tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", price)));
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + config.getString("config.format.needmoney")));
+ p.sendMessage(papi( tag + config.getString("config.format.needmoney")));
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Buying Requires Vault and an Economy to work!"));
+ p.sendMessage(papi( tag + ChatColor.RED + "Buying Requires Vault and an Economy to work!"));
}
} catch (Exception buyc) {
debug(buyc);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(tag + config.getString("config.format.error") + " " + "commands: " + command));
}
} else if (command.split("\\s")[0].equalsIgnoreCase("teleport=")) {
//if player uses teleport= x y z (optional other player)
@@ -782,7 +742,7 @@ public class commandpanels extends JavaPlugin {
assert otherplayer != null;
otherplayer.teleport(new Location(otherplayer.getWorld(), x, y, z));
} catch (Exception tpe) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + config.getString("config.format.notitem")));
+ p.sendMessage(tag + config.getString("config.format.notitem"));
}
}
} else if (command.split("\\s")[0].equalsIgnoreCase("stopsound=")) {
@@ -791,13 +751,13 @@ public class commandpanels extends JavaPlugin {
p.stopSound(Sound.valueOf(command.split("\\s")[1]));
} catch (Exception ss) {
debug(ss);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(tag + config.getString("config.format.error") + " " + "commands: " + command));
}
} else if (command.split("\\s")[0].equalsIgnoreCase("sudo=")) {
//if player uses sudo= [command]
- p.chat(ChatColor.translateAlternateColorCodes('&', papi(p, "/" + command.replaceAll("sudo=", "").trim())));
+ p.chat(papi(p, "/" + command.replaceAll("sudo=", "").trim()));
} else {
- Bukkit.dispatchCommand(p, ChatColor.translateAlternateColorCodes('&', papi(p, command)));
+ Bukkit.dispatchCommand(p, papi(p, command));
}
}
@@ -817,7 +777,7 @@ public class commandpanels extends JavaPlugin {
String playerLocation = str.substring(start, end).replace("%cp-player-online-", "");
Player[] playerFind = Bukkit.getOnlinePlayers().toArray(new Player[Bukkit.getOnlinePlayers().size()]);
if (Integer.parseInt(playerLocation) > playerFind.length) {
- str = str.replace(str.substring(start, end) + "-find%", papi(p, ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(config.getString("config.format.offline")))));
+ str = str.replace(str.substring(start, end) + "-find%", papi(p,Objects.requireNonNull(config.getString("config.format.offline"))));
} else {
str = str.replace(str.substring(start, end) + "-find%", playerFind[Integer.parseInt(playerLocation) - 1].getName());
}
@@ -849,7 +809,7 @@ public class commandpanels extends JavaPlugin {
for (String temp : inputMessages) {
temp = temp.replaceAll("%cp-args%", Objects.requireNonNull(config.getString("config.input-cancel")));
temp = temp.replaceAll("%cp-tag%", tag);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', papi(p, temp)));
+ p.sendMessage(papi(p, temp));
}
str = "commandpanels:commandpanelclose";
}
@@ -867,20 +827,20 @@ public class commandpanels extends JavaPlugin {
econ.withdrawPlayer(p, Double.parseDouble(command.split("\\s")[1]));
//if the message is empty don't send
if(!config.getString("config.format.bought").isEmpty()) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", command.split("\\s")[1])));
+ p.sendMessage(papi( tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", command.split("\\s")[1])));
}
return 1;
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + config.getString("config.format.needmoney")));
+ p.sendMessage(papi( tag + config.getString("config.format.needmoney")));
return 0;
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Paying Requires Vault and an Economy to work!"));
+ p.sendMessage(papi( tag + ChatColor.RED + "Paying Requires Vault and an Economy to work!"));
return 0;
}
} catch (Exception buyc) {
debug(buyc);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(p, tag + config.getString("config.format.error") + " " + "commands: " + command));
return 0;
}
} else if (command.split("\\s")[0].equalsIgnoreCase("tokenpaywall=")) {
@@ -894,20 +854,20 @@ public class commandpanels extends JavaPlugin {
api.removeTokens(p, Long.parseLong(command.split("\\s")[1]));
//if the message is empty don't send
if(!Objects.requireNonNull(config.getString("config.format.bought")).isEmpty()) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", command.split("\\s")[1])));
+ p.sendMessage(papi( tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", command.split("\\s")[1])));
}
return 1;
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + config.getString("config.format.needmoney")));
+ p.sendMessage(papi( tag + config.getString("config.format.needmoney")));
return 0;
}
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Paying TokenManager to work!"));
+ p.sendMessage(papi( tag + ChatColor.RED + "Paying TokenManager to work!"));
return 0;
}
} catch (Exception buyc) {
debug(buyc);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(p, tag + config.getString("config.format.error") + " " + "commands: " + command));
return 0;
}
} else if (command.split("\\s")[0].equalsIgnoreCase("xp-paywall=")) {
@@ -918,16 +878,16 @@ public class commandpanels extends JavaPlugin {
p.setLevel(p.getLevel() - Integer.parseInt(command.split("\\s")[1]));
//if the message is empty don't send
if(!Objects.requireNonNull(config.getString("config.format.bought")).isEmpty()) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", command.split("\\s")[1])));
+ p.sendMessage(papi( tag + Objects.requireNonNull(config.getString("config.format.bought")).replaceAll("%cp-args%", command.split("\\s")[1])));
}
return 1;
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + config.getString("config.format.needmoney")));
+ p.sendMessage(papi( tag + config.getString("config.format.needmoney")));
return 0;
}
} catch (Exception buyc) {
debug(buyc);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, config.getString("config.format.error") + " " + "commands: " + command)));
+ p.sendMessage(papi(p, tag + config.getString("config.format.error") + " " + "commands: " + command));
return 0;
}
} else {
@@ -975,7 +935,7 @@ public class commandpanels extends JavaPlugin {
public void helpMessage(CommandSender p) {
String tag = config.getString("config.format.tag") + " ";
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Commands:"));
+ p.sendMessage(papi( tag + ChatColor.GREEN + "Commands:"));
p.sendMessage(ChatColor.GOLD + "/cp [player:item] [player] " + ChatColor.WHITE + "Open a command panel.");
if (p.hasPermission("commandpanel.reload")) {
p.sendMessage(ChatColor.GOLD + "/cpr " + ChatColor.WHITE + "Reloads plugin config.");
@@ -1042,8 +1002,8 @@ public class commandpanels extends JavaPlugin {
}
for (String s : Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false)) {
key = s;
- panelNames.add(ChatColor.translateAlternateColorCodes('&', key));
- panelTitles.add(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(temp.getString("panels." + key + ".title"))));
+ panelNames.add(papi( key));
+ panelTitles.add(papi( Objects.requireNonNull(temp.getString("panels." + key + ".title"))));
if (temp.contains("panels." + key + ".open-with-item.material")) {
panelItems.add(Material.matchMaterial(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.material"))));
} else {
@@ -1072,10 +1032,10 @@ public class commandpanels extends JavaPlugin {
//make all the bottom bar items
ItemStack temp;
temp = new ItemStack(Material.SUNFLOWER, 1);
- setName(temp, ChatColor.WHITE + "Page " + pageNumber, null, p, true);
+ setName(temp, ChatColor.WHITE + "Page " + pageNumber, null, p, true, true);
i.setItem(49, temp);
temp = new ItemStack(Material.BARRIER, 1);
- setName(temp, ChatColor.RED + "Exit Menu", null, p, true);
+ setName(temp, ChatColor.RED + "Exit Menu", null, p, true, true);
i.setItem(45, temp);
temp = new ItemStack(Material.BOOK, 1);
List lore = new ArrayList();
@@ -1087,18 +1047,18 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.GRAY + " type 'remove' to set a");
lore.add(ChatColor.GRAY + " value to default, and use");
lore.add(ChatColor.GRAY + " '" + config.getString("config.input-cancel") + "' to cancel.");
- setName(temp, ChatColor.WHITE + "Panel Editor Tips", lore, p, true);
+ setName(temp, ChatColor.WHITE + "Panel Editor Tips", lore, p, true, true);
i.setItem(53, temp);
if (pageNumber != 1) {
//only show previous page button if number is not one
temp = new ItemStack(Material.PAPER, 1);
- setName(temp, ChatColor.WHITE + "Previous Page", null, p, true);
+ setName(temp, ChatColor.WHITE + "Previous Page", null, p, true, true);
i.setItem(48, temp);
}
if (pageNumber < pagesAmount) {
//if page number is under pages amount
temp = new ItemStack(Material.PAPER, 1);
- setName(temp, ChatColor.WHITE + "Next Page", null, p, true);
+ setName(temp, ChatColor.WHITE + "Next Page", null, p, true, true);
i.setItem(50, temp);
}
int count = 0;
@@ -1107,7 +1067,7 @@ public class commandpanels extends JavaPlugin {
//count is +1 because count starts at 0 not 1
if ((pageNumber * 45 - 45) < (count + 1) && (pageNumber * 45) > (count)) {
temp = new ItemStack(panelItems.get(count), 1);
- setName(temp, ChatColor.WHITE + panelName, null, p, true);
+ setName(temp, ChatColor.WHITE + panelName, null, p, true, true);
i.setItem(slot, temp);
slot += 1;
}
@@ -1136,7 +1096,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + "--------------------------------");
lore.add(ChatColor.WHITE + "commandpanel.panel." + cf.getString("panels." + panelName + ".perm"));
}
- setName(temp, ChatColor.WHITE + "Panel Permission", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Panel Permission", lore, p,true, true);
i.setItem(1, temp);
temp = new ItemStack(Material.NAME_TAG, 1);
@@ -1146,7 +1106,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + "------------------");
lore.add(ChatColor.WHITE + cf.getString("panels." + panelName + ".title"));
}
- setName(temp, ChatColor.WHITE + "Panel Title", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Panel Title", lore, p,true, true);
i.setItem(3, temp);
temp = new ItemStack(Material.JUKEBOX, 1);
@@ -1156,7 +1116,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + "------------------------");
lore.add(ChatColor.WHITE + Objects.requireNonNull(cf.getString("panels." + panelName + ".sound-on-open")).toUpperCase());
}
- setName(temp, ChatColor.WHITE + "Panel Sound", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Panel Sound", lore, p,true, true);
i.setItem(5, temp);
temp = new ItemStack(Material.IRON_DOOR, 1);
@@ -1166,20 +1126,20 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + "----------------------------");
lore.add(ChatColor.WHITE + cf.getString("panels." + panelName + ".command"));
}
- setName(temp, ChatColor.WHITE + "Panel Command", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Panel Command", lore, p,true, true);
i.setItem(7, temp);
temp = new ItemStack(Material.LAVA_BUCKET, 1);
lore.clear();
lore.add(ChatColor.DARK_RED + "Permanently delete Panel");
- setName(temp, ChatColor.RED + "Delete Panel", lore, p,true);
+ setName(temp, ChatColor.RED + "Delete Panel", lore, p,true, true);
i.setItem(21, temp);
temp = new ItemStack(Material.PISTON, 1);
lore.clear();
lore.add(ChatColor.GRAY + "How many rows the panel will be");
lore.add(ChatColor.GRAY + "choose an integer from 1 to 6");
- setName(temp, ChatColor.WHITE + "Panel Rows", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Panel Rows", lore, p,true, true);
i.setItem(23, temp);
temp = new ItemStack(Material.BLACK_STAINED_GLASS, 1);
@@ -1189,7 +1149,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + "-----------------------");
lore.add(ChatColor.WHITE + Objects.requireNonNull(cf.getString("panels." + panelName + ".empty")).toUpperCase());
}
- setName(temp, ChatColor.WHITE + "Panel Empty Item", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Panel Empty Item", lore, p,true, true);
i.setItem(13, temp);
temp = new ItemStack(Material.COMMAND_BLOCK, 1);
@@ -1205,7 +1165,7 @@ public class commandpanels extends JavaPlugin {
count += 1;
}
}
- setName(temp, ChatColor.WHITE + "Panel Commands", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Panel Commands", lore, p,true, true);
i.setItem(15, temp);
temp = new ItemStack(Material.ITEM_FRAME, 1);
@@ -1214,16 +1174,16 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.GRAY + "/cp [name]");
lore.add(ChatColor.WHITE + "-----------------------");
lore.add(ChatColor.WHITE + panelName);
- setName(temp, ChatColor.WHITE + "Panel Name", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Panel Name", lore, p,true, true);
i.setItem(11, temp);
temp = new ItemStack(Material.BARRIER, 1);
- setName(temp, ChatColor.RED + "Back", null, p,true);
+ setName(temp, ChatColor.RED + "Back", null, p,true, true);
i.setItem(18, temp);
//This will create a wall of glass panes, separating panel settings with hotbar settings
temp = new ItemStack(Material.BLACK_STAINED_GLASS_PANE, 1);
- setName(temp, ChatColor.WHITE + "", null, p,false);
+ setName(temp, ChatColor.WHITE + "", null, p,false, true);
for(int d = 27; d < 36; d++){
i.setItem(d, temp);
}
@@ -1245,7 +1205,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + "-----------------------");
lore.add(ChatColor.RED + "DISABLED");
}
- setName(temp, ChatColor.WHITE + "Panel Hotbar Item", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Panel Hotbar Item", lore, p,true, true);
i.setItem(40, temp);
if(hotbarItems) {
@@ -1256,7 +1216,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + "----------");
lore.add(ChatColor.WHITE + Objects.requireNonNull(cf.getString("panels." + panelName + ".open-with-item.name")));
}
- setName(temp, ChatColor.WHITE + "Hotbar Item Name", lore, p, true);
+ setName(temp, ChatColor.WHITE + "Hotbar Item Name", lore, p, true, true);
i.setItem(38, temp);
temp = new ItemStack(Material.SPRUCE_SIGN, 1);
@@ -1272,7 +1232,7 @@ public class commandpanels extends JavaPlugin {
count += 1;
}
}
- setName(temp, ChatColor.WHITE + "Hotbar Lore", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Hotbar Lore", lore, p,true, true);
i.setItem(36, temp);
temp = new ItemStack(Material.BEDROCK, 1);
@@ -1285,7 +1245,7 @@ public class commandpanels extends JavaPlugin {
int location = cf.getInt("panels." + panelName + ".open-with-item.stationary") + 1;
lore.add(ChatColor.WHITE + String.valueOf(location));
}
- setName(temp, ChatColor.WHITE + "Hotbar Item Location", lore, p, true);
+ setName(temp, ChatColor.WHITE + "Hotbar Item Location", lore, p, true, true);
i.setItem(42, temp);
temp = new ItemStack(Material.BOOK, 1);
@@ -1294,7 +1254,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.GRAY + " /cp " + panelName + " item");
lore.add(ChatColor.GRAY + "- Hotbar items will need a");
lore.add(ChatColor.GRAY + " name to work properly.");
- setName(temp, ChatColor.WHITE + "Hotbar Item Tips", lore, p, true);
+ setName(temp, ChatColor.WHITE + "Hotbar Item Tips", lore, p, true, true);
i.setItem(44, temp);
}
@@ -1322,7 +1282,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + cf.getString("panels." + panelName + ".item." + itemNumber + ".name"));
}
}
- setName(temp, ChatColor.WHITE + "Item Name", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Item Name", lore, p,true, true);
i.setItem(1, temp);
temp = new ItemStack(Material.COMMAND_BLOCK, 1);
@@ -1338,7 +1298,7 @@ public class commandpanels extends JavaPlugin {
count += 1;
}
}
- setName(temp, ChatColor.WHITE + "Item Commands", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Item Commands", lore, p,true, true);
i.setItem(3, temp);
temp = new ItemStack(Material.EXPERIENCE_BOTTLE, 1);
@@ -1353,7 +1313,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + "--------------------------------");
lore.add(ChatColor.WHITE + "false");
}
- setName(temp, ChatColor.WHITE + "Item Enchantment", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Item Enchantment", lore, p,true, true);
i.setItem(5, temp);
temp = new ItemStack(Material.POTION, 1);
@@ -1365,7 +1325,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + cf.getString("panels." + panelName + ".item." + itemNumber + ".potion"));
}
}
- setName(temp, ChatColor.WHITE + "Item Potion Effect", lore, p,true);
+ setName(temp, ChatColor.WHITE + "Item Potion Effect", lore, p,true, true);
i.setItem(7, temp);
temp = new ItemStack(Material.SPRUCE_SIGN, 1);
@@ -1381,7 +1341,7 @@ public class commandpanels extends JavaPlugin {
count += 1;
}
}
- setName(temp, ChatColor.WHITE + "Item Lores", lore, p, true);
+ setName(temp, ChatColor.WHITE + "Item Lores", lore, p, true, true);
i.setItem(19, temp);
temp = new ItemStack(Material.ITEM_FRAME, 2);
@@ -1397,7 +1357,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + cf.getString("panels." + panelName + ".item." + itemNumber + ".stack"));
}
}
- setName(temp, ChatColor.WHITE + "Item Stack Size", lore, p, true);
+ setName(temp, ChatColor.WHITE + "Item Stack Size", lore, p, true, true);
i.setItem(21, temp);
temp = new ItemStack(Material.ANVIL, 1);
@@ -1409,7 +1369,7 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + cf.getString("panels." + panelName + ".item." + itemNumber + ".customdata"));
}
}
- setName(temp, ChatColor.WHITE + "Custom Model Data", lore, p, true);
+ setName(temp, ChatColor.WHITE + "Custom Model Data", lore, p, true, true);
i.setItem(23, temp);
temp = new ItemStack(Material.LEATHER_HELMET, 1);
@@ -1422,11 +1382,11 @@ public class commandpanels extends JavaPlugin {
lore.add(ChatColor.WHITE + cf.getString("panels." + panelName + ".item." + itemNumber + ".leatherarmor"));
}
}
- setName(temp, ChatColor.WHITE + "Leather Armor Colour", lore, p, true);
+ setName(temp, ChatColor.WHITE + "Leather Armor Colour", lore, p, true, true);
i.setItem(25, temp);
temp = new ItemStack(Material.BARRIER, 1);
- setName(temp, ChatColor.RED + "Back", null, p, true);
+ setName(temp, ChatColor.RED + "Back", null, p, true, true);
i.setItem(27, temp);
if(Objects.requireNonNull(cf.getString("panels." + panelName + ".item." + itemNumber + ".material")).startsWith("cps=")){
@@ -1481,7 +1441,7 @@ public class commandpanels extends JavaPlugin {
lore.clear();
lore.add(ChatColor.GRAY + "Click to set custom material");
lore.add(ChatColor.GRAY + "typically for custom heads");
- setName(temp, ChatColor.WHITE + "Item Slot " + itemNumber + " Preview", lore, p, true);
+ setName(temp, ChatColor.WHITE + "Item Slot " + itemNumber + " Preview", lore, p, true, true);
i.setItem(35, temp);
p.openInventory(i);
@@ -1493,38 +1453,54 @@ public class commandpanels extends JavaPlugin {
return new CharSequenceReader(new String(buffer));
}
- public void githubNewUpdate(){
+ public String githubNewUpdate(boolean sendMessages){
HttpURLConnection connection;
String gitVersion;
if(this.getDescription().getVersion().contains("-")){
- Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + ChatColor.GREEN + " Running a custom version.");
- return;
+ if(sendMessages) {
+ Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + ChatColor.GREEN + " Running a custom version.");
+ }
+ return null;
}
try{
connection = (HttpURLConnection) new URL("https://raw.githubusercontent.com/rockyhawk64/CommandPanels/master/resource/plugin.yml").openConnection();
connection.connect();
gitVersion = new BufferedReader(new InputStreamReader(connection.getInputStream())).readLine().split("\\s")[1];
if(gitVersion.contains("-")){
- Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + ChatColor.RED + " Cannot check for update.");
- return;
+ if(sendMessages) {
+ Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + ChatColor.RED + " Cannot check for update.");
+ }
+ return null;
}
if(!this.getDescription().getVersion().equals(gitVersion)){
- Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + " ================================================");
- Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + " An update for CommandPanels is available.");
- Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + " Download version " + gitVersion + " here:");
- Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + " https://www.spigotmc.org/resources/command-panels-custom-guis.67788/");
- Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + " ================================================");
+ if(sendMessages) {
+ Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + " ================================================");
+ Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + " An update for CommandPanels is available.");
+ Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + " Download version " + gitVersion + " here:");
+ Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + " https://www.spigotmc.org/resources/command-panels-custom-guis.67788/");
+ Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + " ================================================");
+ }
+ return gitVersion;
}
}catch(IOException e){
- Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + ChatColor.RED + " Error checking for updates online.");
+ if(sendMessages) {
+ Bukkit.getConsoleSender().sendMessage("[CommandPanels]" + ChatColor.RED + " Error checking for updates online.");
+ }
debug(e);
}
+ return null;
}
- public ItemStack makeItemFromConfig(ConfigurationSection itemSection, Player p, boolean placeholders){
+ public ItemStack makeItemFromConfig(ConfigurationSection itemSection, Player p, boolean placeholders, boolean colours){
String tag = this.config.getString("config.format.tag") + " ";
String material = itemSection.getString("material");
- if (Objects.requireNonNull(itemSection.getString("material")).equalsIgnoreCase("AIR")) {
+ try {
+ if (Objects.requireNonNull(itemSection.getString("material")).equalsIgnoreCase("AIR")) {
+ return null;
+ }
+ }catch(NullPointerException e){
+ debug(e);
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " material: could not load material!"));
return null;
}
ItemStack s;
@@ -1571,7 +1547,7 @@ public class commandpanels extends JavaPlugin {
assert meta != null;
meta.setOwningPlayer(Bukkit.getOfflinePlayer(UUID.fromString(skullname)));
} catch (Exception var23) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + this.config.getString("config.format.error") + " material: cps= self"));
+ p.sendMessage(papi( tag + this.config.getString("config.format.error") + " material: cps= self"));
debug(var23);
}
s.setItemMeta(meta);
@@ -1580,7 +1556,7 @@ public class commandpanels extends JavaPlugin {
s = this.getItem(matskull.split("\\s")[1]);
}
} catch (Exception var32) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + this.config.getString("config.format.error") + " head material: Could not load skull"));
+ p.sendMessage(papi( tag + this.config.getString("config.format.error") + " head material: Could not load skull"));
debug(var32);
}
}
@@ -1599,11 +1575,11 @@ public class commandpanels extends JavaPlugin {
try {
s = api.getItemHead(matskull.split("\\s")[1].trim());
} catch (Exception var22) {
- p.sendMessage(this.papi(p, ChatColor.translateAlternateColorCodes('&', tag + this.config.getString("config.format.error") + " hdb: could not load skull!")));
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " hdb: could not load skull!"));
debug(var22);
}
} else {
- p.sendMessage(this.papi(p, ChatColor.translateAlternateColorCodes('&', tag + "Download HeadDatabaseHook from Spigot to use this feature!")));
+ p.sendMessage(papi(tag + "Download HeadDatabaseHook from Spigot to use this feature!"));
}
}
if (itemSection.contains("map")) {
@@ -1634,10 +1610,10 @@ public class commandpanels extends JavaPlugin {
meta.setMapView(map);
s.setItemMeta(meta);
}else{
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " map: File not found.")));
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " map: File not found."));
}
}catch(Exception map){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " map: " + itemSection.getString("map"))));
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " map: " + itemSection.getString("map")));
debug(map);
}
}
@@ -1657,7 +1633,7 @@ public class commandpanels extends JavaPlugin {
s.setItemMeta(EnchantMeta);
}
} catch (Exception ench) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " enchanted: " + itemSection.getString("enchanted"))));
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " enchanted: " + itemSection.getString("enchanted")));
debug(ench);
}
}
@@ -1694,7 +1670,7 @@ public class commandpanels extends JavaPlugin {
} catch (Exception er) {
//don't colour the armor
debug(er);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " leatherarmor: " + itemSection.getString("leatherarmor"))));
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " leatherarmor: " + itemSection.getString("leatherarmor")));
}
}
if (itemSection.contains("potion")) {
@@ -1710,7 +1686,18 @@ public class commandpanels extends JavaPlugin {
} catch (Exception er) {
//don't add the effect
debug(er);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + this.config.getString("config.format.error") + " potion: " + itemSection.getString("potion")));
+ p.sendMessage(papi(tag + ChatColor.RED + this.config.getString("config.format.error") + " potion: " + itemSection.getString("potion")));
+ }
+ }
+ if (itemSection.contains("damage")) {
+ //change the damage amount (placeholders accepted)
+ try {
+ Damageable itemDamage = (Damageable) s.getItemMeta();
+ itemDamage.setDamage(Integer.parseInt(Objects.requireNonNull(papi(p, itemSection.getString("damage")))));
+ s.setItemMeta((ItemMeta) itemDamage);
+ }catch(Exception e){
+ debug(e);
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " damage: " + itemSection.getString("damage")));
}
}
if (itemSection.contains("stack")) {
@@ -1719,14 +1706,248 @@ public class commandpanels extends JavaPlugin {
}
} catch (IllegalArgumentException | NullPointerException var33) {
debug(var33);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + papi(p, this.config.getString("config.format.error") + " material: " + itemSection.getString("material"))));
+ p.sendMessage(papi(tag + this.config.getString("config.format.error") + " material: " + itemSection.getString("material")));
return null;
}
if (placeholders) {
- this.setName(s, papi(p, itemSection.getString("name")), papi(p, itemSection.getStringList("lore")), p, true);
+ this.setName(s, papi(p, itemSection.getString("name")), papi(p, itemSection.getStringList("lore"),true), p, true, colours);
}else{
- this.setName(s, itemSection.getString("name"), itemSection.getList("lore"), p, false);
+ this.setName(s, itemSection.getString("name"), itemSection.getStringList("lore"), p, false, colours);
}
return s;
}
+
+ //hasperm hasvalue, etc sections will be done here
+ public String hasSection(String panelName, YamlConfiguration cf, int slot, Player p){
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasvalue")) {
+ //loop through possible hasvalue 1,2,3,etc
+ for (int count = 0; Objects.requireNonNull(cf.getConfigurationSection("panels." + panelName + ".item." + slot)).getKeys(false).size() > count; count++) {
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasvalue" + count)) {
+ boolean outputValue = true;
+ //outputValue will default to true
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasvalue" + count + ".output")) {
+ //if output is true, and values match it will be this item, vice versa
+ outputValue = cf.getBoolean("panels." + panelName + ".item." + slot + ".hasvalue" + count + ".output");
+ }
+ String value = cf.getString("panels." + panelName + ".item." + slot + ".hasvalue" + count + ".value");
+ String compare = ChatColor.stripColor(papi(p,setCpPlaceholders(p,cf.getString("panels." + panelName + ".item." + slot + ".hasvalue" + count + ".compare"))));
+ if (compare.equals(value) == outputValue) {
+ //onOpen being 3 means it is the editor panel.. hasvalue items cannot be included to avoid item breaking
+ return ".hasvalue" + count;
+ }
+ }
+ }
+ //this will do the hasvalue without any numbers
+ boolean outputValue = true;
+ //outputValue will default to true
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasvalue.output")) {
+ //if output is true, and values match it will be this item, vice versa
+ outputValue = cf.getBoolean("panels." + panelName + ".item." + slot + ".hasvalue.output");
+ }
+ String value = cf.getString("panels." + panelName + ".item." + slot + ".hasvalue.value");
+ String compare = ChatColor.stripColor(papi(p,setCpPlaceholders(p,cf.getString("panels." + panelName + ".item." + slot + ".hasvalue.compare"))));
+ if (compare.equals(value) == outputValue) {
+ //onOpen being 3 means it is the editor panel.. hasvalue items cannot be included to avoid item breaking
+ return ".hasvalue";
+ }
+ }
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasgreater")) {
+ //loop through possible hasgreater 1,2,3,etc
+ for (int count = 0; Objects.requireNonNull(cf.getConfigurationSection("panels." + panelName + ".item." + slot)).getKeys(false).size() > count; count++) {
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasgreater" + count)) {
+ boolean outputValue = true;
+ //outputValue will default to true
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasgreater" + count + ".output")) {
+ //if output is true, and values match it will be this item, vice versa
+ outputValue = cf.getBoolean("panels." + panelName + ".item." + slot + ".hasgreater" + count + ".output");
+ }
+ int value = cf.getInt("panels." + panelName + ".item." + slot + ".hasgreater" + count + ".value");
+ double compare = Double.parseDouble(ChatColor.stripColor(papi(p,setCpPlaceholders(p,cf.getString("panels." + panelName + ".item." + slot + ".hasgreater" + count + ".compare")))));
+ if ((compare >= value) == outputValue) {
+ //onOpen being 3 means it is the editor panel.. hasgreater items cannot be included to avoid item breaking
+ return ".hasgreater" + count;
+ }
+ }
+ }
+ //this will do the hasgreater without any numbers
+ boolean outputValue = true;
+ //outputValue will default to true
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasgreater.output")) {
+ //if output is true, and values match it will be this item, vice versa
+ outputValue = cf.getBoolean("panels." + panelName + ".item." + slot + ".hasgreater.output");
+ }
+ int value = cf.getInt("panels." + panelName + ".item." + slot + ".hasgreater.value");
+ double compare = Double.parseDouble(ChatColor.stripColor(papi(p,setCpPlaceholders(p,cf.getString("panels." + panelName + ".item." + slot + ".hasgreater.compare")))));
+ if ((compare >= value) == outputValue) {
+ //onOpen being 3 means it is the editor panel.. hasgreater items cannot be included to avoid item breaking
+ return ".hasgreater";
+ }
+ }
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasperm")) {
+ for(int count = 0; Objects.requireNonNull(cf.getConfigurationSection("panels." + panelName + ".item." + slot)).getKeys(false).size() > count; count++){
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasperm" + count) && cf.contains("panels." + panelName + ".item." + slot + ".hasperm" + count + ".perm")) {
+ boolean outputValue = true;
+ //outputValue will default to true
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasperm" + count + ".output")) {
+ //if output is true, and values match it will be this item, vice versa
+ outputValue = cf.getBoolean("panels." + panelName + ".item." + slot + ".hasperm" + count + ".output");
+ }
+ if (p.hasPermission(Objects.requireNonNull(cf.getString("panels." + panelName + ".item." + slot + ".hasperm" + count + ".perm"))) == outputValue) {
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasperm" + count + ".commands")) {
+ return ".hasperm" + count;
+ }
+ }
+ }
+ }
+ //this will do hasperm with no numbers
+ boolean outputValue = true;
+ //outputValue will default to true
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasperm" + ".output")) {
+ //if output is true, and values match it will be this item, vice versa
+ outputValue = cf.getBoolean("panels." + panelName + ".item." + slot + ".hasperm" + ".output");
+ }
+ if (p.hasPermission(Objects.requireNonNull(cf.getString("panels." + panelName + ".item." + slot + ".hasperm.perm"))) == outputValue) {
+ if (cf.contains("panels." + panelName + ".item." + slot + ".hasperm.commands")) {
+ return ".hasperm";
+ }
+ }
+ }
+ return "";
+ }
+
+ //this is the main method to open a panel
+ public void openCommandPanel(CommandSender sender, Player p, String panels, YamlConfiguration cf, boolean sendOpenedMessage){
+ String tag = config.getString("config.format.tag") + " ";
+ if (sender.hasPermission("commandpanel.panel." + cf.getString("panels." + panels + ".perm"))) {
+ //if the sender has OTHER perms, or if sendOpenedMessage is false, implying it is not for another person
+ if(sender.hasPermission("commandpanel.other") || !sendOpenedMessage) {
+ try {
+ if (cf.contains("panels." + panels + ".disabled-worlds")) {
+ List disabledWorlds = cf.getStringList("panels." + panels + ".disabled-worlds");
+ if (disabledWorlds.contains(p.getWorld().getName())) {
+ //panel cannot be used in the players world!
+ if (Objects.requireNonNull(config.getString("config.disabled-world-message")).equalsIgnoreCase("true")) {
+ sender.sendMessage(papi(tag + ChatColor.RED + "Panel is disabled in the world!"));
+ }
+ return;
+ }
+ }
+ }catch(NullPointerException offlinePlayer){
+ //SKIP because player is offline
+ sender.sendMessage(papi(tag + config.getString("config.format.notitem")));
+ return;
+ }
+ try {
+ if (cf.contains("panels." + panels + ".sound-on-open")) {
+ //play sound when panel is opened
+ if(!Objects.requireNonNull(cf.getString("panels." + panels + ".sound-on-open")).equalsIgnoreCase("off")) {
+ try {
+ p.playSound(p.getLocation(), Sound.valueOf(Objects.requireNonNull(cf.getString("panels." + panels + ".sound-on-open")).toUpperCase()), 1F, 1F);
+ } catch (Exception s) {
+ p.sendMessage(papi(tag + config.getString("config.format.error") + " " + "sound-on-open: " + cf.getString("panels." + panels + ".sound-on-open")));
+ }
+ }
+ }
+ if (cf.contains("panels." + panels + ".commands-on-open")) {
+ //execute commands on panel open
+ try {
+ List commands = cf.getStringList("panels." + panels + ".commands-on-open");
+ for (int i = 0; commands.size() - 1 >= i; i++) {
+ int val = commandPayWall(p,commands.get(i));
+ if(val == 0){
+ break;
+ }
+ if(val == 2){
+ commandTags(p, commands.get(i));
+ }
+ }
+ }catch(Exception s){
+ p.sendMessage(papi(tag + config.getString("config.format.error") + " " + "commands-on-open: " + cf.getString("panels." + panels + ".commands-on-open")));
+ }
+ }
+ openGui(panels, p, cf,1,0);
+ if(sendOpenedMessage) {
+ sender.sendMessage(papi( tag + ChatColor.GREEN + "Panel Opened for " + p.getDisplayName()));
+ }
+ } catch (Exception r) {
+ debug(r);
+ sender.sendMessage(papi(tag + config.getString("config.format.notitem")));
+ }
+ }else{
+ sender.sendMessage(papi(tag + config.getString("config.format.perms")));
+ }
+ return;
+ }
+ sender.sendMessage(papi(tag + config.getString("config.format.perms")));
+ }
+
+ //this will give a hotbar item to a player
+ public void giveHotbarItem(CommandSender sender, Player p, String panels, YamlConfiguration cf, boolean sendGiveMessage){
+ String tag = config.getString("config.format.tag") + " ";
+ if (sender.hasPermission("commandpanel.item." + cf.getString("panels." + panels + ".perm")) && cf.contains("panels." + panels + ".open-with-item")) {
+ try {
+ if (cf.contains("panels." + panels + ".disabled-worlds")) {
+ List disabledWorlds = cf.getStringList("panels." + panels + ".disabled-worlds");
+ if (disabledWorlds.contains(p.getWorld().getName())) {
+ //panel cannot be used in the players world!
+ if (Objects.requireNonNull(config.getString("config.disabled-world-message")).equalsIgnoreCase("true")) {
+ sender.sendMessage(papi(tag + ChatColor.RED + "Panel is disabled in the world!"));
+ }
+ return;
+ }
+ }
+ }catch(NullPointerException offlinePlayer){
+ //SKIP because player is offline
+ sender.sendMessage(papi(tag + config.getString("config.format.notitem")));
+ return;
+ }
+ ItemStack s;
+ try {
+ s = makeItemFromConfig(Objects.requireNonNull(cf.getConfigurationSection("panels." + panels + ".open-with-item")), p, false, true);
+ }catch(Exception n){
+ sender.sendMessage(papi(tag + config.getString("config.format.error") + " open-with-item: material"));
+ return;
+ }
+ setName(s, cf.getString("panels." + panels + ".open-with-item.name"), cf.getStringList("panels." + panels + ".open-with-item.lore"),p,true, false);
+ //if the sender has OTHER perms, or if sendGiveMessage is false, implying it is not for another person
+ if(sender.hasPermission("commandpanel.other") || !sendGiveMessage) {
+ try {
+ if(cf.contains("panels." + panels + ".open-with-item.stationary")) {
+ p.getInventory().setItem(Integer.parseInt(Objects.requireNonNull(cf.getString("panels." + panels + ".open-with-item.stationary"))), s);
+ }else{
+ p.getInventory().addItem(s);
+ }
+ if(sendGiveMessage) {
+ sender.sendMessage(papi( tag + ChatColor.GREEN + "Item Given to " + p.getDisplayName()));
+ }
+ } catch (Exception r) {
+ sender.sendMessage(papi(tag + config.getString("config.format.notitem")));
+ }
+ }else{
+ sender.sendMessage(papi(tag + config.getString("config.format.perms")));
+ }
+ return;
+ }
+ if (!cf.contains("panels." + panels + ".open-with-item")) {
+ sender.sendMessage(papi(tag + config.getString("config.format.noitem")));
+ return;
+ }
+ sender.sendMessage(papi(tag + config.getString("config.format.perms")));
+ }
+
+ //used to translate hex colours into ChatColors
+ public String translateHexColorCodes(String message) {
+ final Pattern hexPattern = Pattern.compile("#" + "([A-Fa-f0-9]{6})");
+ Matcher matcher = hexPattern.matcher(message);
+ StringBuffer buffer = new StringBuffer(message.length() + 4 * 8);
+ while (matcher.find()) {
+ String group = matcher.group(1);
+ matcher.appendReplacement(buffer, ChatColor.COLOR_CHAR + "x"
+ + ChatColor.COLOR_CHAR + group.charAt(0) + ChatColor.COLOR_CHAR + group.charAt(1)
+ + ChatColor.COLOR_CHAR + group.charAt(2) + ChatColor.COLOR_CHAR + group.charAt(3)
+ + ChatColor.COLOR_CHAR + group.charAt(4) + ChatColor.COLOR_CHAR + group.charAt(5)
+ );
+ }
+ return matcher.appendTail(buffer).toString();
+ }
}
diff --git a/src/me/rockyhawk/commandPanels/commands/commandpanel.java b/src/me/rockyhawk/commandPanels/commands/commandpanel.java
index 3be52b7..314774e 100644
--- a/src/me/rockyhawk/commandPanels/commands/commandpanel.java
+++ b/src/me/rockyhawk/commandPanels/commands/commandpanel.java
@@ -2,15 +2,12 @@ package me.rockyhawk.commandPanels.commands;
import me.rockyhawk.commandPanels.commandpanels;
import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
-import org.bukkit.inventory.ItemStack;
import java.io.File;
import java.util.*;
@@ -35,10 +32,10 @@ public class commandpanel implements CommandExecutor {
for(String fileName : plugin.panelFiles) { //will loop through all the files in folder
YamlConfiguration temp = YamlConfiguration.loadConfiguration(new File(plugin.panelsf + File.separator + fileName));
if(!plugin.checkPanels(temp)){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + ": Panel with syntax error found!"));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + ": Panel with syntax error found!"));
return true;
}
- for (String key : temp.getConfigurationSection("panels").getKeys(false)) {
+ for (String key : Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false)) {
apanels.add(temp.getString("panels." + key + ".title"));
opanels.add(key);
if (args[0].equalsIgnoreCase(key)){
@@ -53,530 +50,131 @@ public class commandpanel implements CommandExecutor {
return true;
}
if(!found){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.nopanel")));
return true;
}
//below will start the command, once it got the right file and panel
if (cmd.getName().equalsIgnoreCase("cp") || cmd.getName().equalsIgnoreCase("commandpanel") || cmd.getName().equalsIgnoreCase("cpanel")) {
- //if command executed from console
+ boolean nfound = true;
+ for (int i = 0; panels.split("\\s").length - 1 >= i; ++i) {
+ if (args[0].equalsIgnoreCase(panels.split("\\s")[i])) {
+ panels = panels.split("\\s")[i];
+ nfound = false;
+ }
+ }
+ if (nfound) {
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.nopanel")));
+ return true;
+ }else if (!checkconfig(panels, sender, cf)) {
+ //if the config is missing an element (message will be sent to user via the public boolean)
+ return true;
+ }
+ checkDuplicatePanel(sender,opanels,apanels);
if(!(sender instanceof Player)) {
+ //do console command command
if(args.length == 2){
if(!args[1].equals("item")){
- boolean nfound = true;
- for (int i = 0; panels.split("\\s").length - 1 >= i; ++i) {
- if (args[0].equalsIgnoreCase(panels.split("\\s")[i])) {
- panels = panels.split("\\s")[i];
- nfound = false;
- }
- }
- Player sp;
- try {
- sp = plugin.getServer().getPlayer(args[1]);
- }catch(Exception e){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.notitem")));
- return true;
- }
- if (nfound) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(sp, plugin.config.getString("config.format.nopanel"))));
- } else {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
- }
- return true;
- }else if (!checkconfig(panels, sp, cf)) {
- //if the config is missing an element (message will be sent to user via the public boolean)
- return true;
- }
- if (sender.hasPermission("commandpanel.panel." + cf.getString("panels." + panels + ".perm"))) {
- if(sender.hasPermission("commandpanel.other")) {
- try {
- if (cf.contains("panels." + panels + ".disabled-worlds")) {
- List disabledWorlds = cf.getStringList("panels." + panels + ".disabled-worlds");
- if (disabledWorlds.contains(sp.getWorld().getName())) {
- //panel cannot be used in the players world!
- if (Objects.requireNonNull(plugin.config.getString("config.disabled-world-message")).equalsIgnoreCase("true")) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Panel is disabled in players world!"));
- }
- return true;
- }
- }
- }catch(NullPointerException offlinePlayer){
- //SKIP because player is offline
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.notitem")));
- return true;
- }
- try {
- if (cf.contains("panels." + panels + ".sound-on-open")) {
- //play sound when panel is opened
- if(!Objects.requireNonNull(cf.getString("panels." + panels + ".sound-on-open")).equalsIgnoreCase("off")) {
- try {
- sp.playSound(sp.getLocation(), Sound.valueOf(Objects.requireNonNull(cf.getString("panels." + panels + ".sound-on-open")).toUpperCase()), 1F, 1F);
- } catch (Exception s) {
- sp.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + plugin.papi(sp, plugin.config.getString("config.format.error") + " " + "sound-on-open: " + cf.getString("panels." + panels + ".sound-on-open"))));
- }
- }
- }
- if (cf.contains("panels." + panels + ".commands-on-open")) {
- //execute commands on panel open
- try {
- List commands = cf.getStringList("panels." + panels + ".commands-on-open");
- for (int i = 0; commands.size() - 1 >= i; i++) {
- int val = plugin.commandPayWall(sp,commands.get(i));
- if(val == 0){
- break;
- }
- if(val == 2){
- plugin.commandTags(sp, commands.get(i));
- }
- }
- }catch(Exception s){
- sp.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + plugin.papi(sp, plugin.config.getString("config.format.error") + " " + "commands-on-open: " + cf.getString("panels." + panels + ".commands-on-open"))));
- }
- }
- plugin.openGui(panels, sp, cf,1,0);
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Panel Opened for " + sp.getDisplayName()));
- } catch (Exception r) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.notitem")));
- }
- }else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
- }
- return true;
- }
-
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(sp, plugin.config.getString("config.format.perms"))));
- return true;
- } else {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
- return true;
- }
+ plugin.openCommandPanel(sender,plugin.getServer().getPlayer(args[1]),panels,cf,true);
+ return true;
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cp [item] [player]"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cp [item] [player]"));
return true;
}
}else if(args.length == 3){
if (args[1].equals("item")) {
- boolean nfound = true;
- for (int i = 0; panels.split("\\s").length - 1 >= i; ++i) {
- if (args[0].equalsIgnoreCase(panels.split("\\s")[i])) {
- panels = panels.split("\\s")[i];
- nfound = false;
- }
- }
- Player sp;
- try {
- sp = plugin.getServer().getPlayer(args[2]);
- }catch(Exception e){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.notitem")));
- return true;
- }
- if (nfound) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(sp, plugin.config.getString("config.format.nopanel"))));
- } else {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
- }
- return true;
- }
-
- if (sender.hasPermission("commandpanel.item." + cf.getString("panels." + panels + ".perm")) && cf.contains("panels." + panels + ".open-with-item")) {
- if(cf.contains("panels." + panels + ".disabled-worlds")){
- List disabledWorlds = cf.getStringList("panels." + panels + ".disabled-worlds");
- if(disabledWorlds.contains(sp.getWorld().getName())){
- //panel cannot be used in the players world!
- if(Objects.requireNonNull(plugin.config.getString("config.disabled-world-message")).equalsIgnoreCase("true")){
- sp.sendMessage(ChatColor.RED + "Panel is disabled in this world!");
- }
- return true;
- }
- }
- ItemStack s;
- try {
- s = new ItemStack(Objects.requireNonNull(Material.matchMaterial(Objects.requireNonNull(cf.getString("panels." + panels + ".open-with-item.material")))), 1);
- }catch(Exception n){
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(sp, plugin.config.getString("config.format.error") + " open-with-item: material")));
- } else {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + " open-with-item: material"));
- }
- return true;
- }
- plugin.setName(s, cf.getString("panels." + panels + ".open-with-item.name"), cf.getList("panels." + panels + ".open-with-item.lore"),sp,true);
- if(sender.hasPermission("commandpanel.other")) {
- try {
- if(cf.contains("panels." + panels + ".open-with-item.stationary")) {
- sp.getInventory().setItem(Integer.parseInt(Objects.requireNonNull(cf.getString("panels." + panels + ".open-with-item.stationary"))), s);
- }else{
- sp.getInventory().addItem(s);
- }
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Item Given to " + plugin.getServer().getPlayer(args[2]).getDisplayName()));
- } catch (Exception r) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.notitem")));
- }
- }else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
- }
- return true;
- }
- if (!cf.contains("panels." + panels + ".open-with-item")) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(sp, plugin.config.getString("config.format.noitem"))));
- return true;
- } else {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.noitem")));
- return true;
- }
- }
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(sp, plugin.config.getString("config.format.perms"))));
- return true;
- } else {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
- return true;
- }
+ plugin.giveHotbarItem(sender,plugin.getServer().getPlayer(args[2]),panels,cf,true);
+ return true;
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cp item [player]"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cp item [player]"));
return true;
}
} else {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Please execute command directed to a Player!"));
+ sender.sendMessage(plugin.papi( tag + ChatColor.RED + "Please execute command directed to a Player!"));
return true;
}
- }
- Player p = (Player) sender;
- //names is a list of the titles for the Panels
- Set oset = new HashSet(opanels);
- if (oset.size() < opanels.size()) {
- //there are duplicate panel names
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " panels: You cannot have duplicate panel names!")));
- if(plugin.debug){
- ArrayList opanelsTemp = new ArrayList();
- for(String tempName : opanels){
- if(opanelsTemp.contains(tempName)){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + " The duplicate panel is: " + tempName));
- return true;
- }
- opanelsTemp.add(tempName);
- }
- }
- return true;
- }
- Set set = new HashSet(apanels);
- if (set.size() < apanels.size()) {
- //there are duplicate panel titles
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " title: You cannot have duplicate title names!")));
- if(plugin.debug){
- ArrayList apanelsTemp = new ArrayList();
- for(String tempName : apanels){
- if(apanelsTemp.contains(tempName)){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + " The duplicate title is: " + tempName));
- return true;
- }
- apanelsTemp.add(tempName);
- }
- }
- return true;
- }
-
- if (args.length == 1) {
- boolean nfound = true;
-
- for (int i = 0; panels.split("\\s").length - 1 >= i; ++i) {
- if (args[0].equalsIgnoreCase(panels.split("\\s")[i])) {
- panels = panels.split("\\s")[i];
- nfound = false;
- }
- }
- if (nfound) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.nopanel"))));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
+ }else{
+ //get player
+ Player p = (Player) sender;
+ //do player command
+ if (args.length == 1) {
+ plugin.openCommandPanel(sender, p, panels, cf,false);
+ return true;
+ }else if(args.length == 2){
+ if (args[1].equals("item")) {
+ plugin.giveHotbarItem(sender, p, panels, cf, false);
+ }else{
+ plugin.openCommandPanel(sender, plugin.getServer().getPlayer(args[1]), panels, cf,true);
}
return true;
- }else if (!checkconfig(panels, p, cf)) {
- //if the config is missing an element (message will be sent to user via the public boolean)
+ }else if(args.length == 3){
+ plugin.giveHotbarItem(sender, plugin.getServer().getPlayer(args[2]), panels, cf,true);
return true;
}
- if (p.hasPermission("commandpanel.panel." + cf.getString("panels." + panels + ".perm"))) {
- if(cf.contains("panels." + panels + ".disabled-worlds")){
- List disabledWorlds = cf.getStringList("panels." + panels + ".disabled-worlds");
- if(disabledWorlds.contains(p.getWorld().getName())){
- //panel cannot be used in the players world!
- if(Objects.requireNonNull(plugin.config.getString("config.disabled-world-message")).equalsIgnoreCase("true")){
- p.sendMessage(ChatColor.RED + "Panel is disabled in this world!");
- }
- return true;
- }
- }
- if (cf.contains("panels." + panels + ".sound-on-open")) {
- //play sound when panel is opened
- if(!Objects.requireNonNull(cf.getString("panels." + panels + ".sound-on-open")).equalsIgnoreCase("off")) {
- try {
- p.playSound(p.getLocation(), Sound.valueOf(Objects.requireNonNull(cf.getString("panels." + panels + ".sound-on-open")).toUpperCase()), 1F, 1F);
- } catch (Exception s) {
- plugin.debug(s);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + plugin.papi(p, plugin.config.getString("config.format.error") + " " + "sound-on-open: " + cf.getString("panels." + panels + ".sound-on-open"))));
- }
- }
- }
- if (cf.contains("panels." + panels + ".commands-on-open")) {
- //execute commands on panel open
- try {
- List commands = cf.getStringList("panels." + panels + ".commands-on-open");
- for (int i = 0; commands.size() - 1 >= i; i++) {
- int val = plugin.commandPayWall(p,commands.get(i));
- if(val == 0){
- break;
- }
- if(val == 2){
- plugin.commandTags(p, commands.get(i));
- }
- }
- }catch(Exception s){
- plugin.debug(s);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + plugin.papi(p, plugin.config.getString("config.format.error") + " " + "commands-on-open: " + cf.getString("panels." + panels + ".commands-on-open"))));
- }
- }
- plugin.openGui(panels, p, cf, 1,0);
- return true;
- }
-
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.perms"))));
- return true;
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
- return true;
- }
- }
- if (args.length == 2) {
- if (args[1].equals("item")) {
- boolean nfound = true;
-
- for (int i = 0; panels.split("\\s").length - 1 >= i; ++i) {
- if (args[0].equalsIgnoreCase(panels.split("\\s")[i])) {
- panels = panels.split("\\s")[i];
- nfound = false;
- }
- }
-
- if (nfound) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.nopanel"))));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
- }
- return true;
- }
-
- if (p.hasPermission("commandpanel.item." + cf.getString("panels." + panels + ".perm")) && cf.contains("panels." + panels + ".open-with-item")) {
- if(cf.contains("panels." + panels + ".disabled-worlds")){
- List disabledWorlds = cf.getStringList("panels." + panels + ".disabled-worlds");
- if(disabledWorlds.contains(p.getWorld().getName())){
- //panel cannot be used in the players world!
- if(Objects.requireNonNull(plugin.config.getString("config.disabled-world-message")).equalsIgnoreCase("true")){
- p.sendMessage(ChatColor.RED + "Panel is disabled in this world!");
- }
- return true;
- }
- }
- ItemStack s;
- try {
- s = new ItemStack(Objects.requireNonNull(Material.matchMaterial(cf.getString("panels." + panels + ".open-with-item.material"))), 1);
- }catch(Exception n){
- plugin.debug(n);
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " open-with-item: material")));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + " open-with-item: material"));
- }
- return true;
- }
- plugin.setName(s, cf.getString("panels." + panels + ".open-with-item.name"), cf.getList("panels." + panels + ".open-with-item.lore"),p,true);
- if(cf.contains("panels." + panels + ".open-with-item.stationary")) {
- p.getInventory().setItem(Integer.parseInt(Objects.requireNonNull(cf.getString("panels." + panels + ".open-with-item.stationary"))), s);
- }else{
- p.getInventory().addItem(s);
- }
- return true;
- }
- if (!cf.contains("panels." + panels + ".open-with-item")) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.noitem"))));
- return true;
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.noitem")));
- return true;
- }
- }
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.perms"))));
- return true;
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
- return true;
- }
- }else { //player name here eg /cp example RockyHawk to get rockyhawk to open panel
- boolean nfound = true;
-
- for (int i = 0; panels.split("\\s").length - 1 >= i; ++i) {
- if (args[0].equalsIgnoreCase(panels.split("\\s")[i])) {
- panels = args[0];
- nfound = false;
- break;
- }
- }
- if (nfound) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.nopanel"))));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
- }
- return true;
- }else if (!checkconfig(panels, p, cf)) {
- //if the config is missing an element (message will be sent to user via the public boolean)
- return true;
- }
- if (p.hasPermission("commandpanel.panel." + cf.getString("panels." + panels + ".perm"))) {
- if(p.hasPermission("commandpanel.other")) {
- if(cf.contains("panels." + panels + ".disabled-worlds")){
- List disabledWorlds = cf.getStringList("panels." + panels + ".disabled-worlds");
- if(disabledWorlds.contains(p.getWorld().getName())){
- //panel cannot be used in the players world!
- if(Objects.requireNonNull(plugin.config.getString("config.disabled-world-message")).equalsIgnoreCase("true")){
- p.sendMessage(ChatColor.RED + "Panel is disabled in this world!");
- }
- return true;
- }
- }
- try {
- plugin.openGui(panels, plugin.getServer().getPlayer(args[1]), cf,1,0);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Panel Opened for " + plugin.getServer().getPlayer(args[1]).getDisplayName()));
- } catch (Exception r) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.notitem")));
- }
- }else{
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
- }
- return true;
- }
-
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.perms"))));
- return true;
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
- return true;
- }
- }
- }
- if (args.length == 3) {
- //if the command is /cp example item to give other player item
- if (args[1].equals("item")) {
- boolean nfound = true;
-
- for (int i = 0; panels.split("\\s").length - 1 >= i; ++i) {
- if (args[0].equalsIgnoreCase(panels.split("\\s")[i])) {
- panels = panels.split("\\s")[i];
- nfound = false;
- }
- }
-
- if (nfound) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.nopanel"))));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
- }
- return true;
- }
-
- if (p.hasPermission("commandpanel.item." + cf.getString("panels." + panels + ".perm")) && cf.contains("panels." + panels + ".open-with-item")) {
- if(cf.contains("panels." + panels + ".disabled-worlds")){
- List disabledWorlds = cf.getStringList("panels." + panels + ".disabled-worlds");
- if(disabledWorlds.contains(p.getWorld().getName())){
- //panel cannot be used in the players world!
- if(Objects.requireNonNull(plugin.config.getString("config.disabled-world-message")).equalsIgnoreCase("true")){
- p.sendMessage(ChatColor.RED + "Panel is disabled in this world!");
- }
- return true;
- }
- }
- ItemStack s;
- try {
- s = new ItemStack(Objects.requireNonNull(Material.matchMaterial(cf.getString("panels." + panels + ".open-with-item.material"))), 1);
- }catch(Exception n){
- plugin.debug(n);
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " open-with-item: material")));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + " open-with-item: material"));
- }
- return true;
- }
- plugin.setName(s, cf.getString("panels." + panels + ".open-with-item.name"), cf.getList("panels." + panels + ".open-with-item.lore"),p,true);
- if(p.hasPermission("commandpanel.other")) {
- try {
- if(cf.contains("panels." + panels + ".open-with-item.stationary")) {
- p.getInventory().setItem(Integer.parseInt(Objects.requireNonNull(cf.getString("panels." + panels + ".open-with-item.stationary"))), s);
- }else{
- p.getInventory().addItem(s);
- }
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Item Given to " + plugin.getServer().getPlayer(args[2]).getDisplayName()));
- } catch (Exception r) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.notitem")));
- }
- }else{
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
- }
- return true;
- }
- if (!cf.contains("panels." + panels + ".open-with-item")) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.noitem"))));
- return true;
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.noitem")));
- return true;
- }
- }
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.perms"))));
- return true;
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
- return true;
- }
- }
}
}
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cp [player:item] [player]"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cp [player:item] [player]"));
return true;
}
- boolean checkconfig(String panels, Player p, YamlConfiguration pconfig) {
+ boolean checkDuplicatePanel(CommandSender sender, ArrayList opanels, ArrayList apanels){
+ String tag = plugin.config.getString("config.format.tag") + " ";
+ //names is a list of the titles for the Panels
+ Set oset = new HashSet(opanels);
+ if (oset.size() < opanels.size()) {
+ //there are duplicate panel names
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " panels: You cannot have duplicate panel names!"));
+ if(plugin.debug){
+ ArrayList opanelsTemp = new ArrayList();
+ for(String tempName : opanels){
+ if(opanelsTemp.contains(tempName)){
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + " The duplicate panel is: " + tempName));
+ return false;
+ }
+ opanelsTemp.add(tempName);
+ }
+ }
+ return false;
+ }
+ Set set = new HashSet(apanels);
+ if (set.size() < apanels.size()) {
+ //there are duplicate panel titles
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " title: You cannot have duplicate title names!"));
+ if(plugin.debug){
+ ArrayList apanelsTemp = new ArrayList();
+ for(String tempName : apanels){
+ if(apanelsTemp.contains(tempName)){
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + " The duplicate title is: " + tempName));
+ return false;
+ }
+ apanelsTemp.add(tempName);
+ }
+ }
+ return false;
+ }
+ return true;
+ }
+
+ boolean checkconfig(String panels, CommandSender sender, YamlConfiguration pconfig) {
//if it is missing a section specified it will return false
String tag = plugin.config.getString("config.format.tag") + " ";
if(!pconfig.contains("panels." + panels)) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.nopanel"))));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.nopanel")));
return false;
}
if(!pconfig.contains("panels." + panels + ".perm")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " perm: Missing config section!")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " perm: Missing config section!"));
return false;
}
if(!pconfig.contains("panels." + panels + ".rows")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " rows: Missing config section!")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " perm: Missing config section!"));
return false;
}
if(!pconfig.contains("panels." + panels + ".title")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " title: Missing config section!")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " perm: Missing config section!"));
return false;
}
if(!pconfig.contains("panels." + panels + ".item")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " item: Missing config section!")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " perm: Missing config section!"));
return false;
}
return true;
diff --git a/src/me/rockyhawk/commandPanels/commands/commandpanelclose.java b/src/me/rockyhawk/commandPanels/commands/commandpanelclose.java
index 3a3ff99..b2d3343 100644
--- a/src/me/rockyhawk/commandPanels/commands/commandpanelclose.java
+++ b/src/me/rockyhawk/commandPanels/commands/commandpanelclose.java
@@ -16,7 +16,7 @@ public class commandpanelclose implements CommandExecutor {
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
String tag = plugin.config.getString("config.format.tag") + " ";
if(!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Please execute command as a Player!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Please execute command as a Player!"));
return true;
}
Player p = (Player)sender;
@@ -25,7 +25,7 @@ public class commandpanelclose implements CommandExecutor {
p.closeInventory();
return true;
}
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cpc"));
+ p.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cpc"));
return true;
}
}
diff --git a/src/me/rockyhawk/commandPanels/commands/commandpanelcustom.java b/src/me/rockyhawk/commandPanels/commands/commandpanelcustom.java
index 8ae0162..1155602 100644
--- a/src/me/rockyhawk/commandPanels/commands/commandpanelcustom.java
+++ b/src/me/rockyhawk/commandPanels/commands/commandpanelcustom.java
@@ -1,7 +1,6 @@
package me.rockyhawk.commandPanels.commands;
import me.rockyhawk.commandPanels.commandpanels;
-import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
@@ -23,7 +22,7 @@ public class commandpanelcustom implements Listener {
public void PlayerCommand(PlayerCommandPreprocessEvent e) {
String panels;
String tag = plugin.config.getString("config.format.tag") + " ";
- Player p = (Player)e.getPlayer();
+ Player p = e.getPlayer();
File panelsf = new File(plugin.getDataFolder() + File.separator + "panels");
try {
if (panelsf.list() == null || Objects.requireNonNull(panelsf.list()).length == 0) {
@@ -32,7 +31,7 @@ public class commandpanelcustom implements Listener {
}catch(Exception b){
return;
}
- YamlConfiguration cf; //this is the file to use for any panel.* requests
+ YamlConfiguration cf = null; //this is the file to use for any panel.* requests
ArrayList apanels = new ArrayList(); //all panels from all files (panel names)
String tpanels; //tpanels is the temp to check through the files
String panel = null;
@@ -41,11 +40,7 @@ public class commandpanelcustom implements Listener {
String key;
tpanels = "";
if(!plugin.checkPanels(temp)){
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + ": File with no Panels found!")));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + ": File with no Panels found!"));
- }
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + ": File with no Panels found!"));
return;
}
for (Iterator var10 = Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false).iterator(); var10.hasNext(); tpanels = tpanels + key + " ") {
@@ -58,6 +53,7 @@ public class commandpanelcustom implements Listener {
if(temp.contains("panels." + tpanels.split("\\s")[i] + ".command")) {
for(int c = 0; c < temp.getString("panels." + tpanels.split("\\s")[i] + ".command").split("\\s").length;c++) {
if (("/" + temp.getString("panels." + tpanels.split("\\s")[i] + ".command").split("\\s")[c]).equalsIgnoreCase(e.getMessage())) {
+ cf = temp;
panels = tpanels;
panels = panels.trim();
panel = panels.split("\\s")[i];
@@ -72,10 +68,10 @@ public class commandpanelcustom implements Listener {
}
e.setCancelled(true);
try {
- Bukkit.dispatchCommand(p, ChatColor.translateAlternateColorCodes('&', "commandpanels:commandpanel " + panel));
+ plugin.openCommandPanel(p,p,panel,cf,false);
}catch(Exception er){
//do nothing
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',plugin.papi(p,tag + ChatColor.RED + "Error opening panel!")));
+ p.sendMessage(plugin.papi(tag + ChatColor.RED + "Error opening panel!"));
}
}
}
diff --git a/src/me/rockyhawk/commandPanels/commands/commandpanelsdebug.java b/src/me/rockyhawk/commandPanels/commands/commandpanelsdebug.java
index ccea0f7..4f40d6c 100644
--- a/src/me/rockyhawk/commandPanels/commands/commandpanelsdebug.java
+++ b/src/me/rockyhawk/commandPanels/commands/commandpanelsdebug.java
@@ -20,20 +20,20 @@ public class commandpanelsdebug implements CommandExecutor {
//command /cpd
plugin.debug = !plugin.debug;
if(plugin.debug){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Debug Mode Enabled!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Debug Mode Enabled!"));
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Debug Mode Disabled!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Debug Mode Disabled!"));
}
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cpd"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cpd"));
}
return true;
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.perms")));
return true;
}
}
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cpd"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cpd"));
return true;
}
}
\ No newline at end of file
diff --git a/src/me/rockyhawk/commandPanels/commands/commandpanelslist.java b/src/me/rockyhawk/commandPanels/commands/commandpanelslist.java
index 5988237..e5b4f6c 100644
--- a/src/me/rockyhawk/commandPanels/commands/commandpanelslist.java
+++ b/src/me/rockyhawk/commandPanels/commands/commandpanelslist.java
@@ -26,11 +26,11 @@ public class commandpanelslist implements CommandExecutor {
//check to make sure the panels isn't empty
try {
if (plugin.panelFiles == null) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "No panels found!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "No panels found!"));
return true;
}
}catch(Exception b){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "No panels found!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "No panels found!"));
return true;
}
ArrayList apanels = new ArrayList(); //all panels from all files (panel names)
@@ -42,7 +42,7 @@ public class commandpanelslist implements CommandExecutor {
temp = YamlConfiguration.loadConfiguration(new File(plugin.panelsf + File.separator + plugin.panelFiles.get(f)));
apanels.add("%file%" + plugin.panelFiles.get(f));
if(!plugin.checkPanels(temp)){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + ": File with no Panels found!"));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + ": File with no Panels found!"));
return true;
}
for (Iterator var10 = temp.getConfigurationSection("panels").getKeys(false).iterator(); var10.hasNext(); tpanels = tpanels + key + " ") {
@@ -57,7 +57,7 @@ public class commandpanelslist implements CommandExecutor {
page = Integer.parseInt(args[0]);
skip = page*9-9;
}catch (Exception e){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Inaccessible Page"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Inaccessible Page"));
}
}
for (int f = skip; apanels.size() > f; f++) {
@@ -67,7 +67,7 @@ public class commandpanelslist implements CommandExecutor {
break;
}
}
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.DARK_AQUA + "Panels: (Page " + page + ")"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.DARK_AQUA + "Panels: (Page " + page + ")"));
for (int f = skip; apanels.size() > f; f++) {
if(apanels.get(f).contains("%file%")){
if(skip+9 <= f){
@@ -81,11 +81,11 @@ public class commandpanelslist implements CommandExecutor {
}
return true;
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.perms")));
return true;
}
}
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cpl"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cpl"));
return true;
}
}
\ No newline at end of file
diff --git a/src/me/rockyhawk/commandPanels/commands/commandpanelsreload.java b/src/me/rockyhawk/commandPanels/commands/commandpanelsreload.java
index d8420d3..2d24130 100644
--- a/src/me/rockyhawk/commandPanels/commands/commandpanelsreload.java
+++ b/src/me/rockyhawk/commandPanels/commands/commandpanelsreload.java
@@ -22,14 +22,14 @@ public class commandpanelsreload implements CommandExecutor {
plugin.config = YamlConfiguration.loadConfiguration(new File(plugin.getDataFolder() + File.separator + "config.yml"));
plugin.reloadPanelFiles();
tag = plugin.config.getString("config.format.tag") + " ";
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.reload")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.reload")));
return true;
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.perms")));
return true;
}
}
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cpr"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cpr"));
return true;
}
}
\ No newline at end of file
diff --git a/src/me/rockyhawk/commandPanels/commands/commandpanelversion.java b/src/me/rockyhawk/commandPanels/commands/commandpanelversion.java
index f3392eb..5800b94 100644
--- a/src/me/rockyhawk/commandPanels/commands/commandpanelversion.java
+++ b/src/me/rockyhawk/commandPanels/commands/commandpanelversion.java
@@ -18,17 +18,17 @@ public class commandpanelversion implements CommandExecutor {
if (label.equalsIgnoreCase("cpv") || label.equalsIgnoreCase("commandpanelversion") || label.equalsIgnoreCase("cpanelv")) {
if (sender.hasPermission("commandpanel.version")) {
//version command
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag));
+ sender.sendMessage(plugin.papi(tag));
sender.sendMessage(ChatColor.GREEN + "Version " + ChatColor.GRAY + plugin.getDescription().getVersion());
sender.sendMessage(ChatColor.GREEN + "Developer " + ChatColor.GRAY + "RockyHawk");
sender.sendMessage(ChatColor.GREEN + "Command " + ChatColor.GRAY + "/cp");
return true;
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.perms")));
return true;
}
}
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cpv"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cpv"));
return true;
}
}
diff --git a/src/me/rockyhawk/commandPanels/generatePanels/commandpanelsgenerate.java b/src/me/rockyhawk/commandPanels/generatePanels/commandpanelsgenerate.java
index 1970220..d18fc4d 100644
--- a/src/me/rockyhawk/commandPanels/generatePanels/commandpanelsgenerate.java
+++ b/src/me/rockyhawk/commandPanels/generatePanels/commandpanelsgenerate.java
@@ -20,7 +20,7 @@ public class commandpanelsgenerate implements CommandExecutor {
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
String tag = plugin.config.getString("config.format.tag") + " ";
if(!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Please execute command as a Player!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Please execute command as a Player!"));
return true;
}
Player p = (Player) sender;
@@ -33,30 +33,30 @@ public class commandpanelsgenerate implements CommandExecutor {
Inventory i = Bukkit.createInventory((InventoryHolder) null, Integer.parseInt(args[0]) * 9, "Generate New Panel");
p.openInventory(i);
} else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Please use integer from 1-6."));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Please use integer from 1-6."));
}
}catch(Exception exc){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Please use integer from 1-6."));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Please use integer from 1-6."));
}
return true;
}else if (args.length == 0) {
if (this.plugin.generateMode.contains(p)) {
this.plugin.generateMode.remove(p);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Generate Mode Disabled!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Generate Mode Disabled!"));
} else {
this.plugin.generateMode.add(p);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Generate Mode Enabled!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Generate Mode Enabled!"));
}
return true;
}
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Usage: /cpg [rows]"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Usage: /cpg [rows]"));
return true;
}else{
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.perms")));
return true;
}
}
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cpg [rows]"));
+ p.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cpg [rows]"));
return true;
}
}
\ No newline at end of file
diff --git a/src/me/rockyhawk/commandPanels/generatePanels/newGenUtils.java b/src/me/rockyhawk/commandPanels/generatePanels/newGenUtils.java
index 102aa38..62fcac8 100644
--- a/src/me/rockyhawk/commandPanels/generatePanels/newGenUtils.java
+++ b/src/me/rockyhawk/commandPanels/generatePanels/newGenUtils.java
@@ -81,7 +81,7 @@ public class newGenUtils implements Listener {
}
if(!foundItem){
//panels don't need items but I cancel on generate with no items because then players have the option to cancel if they need to
- p.sendMessage(plugin.papi(p,tag + ChatColor.RED + "Cancelled Panel!"));
+ p.sendMessage(plugin.papi(tag + ChatColor.RED + "Cancelled Panel!"));
return;
}
YamlConfiguration file;
@@ -132,9 +132,9 @@ public class newGenUtils implements Listener {
try {
file.save(new File(plugin.panelsf + File.separator + date + ".yml"));
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Saved Generated File To: " + date + ".yml"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Saved Generated File To: " + date + ".yml"));
} catch (IOException var16) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Could Not Save Generated Panel!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Could Not Save Generated Panel!"));
}
plugin.reloadPanelFiles();
}
diff --git a/src/me/rockyhawk/commandPanels/ingameEditor/cpIngameEditCommand.java b/src/me/rockyhawk/commandPanels/ingameEditor/cpIngameEditCommand.java
index 1ee964f..9477322 100644
--- a/src/me/rockyhawk/commandPanels/ingameEditor/cpIngameEditCommand.java
+++ b/src/me/rockyhawk/commandPanels/ingameEditor/cpIngameEditCommand.java
@@ -23,16 +23,16 @@ public class cpIngameEditCommand implements CommandExecutor {
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
String tag = plugin.config.getString("config.format.tag") + " ";
if(!sender.hasPermission("commandpanel.edit")){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.perms")));
return true;
}
if(Objects.requireNonNull(plugin.config.getString("config.ingame-editor")).equalsIgnoreCase("false")){
//this will cancel every /cpe command if ingame-editor is set to false
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Editor disabled!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Editor disabled!"));
return true;
}
if(!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Please execute command as a Player!"));
+ sender.sendMessage(plugin.papi( tag + ChatColor.RED + "Please execute command as a Player!"));
return true;
}
File panelscf = new File(plugin.getDataFolder() + File.separator + "panels" + File.separator + "example.yml"); //cf == correct file
@@ -49,7 +49,7 @@ public class cpIngameEditCommand implements CommandExecutor {
tpanels = "";
temp = YamlConfiguration.loadConfiguration(new File(plugin.panelsf + File.separator + filename));
if (!plugin.checkPanels(temp)) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + plugin.config.getString("config.format.error") + ": File with no Panels found!"));
+ sender.sendMessage(plugin.papi( tag + plugin.config.getString("config.format.error") + ": File with no Panels found!"));
return true;
}
for (Iterator var10 = temp.getConfigurationSection("panels").getKeys(false).iterator(); var10.hasNext(); tpanels = tpanels + key + " ") {
@@ -82,16 +82,12 @@ public class cpIngameEditCommand implements CommandExecutor {
Set oset = new HashSet(opanels);
if (oset.size() < opanels.size()) {
//there are duplicate panel names
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " panels: You cannot have duplicate panel names!")));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + " panels: You cannot have duplicate panel names!"));
- }
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " panels: You cannot have duplicate panel names!"));
if(plugin.debug){
ArrayList opanelsTemp = new ArrayList();
for(String tempName : opanels){
if(opanelsTemp.contains(tempName)){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + " The duplicate panel is: " + tempName));
+ p.sendMessage(plugin.papi(tag + ChatColor.RED + " The duplicate panel is: " + tempName));
return true;
}
opanelsTemp.add(tempName);
@@ -102,16 +98,12 @@ public class cpIngameEditCommand implements CommandExecutor {
Set set = new HashSet(apanels);
if (set.size() < apanels.size()) {
//there are duplicate panel names
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " title: You cannot have duplicate title names!")));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + " title: You cannot have duplicate title names!"));
- }
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " title: You cannot have duplicate title names!"));
if(plugin.debug){
ArrayList apanelsTemp = new ArrayList();
for(String tempName : apanels){
if(apanelsTemp.contains(tempName)){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + " The duplicate title is: " + tempName));
+ p.sendMessage(plugin.papi(tag + ChatColor.RED + " The duplicate title is: " + tempName));
return true;
}
apanelsTemp.add(tempName);
@@ -134,7 +126,7 @@ public class cpIngameEditCommand implements CommandExecutor {
}
if (nfound) {
//if the panel was not found in the message
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.nopanel"))));
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.nopanel")));
return true;
}else if (!checkconfig(panels, p, cf)) {
//if the config is missing an element (message will be sent to user via the public boolean)
@@ -145,50 +137,30 @@ public class cpIngameEditCommand implements CommandExecutor {
return true;
}
}
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Usage: /cpe "));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Usage: /cpe "));
return true;
}
boolean checkconfig(String panels, Player p, YamlConfiguration pconfig) {
//if it is missing a section specified it will return false
String tag = plugin.config.getString("config.format.tag") + " ";
if(!pconfig.contains("panels." + panels)) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.nopanel"))));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
- }
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.nopanel")));
return false;
}
if(!pconfig.contains("panels." + panels + ".perm")) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " perm: Missing config section!")));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + " perm: Missing config section!"));
- }
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " perm: Missing config section!"));
return false;
}
if(!pconfig.contains("panels." + panels + ".rows")) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " rows: Missing config section!")));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + " rows: Missing config section!"));
- }
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " perm: Missing config section!"));
return false;
}
if(!pconfig.contains("panels." + panels + ".title")) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " title: Missing config section!")));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + " title: Missing config section!"));
- }
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " perm: Missing config section!"));
return false;
}
if(!pconfig.contains("panels." + panels + ".item")) {
- if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + " item: Missing config section!")));
- } else {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.error") + " item: Missing config section!"));
- }
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + " perm: Missing config section!"));
return false;
}
return true;
diff --git a/src/me/rockyhawk/commandPanels/ingameEditor/editorUserInput.java b/src/me/rockyhawk/commandPanels/ingameEditor/editorUserInput.java
index e442ce2..668c44d 100644
--- a/src/me/rockyhawk/commandPanels/ingameEditor/editorUserInput.java
+++ b/src/me/rockyhawk/commandPanels/ingameEditor/editorUserInput.java
@@ -44,7 +44,7 @@ public class editorUserInput implements Listener {
if (key.equals(panelName)) {
cf = tempConf;
panelFile = new File(plugin.panelsf + File.separator + tempFile);
- panelTitle = ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(tempConf.getString("panels." + key + ".title")));
+ panelTitle = plugin.papi( Objects.requireNonNull(tempConf.getString("panels." + key + ".title")));
break;
}
}
@@ -56,7 +56,7 @@ public class editorUserInput implements Listener {
if(e.getMessage().equalsIgnoreCase(plugin.config.getString("config.input-cancel"))){
plugin.editorInputStrings.remove(temp);
plugin.reloadPanelFiles();
- e.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(plugin.config.getString("config.input-cancelled"))));
+ e.getPlayer().sendMessage(plugin.papi( Objects.requireNonNull(plugin.config.getString("config.input-cancelled"))));
return;
}
if(section.startsWith("panel.")) {
@@ -101,112 +101,112 @@ public class editorUserInput implements Listener {
//if the file has more than one panel in it
cf.set("panels." + panelName, null);
if(savePanelFile(cf, panelFile)){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Deleted Panel!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Deleted Panel!"));
}else{
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Could Not Delete Panel!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Could Not Delete Panel!"));
}
}else {
//if the file only has one panel in it
if (panelFile.delete()) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Deleted Panel!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Deleted Panel!"));
}else{
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Could Not Delete Panel!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Could Not Delete Panel!"));
}
}
}
break;
case "panel.perm":
if(e.getMessage().contains(" ")){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Permission cannot contain spaces!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Permission cannot contain spaces!"));
break;
}
cf.set("panels." + panelName + ".perm", e.getMessage());
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Permission required is now " + "commandpanel.panel." + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Permission required is now " + "commandpanel.panel." + e.getMessage()));
break;
case "panel.rows":
try {
int rows = Integer.parseInt(e.getMessage());
if (rows >= 7 || rows <= 0) {
//if the number isn't between 1-6
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Choose an integer between 1 to 6!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Choose an integer between 1 to 6!"));
return;
}
cf.set("panels." + panelName + ".rows", rows);
cf.save(panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set Panel to " + rows + " rows!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set Panel to " + rows + " rows!"));
} catch (Exception io) {
plugin.debug(io);
}
break;
case "panel.title":
- if(panelTitle.equals(ChatColor.translateAlternateColorCodes('&',e.getMessage()))){
- p.sendMessage(plugin.papi(p,tag + e.getMessage() + ChatColor.RED + " is in use from another panel!"));
+ if(panelTitle.equals(plugin.papi(e.getMessage()))){
+ p.sendMessage(plugin.papi(tag + e.getMessage() + ChatColor.RED + " is in use from another panel!"));
break;
}
cf.set("panels." + panelName + ".title", e.getMessage());
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set new Title to " + ChatColor.WHITE + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set new Title to " + ChatColor.WHITE + e.getMessage()));
break;
case "panel.name":
if(e.getMessage().contains(" ")){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Panel name cannot contain spaces!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Panel name cannot contain spaces!"));
break;
}
if(panelName.equals(e.getMessage())){
- p.sendMessage(plugin.papi(p,tag + ChatColor.RED + e.getMessage() + " is in use from another panel!"));
+ p.sendMessage(plugin.papi(tag + ChatColor.RED + e.getMessage() + " is in use from another panel!"));
break;
}
cf.set("panels." + e.getMessage(), cf.get("panels." + panelName));
cf.set("panels." + panelName, null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set new Name to " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set new Name to " + e.getMessage()));
break;
case "panel.empty":
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".empty", null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Empty materials have been removed."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Empty materials have been removed."));
break;
}
String materialTemp = null;
try {
materialTemp = Objects.requireNonNull(Material.matchMaterial(e.getMessage())).toString();
}catch(NullPointerException ex){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + e.getMessage() + " is not a valid Material!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + e.getMessage() + " is not a valid Material!"));
}
cf.set("panels." + panelName + ".empty", materialTemp);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set Empty material to " + materialTemp));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set Empty material to " + materialTemp));
break;
case "panel.sound-on-open":
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".sound-on-open", null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Sounds have been removed."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Sounds have been removed."));
break;
}
String tempSound;
try {
tempSound = Sound.valueOf(e.getMessage()).toString();
}catch(Exception ex){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + e.getMessage() + " is not a valid Sound!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + e.getMessage() + " is not a valid Sound!"));
return;
}
cf.set("panels." + panelName + ".sound-on-open", tempSound);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Sound when opening is now " + tempSound));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Sound when opening is now " + tempSound));
break;
case "panel.command":
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".command", null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Custom commands have been removed."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Custom commands have been removed."));
break;
}
cf.set("panels." + panelName + ".command", e.getMessage());
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set new custom commands to " + ChatColor.WHITE + "/" + e.getMessage().trim().replace(" ", " /")));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set new custom commands to " + ChatColor.WHITE + "/" + e.getMessage().trim().replace(" ", " /")));
break;
case "panel.commands-on-open.add":
List commandsOnOpenAdd = new ArrayList<>();
@@ -216,20 +216,20 @@ public class editorUserInput implements Listener {
commandsOnOpenAdd.add(e.getMessage());
cf.set("panels." + panelName + ".commands-on-open", commandsOnOpenAdd);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Added new command: " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Added new command: " + e.getMessage()));
break;
case "panel.commands-on-open.remove":
List commandsOnOpenRemove;
if(cf.contains("panels." + panelName + ".commands-on-open")){
commandsOnOpenRemove = cf.getStringList("panels." + panelName + ".commands-on-open");
}else{
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "No commands found to remove!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "No commands found to remove!"));
break;
}
try {
commandsOnOpenRemove.remove(Integer.parseInt(e.getMessage())-1);
}catch (Exception ex){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Could not find command!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Could not find command!"));
break;
}
if(commandsOnOpenRemove.size() == 0){
@@ -238,13 +238,13 @@ public class editorUserInput implements Listener {
cf.set("panels." + panelName + ".commands-on-open", commandsOnOpenRemove);
}
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Removed command line " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Removed command line " + e.getMessage()));
break;
case "panel.hotbar.material":
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".open-with-item", null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Hotbar item have been removed."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Hotbar item have been removed."));
//after an open-with-item has been altered, reload after changes
plugin.reloadPanelFiles();
break;
@@ -255,7 +255,7 @@ public class editorUserInput implements Listener {
cf.set("panels." + panelName + ".open-with-item.name", panelName + " Item");
}
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set new Material to " + ChatColor.WHITE + temp.toString()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set new Material to " + ChatColor.WHITE + temp.toString()));
//after an open-with-item has been altered, reload after changes
plugin.reloadPanelFiles();
break;
@@ -263,17 +263,17 @@ public class editorUserInput implements Listener {
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".open-with-item.stationary", null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Hotbar item can now be moved."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Hotbar item can now be moved."));
break;
}
try {
int loc = Integer.parseInt(e.getMessage());
if (loc >= 10 || loc <= 0) {
//if the number isn't between 1-9
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Choose an integer between 1 to 9!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Choose an integer between 1 to 9!"));
return;
}
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set Hotbar Location to " + loc + "!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set Hotbar Location to " + loc + "!"));
//because it needs to convert 1-9 to 0-8 for in the panel
loc -= 1;
cf.set("panels." + panelName + ".open-with-item.stationary", loc);
@@ -285,7 +285,7 @@ public class editorUserInput implements Listener {
case "panel.hotbar.name":
cf.set("panels." + panelName + ".open-with-item.name",e.getMessage());
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set new Name to " + ChatColor.WHITE + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set new Name to " + ChatColor.WHITE + e.getMessage()));
break;
case "panel.hotbar.lore.add":
List loreAdd = new ArrayList<>();
@@ -295,20 +295,20 @@ public class editorUserInput implements Listener {
loreAdd.add(e.getMessage());
cf.set("panels." + panelName + ".open-with-item.lore", loreAdd);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Added new lore: " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Added new lore: " + e.getMessage()));
break;
case "panel.hotbar.lore.remove":
List loreRemove;
if(cf.contains("panels." + panelName + ".open-with-item.lore")){
loreRemove = cf.getStringList("panels." + panelName + ".open-with-item.lore");
}else{
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "No lore found to remove!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "No lore found to remove!"));
break;
}
try {
loreRemove.remove(Integer.parseInt(e.getMessage())-1);
}catch (Exception ex){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Could not find lore!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Could not find lore!"));
break;
}
if(loreRemove.size() == 0){
@@ -317,7 +317,7 @@ public class editorUserInput implements Listener {
cf.set("panels." + panelName + ".open-with-item.lore", loreRemove);
}
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Removed lore line " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Removed lore line " + e.getMessage()));
break;
}
}
@@ -330,41 +330,41 @@ public class editorUserInput implements Listener {
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".item." + itemSlot + ".name", "");
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Name is now default."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Name is now default."));
break;
}
cf.set("panels." + panelName + ".item." + itemSlot + ".name", e.getMessage());
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set new name to " + ChatColor.WHITE + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set new name to " + ChatColor.WHITE + e.getMessage()));
break;
case "head":
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".item." + itemSlot + ".material", "PLAYER_HEAD");
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Material is now default."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Material is now default."));
break;
}
cf.set("panels." + panelName + ".item." + itemSlot + ".material", e.getMessage());
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set Material value to " + ChatColor.WHITE + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set Material value to " + ChatColor.WHITE + e.getMessage()));
break;
case "stack":
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".item." + itemSlot + ".stack", null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Item has been unstacked."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Item has been unstacked."));
break;
}
try {
int rows = Integer.parseInt(e.getMessage());
if (rows >= 65 || rows <= 0) {
//if the number isn't between 1-64
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Choose an integer between 1 to 64!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Choose an integer between 1 to 64!"));
return;
}
cf.set("panels." + panelName + ".item." + itemSlot + ".stack", rows);
cf.save(panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set stack to " + rows + "!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set stack to " + rows + "!"));
} catch (Exception io) {
plugin.debug(io);
}
@@ -373,45 +373,45 @@ public class editorUserInput implements Listener {
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".item." + itemSlot + ".enchanted", null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Enchantments have been removed."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Enchantments have been removed."));
break;
}
cf.set("panels." + panelName + ".item." + itemSlot + ".enchanted", e.getMessage());
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set new Enchantment to " + ChatColor.WHITE + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set new Enchantment to " + ChatColor.WHITE + e.getMessage()));
break;
case "potion":
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".item." + itemSlot + ".potion", null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Potion effects have been removed."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Potion effects have been removed."));
break;
}
cf.set("panels." + panelName + ".item." + itemSlot + ".potion", e.getMessage());
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Set new Potion to " + e.getMessage().toUpperCase()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Set new Potion to " + e.getMessage().toUpperCase()));
break;
case "customdata":
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".item." + itemSlot + ".customdata", null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Custom Model Data has been removed."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Custom Model Data has been removed."));
break;
}
cf.set("panels." + panelName + ".item." + itemSlot + ".customdata", e.getMessage());
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Custom Model Data set to " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Custom Model Data set to " + e.getMessage()));
break;
case "leatherarmor":
if(e.getMessage().trim().equalsIgnoreCase("remove")){
cf.set("panels." + panelName + ".item." + itemSlot + ".leatherarmor", null);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Leather armor colour has been removed."));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Leather armor colour has been removed."));
break;
}
cf.set("panels." + panelName + ".item." + itemSlot + ".leatherarmor", e.getMessage());
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Leather armor colour set to " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Leather armor colour set to " + e.getMessage()));
break;
case "commands.add":
List commandsOnOpenAdd = new ArrayList<>();
@@ -421,20 +421,20 @@ public class editorUserInput implements Listener {
commandsOnOpenAdd.add(e.getMessage());
cf.set("panels." + panelName + ".item." + itemSlot + ".commands", commandsOnOpenAdd);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Added new command: " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Added new command: " + e.getMessage()));
break;
case "commands.remove":
List commandsOnOpenRemove;
if(cf.contains("panels." + panelName + ".item." + itemSlot + ".commands")){
commandsOnOpenRemove = cf.getStringList("panels." + panelName + ".item." + itemSlot + ".commands");
}else{
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "No commands found to remove!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "No commands found to remove!"));
break;
}
try {
commandsOnOpenRemove.remove(Integer.parseInt(e.getMessage())-1);
}catch (Exception ex){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Could not find command!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Could not find command!"));
break;
}
if(commandsOnOpenRemove.size() == 0){
@@ -443,7 +443,7 @@ public class editorUserInput implements Listener {
cf.set("panels." + panelName + ".item." + itemSlot + ".commands", commandsOnOpenRemove);
}
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Removed command line " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Removed command line " + e.getMessage()));
break;
case "lore.add":
List loreOnOpenAdd = new ArrayList<>();
@@ -453,20 +453,20 @@ public class editorUserInput implements Listener {
loreOnOpenAdd.add(e.getMessage());
cf.set("panels." + panelName + ".item." + itemSlot + ".lore", loreOnOpenAdd);
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Added new lore: " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Added new lore: " + e.getMessage()));
break;
case "lore.remove":
List loreOnOpenRemove;
if(cf.contains("panels." + panelName + ".item." + itemSlot + ".lore")){
loreOnOpenRemove = cf.getStringList("panels." + panelName + ".item." + itemSlot + ".lore");
}else{
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "No lore found to remove!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "No lore found to remove!"));
break;
}
try {
loreOnOpenRemove.remove(Integer.parseInt(e.getMessage())-1);
}catch (Exception ex){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.RED + "Could not find lore!"));
+ p.sendMessage(plugin.papi( tag + ChatColor.RED + "Could not find lore!"));
break;
}
if(loreOnOpenRemove.size() == 0){
@@ -475,7 +475,7 @@ public class editorUserInput implements Listener {
cf.set("panels." + panelName + ".item." + itemSlot + ".lore", loreOnOpenRemove);
}
savePanelFile(cf, panelFile);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + ChatColor.GREEN + "Removed lore line " + e.getMessage()));
+ p.sendMessage(plugin.papi( tag + ChatColor.GREEN + "Removed lore line " + e.getMessage()));
break;
}
}
diff --git a/src/me/rockyhawk/commandPanels/ingameEditor/editorUtils.java b/src/me/rockyhawk/commandPanels/ingameEditor/editorUtils.java
index 18a97a2..07a7ae4 100644
--- a/src/me/rockyhawk/commandPanels/ingameEditor/editorUtils.java
+++ b/src/me/rockyhawk/commandPanels/ingameEditor/editorUtils.java
@@ -34,7 +34,7 @@ public class editorUtils implements Listener {
return;
}
}catch(NullPointerException nu){return;}
- if(!p.getOpenInventory().getTitle().equals(ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&',"Command Panels Editor")))){
+ if(!p.getOpenInventory().getTitle().equals(ChatColor.stripColor(plugin.papi("Command Panels Editor")))){
return;
}
e.setCancelled(true);
@@ -53,8 +53,8 @@ public class editorUtils implements Listener {
}
for (String s : Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false)) {
key = s;
- panelNames.add(ChatColor.translateAlternateColorCodes('&', key));
- panelTitles.add(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(temp.getString("panels." + key + ".title"))));
+ panelNames.add(plugin.papi( key));
+ panelTitles.add(plugin.papi( Objects.requireNonNull(temp.getString("panels." + key + ".title"))));
panelYaml.add(temp);
}
}
@@ -150,7 +150,7 @@ public class editorUtils implements Listener {
}
for (String s : Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false)) {
key = s;
- if (e.getView().getTitle().equals(ChatColor.GRAY + "Editing Panel: " + ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(temp.getString("panels." + key + ".title"))))) {
+ if (e.getView().getTitle().equals(ChatColor.GRAY + "Editing Panel: " + plugin.papi( Objects.requireNonNull(temp.getString("panels." + key + ".title"))))) {
panelName = key;
fileName = fileTempName;
file = temp;
@@ -217,7 +217,7 @@ public class editorUtils implements Listener {
}
for (String s : Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false)) {
key = s;
- if (e.getView().getTitle().equals(ChatColor.GRAY + "Editing Panel: " + ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(temp.getString("panels." + key + ".title"))))) {
+ if (e.getView().getTitle().equals(ChatColor.GRAY + "Editing Panel: " + plugin.papi( Objects.requireNonNull(temp.getString("panels." + key + ".title"))))) {
panelName = key;
fileName = new File(plugin.panelsf + File.separator + tempName);
file = temp;
@@ -355,53 +355,53 @@ public class editorUtils implements Listener {
}
if(e.getSlot() == 1){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.perm"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Permission"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Permission"));
p.closeInventory();
}
if(e.getSlot() == 3){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.title"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Title"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Title"));
p.closeInventory();
}
if(e.getSlot() == 5){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.sound-on-open"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Sound ID"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Sound ID"));
p.closeInventory();
}
if(e.getSlot() == 7){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.command"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Command"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Command"));
p.closeInventory();
}
if(e.getSlot() == 21){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.delete"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Are you sure? (yes/no)"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Are you sure? (yes/no)"));
p.closeInventory();
}
if(e.getSlot() == 23){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.rows"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter Row Amount (1 to 6)"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter Row Amount (1 to 6)"));
p.closeInventory();
}
if(e.getSlot() == 13){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.empty"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Material ID"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Material ID"));
p.closeInventory();
}
if(e.getSlot() == 15){
//adds abilities to add and remove lines
if(e.getClick().isLeftClick()) {
plugin.editorInputStrings.add(new String[]{p.getName(), panelName, "panel.commands-on-open.add"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Command"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Command"));
}else{
plugin.editorInputStrings.add(new String[]{p.getName(), panelName, "panel.commands-on-open.remove"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter command line to remove (must be an integer)"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter command line to remove (must be an integer)"));
}
p.closeInventory();
}
if(e.getSlot() == 11){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.name"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Name"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Name"));
p.closeInventory();
}
if(e.getSlot() == 18){
@@ -410,28 +410,28 @@ public class editorUtils implements Listener {
}
if(e.getSlot() == 40){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.hotbar.material"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Material"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Material"));
p.closeInventory();
}
if(e.getSlot() == 38 && hotbarItems){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.hotbar.name"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Name"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Name"));
p.closeInventory();
}
if(e.getSlot() == 36 && hotbarItems){
//adds abilities to add and remove lines
if(e.getClick().isLeftClick()) {
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.hotbar.lore.add"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Item Lore"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Item Lore"));
}else{
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.hotbar.lore.remove"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter lore line to remove (must be an integer)"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter lore line to remove (must be an integer)"));
}
p.closeInventory();
}
if(e.getSlot() == 42 && hotbarItems){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"panel.hotbar.stationary"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter Location (1 to 9)"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter Location (1 to 9)"));
p.closeInventory();
}
}
@@ -488,59 +488,59 @@ public class editorUtils implements Listener {
}
if(e.getSlot() == 1){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"item." + itemSlot + ".name"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Item Name"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Item Name"));
p.closeInventory();
}
if(e.getSlot() == 3){
//adds abilities to add and remove lines
if(e.getClick().isLeftClick()) {
plugin.editorInputStrings.add(new String[]{p.getName(), panelName, "item." + itemSlot + ".commands.add"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Item Command"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Item Command"));
}else{
plugin.editorInputStrings.add(new String[]{p.getName(), panelName, "item." + itemSlot + ".commands.remove"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter command line to remove (must be an integer)"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter command line to remove (must be an integer)"));
}
p.closeInventory();
}
if(e.getSlot() == 5){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"item." + itemSlot + ".enchanted"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Item Enchantment"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Item Enchantment"));
p.closeInventory();
}
if(e.getSlot() == 7){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"item." + itemSlot + ".potion"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Item Potion Effect"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Item Potion Effect"));
p.closeInventory();
}
if(e.getSlot() == 19){
//adds abilities to add and remove lines
if(e.getClick().isLeftClick()) {
plugin.editorInputStrings.add(new String[]{p.getName(), panelName, "item." + itemSlot + ".lore.add"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Item Lore"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Item Lore"));
}else{
plugin.editorInputStrings.add(new String[]{p.getName(), panelName, "item." + itemSlot + ".lore.remove"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter lore line to remove (must be an integer)"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter lore line to remove (must be an integer)"));
}
p.closeInventory();
}
if(e.getSlot() == 21){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"item." + itemSlot + ".stack"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Item Stack (must be an integer)"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Item Stack (must be an integer)"));
p.closeInventory();
}
if(e.getSlot() == 23){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"item." + itemSlot + ".customdata"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Custom Model Data"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Custom Model Data"));
p.closeInventory();
}
if(e.getSlot() == 25){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"item." + itemSlot + ".leatherarmor"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Leather Armor Colour"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Leather Armor Colour"));
p.closeInventory();
}
if(e.getSlot() == 35){
plugin.editorInputStrings.add(new String[]{p.getName(),panelName,"item." + itemSlot + ".head"});
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Enter New Custom Material (eg. cps= self)"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Enter New Custom Material (eg. cps= self)"));
p.closeInventory();
}
if(e.getSlot() == 27){
@@ -598,7 +598,7 @@ public class editorUtils implements Listener {
}
for (String s : Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false)) {
key = s;
- if (invView.getTitle().equals(ChatColor.GRAY + "Editing Panel: " + ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(temp.getString("panels." + key + ".title"))))) {
+ if (invView.getTitle().equals(ChatColor.GRAY + "Editing Panel: " + plugin.papi( Objects.requireNonNull(temp.getString("panels." + key + ".title"))))) {
panelName = key;
fileName = tempFile;
file = temp;
@@ -670,9 +670,9 @@ public class editorUtils implements Listener {
try {
file.save(new File(plugin.panelsf + File.separator + fileName));
tempEdit.save(new File(plugin.getDataFolder() + File.separator + "temp.yml"));
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Saved Changes!"));
+ p.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Saved Changes!"));
} catch (IOException s) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Could Not Save Changes!"));
+ p.sendMessage(plugin.papi(tag + ChatColor.RED + "Could Not Save Changes!"));
plugin.debug(s);
}
plugin.reloadPanelFiles();
diff --git a/src/me/rockyhawk/commandPanels/openWithItem/utilsOpenWithItem.java b/src/me/rockyhawk/commandPanels/openWithItem/utilsOpenWithItem.java
index a65a1ca..1349c50 100644
--- a/src/me/rockyhawk/commandPanels/openWithItem/utilsOpenWithItem.java
+++ b/src/me/rockyhawk/commandPanels/openWithItem/utilsOpenWithItem.java
@@ -1,10 +1,8 @@
package me.rockyhawk.commandPanels.openWithItem;
import me.rockyhawk.commandPanels.commandpanels;
-import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
-import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@@ -46,14 +44,14 @@ public class utilsOpenWithItem implements Listener {
if(tempFile.contains("panels." + tempName + ".open-with-item") && Objects.requireNonNull(e.getClickedInventory()).getType() == InventoryType.PLAYER) {
try{
assert clicked != null;
- if (clicked.getType() == new ItemStack(Objects.requireNonNull(plugin.makeItemFromConfig(Objects.requireNonNull(tempFile.getConfigurationSection("panels." + tempName + ".open-with-item")), p, false).getType()), 1).getType()) {
- if ((ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(clicked.getItemMeta()).getDisplayName()).equals(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(tempFile.getString("panels." + tempName + ".open-with-item.name")))))) {
+ if (clicked.getType() == new ItemStack(Objects.requireNonNull(plugin.makeItemFromConfig(Objects.requireNonNull(tempFile.getConfigurationSection("panels." + tempName + ".open-with-item")), p, false, true).getType()), 1).getType()) {
+ if ((plugin.papi( Objects.requireNonNull(clicked.getItemMeta()).getDisplayName()).equals(plugin.papi( Objects.requireNonNull(tempFile.getString("panels." + tempName + ".open-with-item.name")))))) {
//cancel the click item event
if (tempFile.contains("panels." + tempName + ".open-with-item.stationary")) {
if (e.getSlot() == Integer.parseInt(Objects.requireNonNull(tempFile.getString("panels." + tempName + ".open-with-item.stationary")))) {
e.setCancelled(true);
p.updateInventory();
- Bukkit.dispatchCommand(p, "commandpanels:commandpanel " + tempName);
+ plugin.openCommandPanel(p,p,tempName,tempFile,false);
return;
}
}
@@ -93,8 +91,8 @@ public class utilsOpenWithItem implements Listener {
if(tempFile.contains("panels." + tempName + ".open-with-item")) {
try{
assert clicked != null;
- if (clicked.getType() == new ItemStack(Objects.requireNonNull(plugin.makeItemFromConfig(Objects.requireNonNull(tempFile.getConfigurationSection("panels." + tempName + ".open-with-item")), p, false).getType()), 1).getType()) {
- if ((ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(clicked.getItemMeta()).getDisplayName()).equals(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(tempFile.getString("panels." + tempName + ".open-with-item.name")))))) {
+ if (clicked.getType() == new ItemStack(Objects.requireNonNull(plugin.makeItemFromConfig(Objects.requireNonNull(tempFile.getConfigurationSection("panels." + tempName + ".open-with-item")), p, false, true).getType()), 1).getType()) {
+ if ((plugin.papi( Objects.requireNonNull(clicked.getItemMeta()).getDisplayName()).equals(plugin.papi( Objects.requireNonNull(tempFile.getString("panels." + tempName + ".open-with-item.name")))))) {
//cancel the click item event
if (tempFile.contains("panels." + tempName + ".open-with-item.stationary")) {
if (p.getInventory().getHeldItemSlot() != Integer.parseInt(Objects.requireNonNull(tempFile.getString("panels." + tempName + ".open-with-item.stationary")))) {
@@ -103,7 +101,7 @@ public class utilsOpenWithItem implements Listener {
}
e.setCancelled(true);
p.updateInventory();
- Bukkit.dispatchCommand(p, "commandpanels:commandpanel " + tempName);
+ plugin.openCommandPanel(p,p,tempName,tempFile,false);
return;
}
}
@@ -137,7 +135,6 @@ public class utilsOpenWithItem implements Listener {
}catch(Exception b){
return;
}
- YamlConfiguration cf; //this is the file to use for any panel.* requests
String tpanels; //tpanels is the temp to check through the files
for(String fileName : plugin.panelFiles) { //will loop through all the files in folder
YamlConfiguration temp = YamlConfiguration.loadConfiguration(new File(plugin.panelsf + File.separator + fileName));
@@ -156,7 +153,7 @@ public class utilsOpenWithItem implements Listener {
}
}
if (p.hasPermission("commandpanel.panel." + temp.getString("panels." + key + ".perm")) && temp.contains("panels." + key + ".open-with-item")) {
- ItemStack s = plugin.makeItemFromConfig(Objects.requireNonNull(temp.getConfigurationSection("panels." + key + ".open-with-item")), p, false);
+ ItemStack s = plugin.makeItemFromConfig(Objects.requireNonNull(temp.getConfigurationSection("panels." + key + ".open-with-item")), p, false, true);
if(temp.contains("panels." + key + ".open-with-item.stationary")) {
if (0 <= Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary"))) && 8 >= Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary")))) {
p.getInventory().setItem(Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary"))), s);
@@ -199,7 +196,7 @@ public class utilsOpenWithItem implements Listener {
}
}
if (p.hasPermission("commandpanel.panel." + temp.getString("panels." + key + ".perm")) && temp.contains("panels." + key + ".open-with-item")) {
- ItemStack s = plugin.makeItemFromConfig(Objects.requireNonNull(temp.getConfigurationSection("panels." + key + ".open-with-item")), p, false);
+ ItemStack s = plugin.makeItemFromConfig(Objects.requireNonNull(temp.getConfigurationSection("panels." + key + ".open-with-item")), p, false, true);
if(temp.contains("panels." + key + ".open-with-item.stationary") && 0 <= Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary"))) && 8 >= Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary")))){
p.getInventory().setItem(Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary"))), s);
}
@@ -234,7 +231,7 @@ public class utilsOpenWithItem implements Listener {
key = (String) var10.next();
if (p.hasPermission("commandpanel.panel." + temp.getString("panels." + key + ".perm")) && temp.contains("panels." + key + ".open-with-item")) {
if(temp.contains("panels." + key + ".open-with-item.stationary")){
- ItemStack s = plugin.makeItemFromConfig(Objects.requireNonNull(temp.getConfigurationSection("panels." + key + ".open-with-item")), p, false);
+ ItemStack s = plugin.makeItemFromConfig(Objects.requireNonNull(temp.getConfigurationSection("panels." + key + ".open-with-item")), p, false, true);
e.getDrops().remove(s);
}
}
@@ -262,7 +259,7 @@ public class utilsOpenWithItem implements Listener {
String key;
tpanels = "";
if(!plugin.checkPanels(temp)){
- p.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.papi(p, plugin.config.getString("config.format.error") + ": Missing required component in panel!")));
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + ": Missing required component in panel!"));
return;
}
for (Iterator var10 = Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false).iterator(); var10.hasNext(); tpanels = tpanels + key + " ") {
@@ -275,7 +272,7 @@ public class utilsOpenWithItem implements Listener {
continue;
}
}
- ItemStack s = plugin.makeItemFromConfig(Objects.requireNonNull(temp.getConfigurationSection("panels." + key + ".open-with-item")), p, false);
+ ItemStack s = plugin.makeItemFromConfig(Objects.requireNonNull(temp.getConfigurationSection("panels." + key + ".open-with-item")), p, false, true);
/*ItemStack s;
try {
s = new ItemStack(Objects.requireNonNull(Material.matchMaterial(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.material")))), 1);
@@ -294,7 +291,7 @@ public class utilsOpenWithItem implements Listener {
}catch(Exception n){
continue;
}
- plugin.setName(s, temp.getString("panels." + key + ".open-with-item.name"), temp.getList("panels." + key + ".open-with-item.lore"),p,true);
+ plugin.setName(s, temp.getString("panels." + key + ".open-with-item.name"), temp.getStringList("panels." + key + ".open-with-item.lore"),p,true, true);
if(temp.contains("panels." + key + ".open-with-item.stationary") && 0 <= Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary"))) && 8 >= Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary")))){
try {
if (Objects.requireNonNull(p.getInventory().getItem(Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary"))))).isSimilar(s)) {
@@ -341,7 +338,7 @@ public class utilsOpenWithItem implements Listener {
//try and catch loop to stop errors with the same material type but different name
try {
if (clicked.getType() == new ItemStack(Objects.requireNonNull(Material.matchMaterial(Objects.requireNonNull(temp.getString("panels." + ekey + ".open-with-item.material")))), 1).getType()) {
- if ((ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(clicked.getItemMeta()).getDisplayName()).equals(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(temp.getString("panels." + ekey + ".open-with-item.name")))))) {
+ if ((plugin.papi( Objects.requireNonNull(clicked.getItemMeta()).getDisplayName()).equals(plugin.papi( Objects.requireNonNull(temp.getString("panels." + ekey + ".open-with-item.name")))))) {
//cancel the click item event
if(temp.contains("panels." + key + ".open-with-item.stationary")){
if(p.getInventory().getHeldItemSlot() == Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary")))){
@@ -393,7 +390,7 @@ public class utilsOpenWithItem implements Listener {
//try and catch loop to stop errors with the same material type but different name
try {
if (clicked.getType() == new ItemStack(Objects.requireNonNull(Material.matchMaterial(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.material")))), 1).getType()) {
- if ((ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(clicked.getItemMeta()).getDisplayName()).equals(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.name")))))) {
+ if ((plugin.papi( Objects.requireNonNull(clicked.getItemMeta()).getDisplayName()).equals(plugin.papi( Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.name")))))) {
//cancel the click item event
if(temp.contains("panels." + key + ".open-with-item.stationary")){
if(p.getInventory().getHeldItemSlot() == Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary")))){
@@ -444,7 +441,7 @@ public class utilsOpenWithItem implements Listener {
//try and catch loop to stop errors with the same material type but different name
try {
if (clicked.getType() == new ItemStack(Objects.requireNonNull(Material.matchMaterial(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.material")))), 1).getType()) {
- if ((ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(clicked.getItemMeta()).getDisplayName()).equals(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.name")))))) {
+ if ((plugin.papi( Objects.requireNonNull(clicked.getItemMeta()).getDisplayName()).equals(plugin.papi( Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.name")))))) {
//cancel the click item event
if (temp.contains("panels." + key + ".open-with-item.stationary")) {
if (p.getInventory().getHeldItemSlot() == Integer.parseInt(Objects.requireNonNull(temp.getString("panels." + key + ".open-with-item.stationary")))) {
diff --git a/src/me/rockyhawk/commandPanels/panelBlocks/commandpanelblocks.java b/src/me/rockyhawk/commandPanels/panelBlocks/commandpanelblocks.java
index 40593cd..2d926f3 100644
--- a/src/me/rockyhawk/commandPanels/panelBlocks/commandpanelblocks.java
+++ b/src/me/rockyhawk/commandPanels/panelBlocks/commandpanelblocks.java
@@ -26,13 +26,13 @@ public class commandpanelblocks implements CommandExecutor {
if(args.length == 2) {
if (args[0].equalsIgnoreCase("add")) {
if(!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Please execute command as a Player!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Please execute command as a Player!"));
return true;
}
Player p = (Player)sender;
if(p.hasPermission("commandpanel.block.add")){
if(Objects.requireNonNull(plugin.config.getString("config.panel-blocks")).equalsIgnoreCase("false")){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Panel blocks disabled in config!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Panel blocks disabled in config!"));
return true;
}
boolean foundPanel = false;
@@ -43,12 +43,12 @@ public class commandpanelblocks implements CommandExecutor {
}
}
if(!foundPanel){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.nopanel")));
return true;
}
Block blockType = p.getTargetBlock(null, 5);
if(blockType.getType() == Material.AIR){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Look at a block to add a panel!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Look at a block to add a panel!"));
return true;
}
Location blockLocation = blockType.getLocation();
@@ -58,16 +58,16 @@ public class commandpanelblocks implements CommandExecutor {
plugin.blockConfig.save(new File(plugin.getDataFolder() + File.separator + "blocks.yml"));
} catch (IOException e) {
plugin.debug(e);
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Could not save to file!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Could not save to file!"));
return true;
}
//make the material name look okay
String materialNameFormatted = blockType.getType().toString().substring(0, 1).toUpperCase() + blockType.getType().toString().substring(1).toLowerCase();
materialNameFormatted = materialNameFormatted.replaceAll("_"," ");
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.WHITE + args[1] + ChatColor.GREEN + " will now open when right clicking " + ChatColor.WHITE + materialNameFormatted));
+ sender.sendMessage(plugin.papi(tag + ChatColor.WHITE + args[1] + ChatColor.GREEN + " will now open when right clicking " + ChatColor.WHITE + materialNameFormatted));
return true;
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.perms")));
return true;
}
}
@@ -75,13 +75,13 @@ public class commandpanelblocks implements CommandExecutor {
if(args.length == 1){
if (args[0].equalsIgnoreCase("remove")) {
if(!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Please execute command as a Player!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Please execute command as a Player!"));
return true;
}
Player p = (Player)sender;
if(p.hasPermission("commandpanel.block.remove")){
if(Objects.requireNonNull(plugin.config.getString("config.panel-blocks")).equalsIgnoreCase("false")){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Panel blocks disabled in config!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Panel blocks disabled in config!"));
return true;
}
Block blockType = p.getTargetBlock(null, 5);
@@ -93,40 +93,40 @@ public class commandpanelblocks implements CommandExecutor {
plugin.blockConfig.save(new File(plugin.getDataFolder() + File.separator + "blocks.yml"));
} catch (IOException e) {
plugin.debug(e);
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Could not save to file!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Could not save to file!"));
return true;
}
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.GREEN + "Panel has been removed from block."));
+ sender.sendMessage(plugin.papi(tag + ChatColor.GREEN + "Panel has been removed from block."));
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.nopanel")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.nopanel")));
}
return true;
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.perms")));
return true;
}
}
if (args[0].equalsIgnoreCase("list")) {
if(sender.hasPermission("commandpanel.block.list")){
if(Objects.requireNonNull(plugin.config.getString("config.panel-blocks")).equalsIgnoreCase("false")){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + ChatColor.RED + "Panel blocks disabled in config!"));
+ sender.sendMessage(plugin.papi(tag + ChatColor.RED + "Panel blocks disabled in config!"));
return true;
}
if(plugin.blockConfig.contains("blocks")){
if(Objects.requireNonNull(plugin.blockConfig.getConfigurationSection("blocks")).getKeys(false).size() == 0){
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag) + ChatColor.RED + "No panel blocks found.");
+ sender.sendMessage(plugin.papi(tag) + ChatColor.RED + "No panel blocks found.");
return true;
}
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag) + ChatColor.DARK_AQUA + "Panel Block Locations:");
+ sender.sendMessage(plugin.papi(tag) + ChatColor.DARK_AQUA + "Panel Block Locations:");
for (String location : Objects.requireNonNull(plugin.blockConfig.getConfigurationSection("blocks")).getKeys(false)) {
sender.sendMessage(ChatColor.GREEN + location.replaceAll("_"," ") + ": " + ChatColor.WHITE + plugin.blockConfig.getString("blocks." + location + ".panel"));
}
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag) + ChatColor.RED + "No panel blocks found.");
+ sender.sendMessage(plugin.papi(tag) + ChatColor.RED + "No panel blocks found.");
}
return true;
}else{
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&',tag + plugin.config.getString("config.format.perms")));
+ sender.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.perms")));
return true;
}
}
diff --git a/src/me/rockyhawk/commandPanels/panelBlocks/panelBlockOnClick.java b/src/me/rockyhawk/commandPanels/panelBlocks/panelBlockOnClick.java
index 3ea9066..bb715b2 100644
--- a/src/me/rockyhawk/commandPanels/panelBlocks/panelBlockOnClick.java
+++ b/src/me/rockyhawk/commandPanels/panelBlocks/panelBlockOnClick.java
@@ -1,15 +1,16 @@
package me.rockyhawk.commandPanels.panelBlocks;
import me.rockyhawk.commandPanels.commandpanels;
-import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.block.Block;
+import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
+import java.io.File;
import java.util.Objects;
public class panelBlockOnClick implements Listener {
@@ -37,7 +38,15 @@ public class panelBlockOnClick implements Listener {
Location tempLocation = new Location(plugin.getServer().getWorld(loc[0]),Double.parseDouble(loc[1]),Double.parseDouble(loc[2]),Double.parseDouble(loc[3]));
if(tempLocation.equals(block.getLocation())){
e.setCancelled(true);
- Bukkit.dispatchCommand(p, "commandpanels:commandpanel " + plugin.blockConfig.getString("blocks." + configLocation + ".panel"));
+ YamlConfiguration cf = null;
+ String panelName = "";
+ for(String[] temp : plugin.panelNames){
+ if(temp[0].equals(plugin.blockConfig.getString("blocks." + configLocation + ".panel"))){
+ panelName = temp[0];
+ cf = YamlConfiguration.loadConfiguration(new File(plugin.panelsf + File.separator + plugin.panelFiles.get(Integer.parseInt(temp[1]))));
+ }
+ }
+ plugin.openCommandPanel(p,p,panelName,cf,false);
return;
}
}
diff --git a/src/me/rockyhawk/commandPanels/premium/commandpanelUserInput.java b/src/me/rockyhawk/commandPanels/premium/commandpanelUserInput.java
index adbe777..a156800 100644
--- a/src/me/rockyhawk/commandPanels/premium/commandpanelUserInput.java
+++ b/src/me/rockyhawk/commandPanels/premium/commandpanelUserInput.java
@@ -19,7 +19,7 @@ public class commandpanelUserInput implements Listener {
if(plugin.userInputStrings.get(o)[0].equals(e.getPlayer().getName())){
if(e.getMessage().equalsIgnoreCase(plugin.config.getString("config.input-cancel"))){
e.setCancelled(true);
- e.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(plugin.config.getString("config.input-cancelled"))));
+ e.getPlayer().sendMessage(plugin.papi( Objects.requireNonNull(plugin.config.getString("config.input-cancelled"))));
for(int i = 0; plugin.userInputStrings.size() > i; i++){
if(plugin.userInputStrings.get(i)[0].equals(e.getPlayer().getName())){
plugin.userInputStrings.remove(i);
diff --git a/src/me/rockyhawk/commandPanels/premium/commandpanelrefresher.java b/src/me/rockyhawk/commandPanels/premium/commandpanelrefresher.java
index 18636b0..56ba0f2 100644
--- a/src/me/rockyhawk/commandPanels/premium/commandpanelrefresher.java
+++ b/src/me/rockyhawk/commandPanels/premium/commandpanelrefresher.java
@@ -49,14 +49,14 @@ public class commandpanelrefresher implements Listener {
YamlConfiguration temp = YamlConfiguration.loadConfiguration(new File(plugin.panelsf + File.separator + fileName));
if (!plugin.checkPanels(temp)) {
assert p != null;
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + plugin.papi(p, plugin.config.getString("config.format.error") + ": File with no Panels found or Panel with syntax error Found!")));
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + ": File with no Panels found or Panel with syntax error Found!"));
return;
}
for (String s : Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false)) {
key = s;
- if (ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(temp.getString("panels." + key + ".title"))).equals(e.getView().getTitle())) {
+ if (plugin.papi( Objects.requireNonNull(temp.getString("panels." + key + ".title"))).equals(e.getView().getTitle())) {
panel = key;
- panelTitle = ChatColor.translateAlternateColorCodes('&', Objects.requireNonNull(temp.getString("panels." + key + ".title")));
+ panelTitle = plugin.papi( Objects.requireNonNull(temp.getString("panels." + key + ".title")));
cf = YamlConfiguration.loadConfiguration(new File(plugin.panelsf + File.separator + fileName));
foundPanel = true;
break;
diff --git a/src/me/rockyhawk/commandPanels/utils.java b/src/me/rockyhawk/commandPanels/utils.java
index aeec938..7630a41 100644
--- a/src/me/rockyhawk/commandPanels/utils.java
+++ b/src/me/rockyhawk/commandPanels/utils.java
@@ -1,15 +1,10 @@
package me.rockyhawk.commandPanels;
-import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.*;
-import org.bukkit.block.*;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
-import org.bukkit.event.block.Action;
-import org.bukkit.event.entity.PlayerDeathEvent;
-import org.bukkit.event.inventory.InventoryAction;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.*;
@@ -42,6 +37,10 @@ public class utils implements Listener {
//if no panels are present
return;
}
+ if(clicked == null){
+ //if itemstack is null
+ return;
+ }
}catch(Exception b){
return;
}
@@ -52,7 +51,7 @@ public class utils implements Listener {
String key;
YamlConfiguration temp = YamlConfiguration.loadConfiguration(new File(plugin.panelsf + File.separator + filename));
if (!plugin.checkPanels(temp)) {
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', tag + plugin.papi(p, plugin.config.getString("config.format.error") + ": Syntax error Found or Missing certain element!")));
+ p.sendMessage(plugin.papi(tag + plugin.config.getString("config.format.error") + ": Syntax error Found or Missing certain element!"));
return;
}
for (String s : Objects.requireNonNull(temp.getConfigurationSection("panels")).getKeys(false)) {
@@ -89,76 +88,8 @@ public class utils implements Listener {
if(!foundSlot){
return;
}
- String section = "";
- //this will do the noperm without any numbers
- //loop through possible noperm/hasperm 1,2,3,etc
- if (cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasvalue")) {
- //loop through possible hasvalue 1,2,3,etc
- for (int count = 0; Objects.requireNonNull(cf.getConfigurationSection("panels." + panel + ".item." + e.getSlot())).getKeys(false).size() > count; count++) {
- if (cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasvalue" + count)) {
- boolean outputValue = true;
- //outputValue will default to true
- if (cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasvalue" + count + ".output")) {
- //if output is true, and values match it will be this item, vice versa
- outputValue = cf.getBoolean("panels." + panel + ".item." + e.getSlot() + ".hasvalue" + count + ".output");
- }
- String value = cf.getString("panels." + panel + ".item." + e.getSlot() + ".hasvalue" + count + ".value");
- String compare = ChatColor.stripColor(plugin.papi(p,plugin.setCpPlaceholders(p,cf.getString("panels." + panel + ".item." + e.getSlot() + ".hasvalue" + count + ".compare"))));
- if (compare.equals(value) == outputValue) {
- //onOpen being 3 means it is the editor panel.. hasvalue items cannot be included to avoid item breaking
- section = ".hasvalue" + count;
- break;
- }
- }
- }
- //this will do the hasvalue without any numbers
- boolean outputValue = true;
- //outputValue will default to true
- if (cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasvalue.output")) {
- //if output is true, and values match it will be this item, vice versa
- outputValue = cf.getBoolean("panels." + panel + ".item." + e.getSlot() + ".hasvalue.output");
- }
- String value = cf.getString("panels." + panel + ".item." + e.getSlot() + ".hasvalue.value");
- String compare = ChatColor.stripColor(plugin.papi(p,plugin.setCpPlaceholders(p,cf.getString("panels." + panel + ".item." + e.getSlot() + ".hasvalue.compare"))));
- if (compare.equals(value) == outputValue) {
- //onOpen being 3 means it is the editor panel.. hasvalue items cannot be included to avoid item breaking
- section = ".hasvalue";
- }
- }
- if (cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasperm") && cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasperm.perm")) {
- for(int count = 0; Objects.requireNonNull(cf.getConfigurationSection("panels." + panel + ".item." + e.getSlot())).getKeys(false).size() > count; count++){
- if (cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasperm" + count) && cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasperm" + count + ".perm")) {
- boolean outputValue = true;
- //outputValue will default to true
- if (cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasperm" + count + ".output")) {
- //if output is true, and values match it will be this item, vice versa
- outputValue = cf.getBoolean("panels." + panel + ".item." + e.getSlot() + ".hasperm" + count + ".output");
- }
- if (p.hasPermission(Objects.requireNonNull(cf.getString("panels." + panel + ".item." + e.getSlot() + ".hasperm" + count + ".perm"))) == outputValue) {
- if (cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasperm" + count + ".commands") && !(clicked == null)) {
- section = ".hasperm" + count;
- break;
- } else if (clicked != null) {
- return;
- }
- }
- }
- }
- //this will do hasperm with no numbers
- boolean outputValue = true;
- //outputValue will default to true
- if (cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasperm" + ".output")) {
- //if output is true, and values match it will be this item, vice versa
- outputValue = cf.getBoolean("panels." + panel + ".item." + e.getSlot() + ".hasperm" + ".output");
- }
- if (p.hasPermission(Objects.requireNonNull(cf.getString("panels." + panel + ".item." + e.getSlot() + ".hasperm.perm"))) == outputValue) {
- if (cf.contains("panels." + panel + ".item." + e.getSlot() + ".hasperm.commands") && !(clicked == null)) {
- section = ".hasperm";
- } else if (clicked != null) {
- return;
- }
- }
- }
+ //loop through possible hasvalue/hasperm 1,2,3,etc
+ String section = plugin.hasSection(panel, cf, e.getSlot(),p);
//this will remove any pending user inputs, if there is already something there from a previous item
for(int o = 0; plugin.userInputStrings.size() > o; o++){
if(plugin.userInputStrings.get(o)[0].equals(p.getName())){
@@ -167,7 +98,7 @@ public class utils implements Listener {
}
}
if(cf.contains("panels." + panel + ".item." + e.getSlot() + section + ".commands")) {
- List commands = (List) cf.getList("panels." + panel + ".item." + e.getSlot() + section + ".commands");
+ List commands = cf.getStringList("panels." + panel + ".item." + e.getSlot() + section + ".commands");
assert commands != null;
if (commands.size() != 0) {
//this will replace a sequence tag command with the commands from the sequence
@@ -175,7 +106,7 @@ public class utils implements Listener {
for (int i = 0; commands.size() - 1 >= i; i++) {
if(commands.get(i).startsWith("sequence=")){
String locationOfSequence = commands.get(i).split("\\s")[1];
- List commandsSequence = (List) cf.getList(locationOfSequence);
+ List commandsSequence = cf.getStringList(locationOfSequence);
commandsAfterSequence.remove(i);
assert commandsSequence != null;
commandsAfterSequence.addAll(i,commandsSequence);