diff --git a/src/main/java/com/graywolf336/jail/PrisonerManager.java b/src/main/java/com/graywolf336/jail/PrisonerManager.java
index 7448d5c..3b01bfb 100644
--- a/src/main/java/com/graywolf336/jail/PrisonerManager.java
+++ b/src/main/java/com/graywolf336/jail/PrisonerManager.java
@@ -268,7 +268,7 @@ public class PrisonerManager {
for(ItemStack item : inventory) {
if(item != null) {
- if(!Util.isStringInsideList(blacklist, item.getType().toString())) {
+ if(!Util.isStringInsideList(item.getType().toString(), blacklist)) {
int i = chest.firstEmpty();
if(i != -1) {//Check that we have got a free spot, should never happen but just in case
chest.setItem(i, item);
@@ -279,7 +279,7 @@ public class PrisonerManager {
for(ItemStack item : armor) {
if(item != null) {
- if(!Util.isStringInsideList(blacklist, item.getType().toString())) {
+ if(!Util.isStringInsideList(item.getType().toString(), blacklist)) {
int i = chest.firstEmpty();
if(i != -1) {//Check that we have got a free spot, should never happen but just in case
chest.setItem(i, item);
@@ -293,12 +293,12 @@ public class PrisonerManager {
}else {
for(ItemStack item : player.getInventory().getContents())
if(item != null)
- if(Util.isStringInsideList(blacklist, item.getType().toString()))
+ if(Util.isStringInsideList(item.getType().toString(), blacklist))
player.getInventory().remove(item);
for(ItemStack item : player.getInventory().getArmorContents())
if(item != null)
- if(Util.isStringInsideList(blacklist, item.getType().toString()))
+ if(Util.isStringInsideList(item.getType().toString(), blacklist))
player.getInventory().remove(item);
String[] inv = Util.playerInventoryToBase64(player.getInventory());
@@ -321,12 +321,12 @@ public class PrisonerManager {
for(ItemStack item : player.getInventory().getContents())
if(item != null)
- if(Util.isStringInsideList(blacklist, item.getType().toString()))
+ if(Util.isStringInsideList(item.getType().toString(), blacklist))
player.getInventory().remove(item);
for(ItemStack item : player.getInventory().getArmorContents())
if(item != null)
- if(Util.isStringInsideList(blacklist, item.getType().toString()))
+ if(Util.isStringInsideList(item.getType().toString(), blacklist))
player.getInventory().remove(item);
String[] inv = Util.playerInventoryToBase64(player.getInventory());
diff --git a/src/main/java/com/graywolf336/jail/Util.java b/src/main/java/com/graywolf336/jail/Util.java
index f72df54..3f651ef 100644
--- a/src/main/java/com/graywolf336/jail/Util.java
+++ b/src/main/java/com/graywolf336/jail/Util.java
@@ -74,17 +74,34 @@ public class Util {
return (point1 <= loc) && (loc <= point2);
}
+
+ /**
+ * Checks if the given string is inside the array, ignoring the casing.
+ *
+ *
+ *
+ * @param value to check
+ * @param array of strings to check
+ * @return true if the array contains the provided value, false if it doesn't
+ */
+ public static boolean isStringInsideArray(String value, String... array) {
+ for(String s : array)
+ if(s.equalsIgnoreCase(value))
+ return true;
+
+ return false;
+ }
/**
* Checks if the given string is inside the list, ignoring the casing.
*
*
*
- * @param list of strings to check
* @param value to check
+ * @param list of strings to check
* @return true if the list contains the provided value, false if it doesn't
*/
- public static boolean isStringInsideList(List list, String value) {
+ public static boolean isStringInsideList(String value, List list) {
for(String s : list)
if(s.equalsIgnoreCase(value))
return true;
diff --git a/src/main/java/com/graywolf336/jail/listeners/ProtectionListener.java b/src/main/java/com/graywolf336/jail/listeners/ProtectionListener.java
index 0602691..011bf81 100644
--- a/src/main/java/com/graywolf336/jail/listeners/ProtectionListener.java
+++ b/src/main/java/com/graywolf336/jail/listeners/ProtectionListener.java
@@ -32,8 +32,8 @@ public class ProtectionListener implements Listener {
//Let's check if the player is jailed
if(pl.getJailManager().isPlayerJailed(event.getPlayer().getUniqueId())) {
//Get the breaking whitelist, check if the current item is in there
- if(!Util.isStringInsideList(pl.getConfig().getStringList(Settings.BLOCKBREAKWHITELIST.getPath()),
- event.getBlock().getType().toString().toLowerCase())) {
+ if(!Util.isStringInsideList(event.getBlock().getType().toString().toLowerCase(),
+ pl.getConfig().getStringList(Settings.BLOCKBREAKWHITELIST.getPath()))) {
//As our Util.getTime throws an exception when the time is in an
//incorrect format, we catch the exception and don't add any time
//as a fail safe, don't want us to go crazy adding tons of time.
@@ -84,8 +84,8 @@ public class ProtectionListener implements Listener {
//Let's check if the player is jailed
if(pl.getJailManager().isPlayerJailed(event.getPlayer().getUniqueId())) {
//Get the placing whitelist, check if the current item is in there
- if(!Util.isStringInsideList(pl.getConfig().getStringList(Settings.BLOCKPLACEWHITELIST.getPath()),
- event.getBlock().getType().toString().toLowerCase())) {
+ if(!Util.isStringInsideList(event.getBlock().getType().toString().toLowerCase(),
+ pl.getConfig().getStringList(Settings.BLOCKPLACEWHITELIST.getPath()))) {
//As our Util.getTime throws an exception when the time is in an
//incorrect format, we catch the exception and don't add any time
//as a fail safe, don't want us to go crazy adding tons of time.
@@ -264,8 +264,8 @@ public class ProtectionListener implements Listener {
if (event.getClickedBlock() != null) {
//Get the interaction blacklist, check if the current block is in there
//if it is, then let's take action
- if(Util.isStringInsideList(pl.getConfig().getStringList(Settings.PREVENTINTERACTIONBLOCKS.getPath()),
- event.getClickedBlock().getType().toString().toLowerCase())) {
+ if(Util.isStringInsideList(event.getClickedBlock().getType().toString().toLowerCase(),
+ pl.getConfig().getStringList(Settings.PREVENTINTERACTIONBLOCKS.getPath()))) {
try {
long add = Util.getTime(pl.getConfig().getString(Settings.PREVENTINTERACTIONBLOCKSPENALTY.getPath()));
pl.getJailManager().getPrisoner(event.getPlayer().getUniqueId()).addTime(add);
@@ -293,8 +293,8 @@ public class ProtectionListener implements Listener {
//Otherwise let's check if they have something in hand
//Get the interaction blacklist, check if the current item is in there
//if it is, then let's take action
- if(Util.isStringInsideList(pl.getConfig().getStringList(Settings.PREVENTINTERACTIONITEMS.getPath()),
- event.getClickedBlock().getType().toString().toLowerCase())) {
+ if(Util.isStringInsideList(event.getClickedBlock().getType().toString().toLowerCase(),
+ pl.getConfig().getStringList(Settings.PREVENTINTERACTIONITEMS.getPath()))) {
try {
long add = Util.getTime(pl.getConfig().getString(Settings.PREVENTINTERACTIONITEMSPENALTY.getPath()));
pl.getJailManager().getPrisoner(event.getPlayer().getUniqueId()).addTime(add);
diff --git a/src/test/java/test/java/com/graywolf336/jail/TestUtilClass.java b/src/test/java/test/java/com/graywolf336/jail/TestUtilClass.java
index 53339b3..9ddba62 100644
--- a/src/test/java/test/java/com/graywolf336/jail/TestUtilClass.java
+++ b/src/test/java/test/java/com/graywolf336/jail/TestUtilClass.java
@@ -58,16 +58,16 @@ public class TestUtilClass {
@Test
public void testInList() {
- assertTrue(Util.isStringInsideList(list, "seeds"));
- assertTrue(Util.isStringInsideList(list, Material.COAL_ORE.toString()));
- assertTrue(Util.isStringInsideList(list, "tOrCh"));
+ assertTrue(Util.isStringInsideList("seeds", list));
+ assertTrue(Util.isStringInsideList(Material.COAL_ORE.toString(), list));
+ assertTrue(Util.isStringInsideList("tOrCh", list));
}
@Test
public void testNotInList() {
- assertFalse(Util.isStringInsideList(list, "dirt"));
- assertFalse(Util.isStringInsideList(list, "SAND"));
- assertFalse(Util.isStringInsideList(list, Material.BEDROCK.toString()));
+ assertFalse(Util.isStringInsideList("dirt", list));
+ assertFalse(Util.isStringInsideList("SAND", list));
+ assertFalse(Util.isStringInsideList(Material.BEDROCK.toString(), list));
}
@Test