From f1a8816bfa4a9317ffd47ace0564a0758a8abf13 Mon Sep 17 00:00:00 2001 From: VoidAngel Date: Fri, 21 Apr 2017 09:59:59 -0700 Subject: [PATCH] Prevent possible backpack dupes This will prevent dupes from arising if a player obtains 2 of the same backpack from staff error, flukes, past exploits, etc. --- .../Slimefun/listeners/BackpackListener.java | 70 +++++++++++++------ 1 file changed, 49 insertions(+), 21 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java b/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java index b245b9ad8..01f05c9d1 100644 --- a/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java +++ b/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java @@ -84,9 +84,13 @@ public class BackpackListener implements Listener { break; } } - Backpacks.openBackpack(p, item); - p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); - Variables.backpack.put(p.getUniqueId(), item); + if(!Variables.backpack.containsValue(item)) + { + Backpacks.openBackpack(p, item); + p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); + Variables.backpack.put(p.getUniqueId(), item); + } + else Messages.local.sendTranslation(p, "backpack.already-open", true); } else Messages.local.sendTranslation(p, "backpack.no-stack", true); } @@ -105,9 +109,13 @@ public class BackpackListener implements Listener { break; } } - Backpacks.openBackpack(p, item); - p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); - Variables.backpack.put(p.getUniqueId(), item); + if(!Variables.backpack.containsValue(item)) + { + Backpacks.openBackpack(p, item); + p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); + Variables.backpack.put(p.getUniqueId(), item); + } + else Messages.local.sendTranslation(p, "backpack.already-open", true); } else Messages.local.sendTranslation(p, "backpack.no-stack", true); } @@ -126,9 +134,13 @@ public class BackpackListener implements Listener { break; } } - Backpacks.openBackpack(p, item); - p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); - Variables.backpack.put(p.getUniqueId(), item); + if(!Variables.backpack.containsValue(item)) + { + Backpacks.openBackpack(p, item); + p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); + Variables.backpack.put(p.getUniqueId(), item); + } + else Messages.local.sendTranslation(p, "backpack.already-open", true); } else Messages.local.sendTranslation(p, "backpack.no-stack", true); } @@ -147,9 +159,13 @@ public class BackpackListener implements Listener { break; } } - Backpacks.openBackpack(p, item); - p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); - Variables.backpack.put(p.getUniqueId(), item); + if(!Variables.backpack.containsValue(item)) + { + Backpacks.openBackpack(p, item); + p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); + Variables.backpack.put(p.getUniqueId(), item); + } + else Messages.local.sendTranslation(p, "backpack.already-open", true); } else Messages.local.sendTranslation(p, "backpack.no-stack", true); } @@ -168,9 +184,13 @@ public class BackpackListener implements Listener { break; } } - Backpacks.openBackpack(p, item); - p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); - Variables.backpack.put(p.getUniqueId(), item); + if(!Variables.backpack.containsValue(item)) + { + Backpacks.openBackpack(p, item); + p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); + Variables.backpack.put(p.getUniqueId(), item); + } + else Messages.local.sendTranslation(p, "backpack.already-open", true); } else Messages.local.sendTranslation(p, "backpack.no-stack", true); } @@ -189,9 +209,13 @@ public class BackpackListener implements Listener { break; } } - Backpacks.openBackpack(p, item); - p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); - Variables.backpack.put(p.getUniqueId(), item); + if(!Variables.backpack.containsValue(item)) + { + Backpacks.openBackpack(p, item); + p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); + Variables.backpack.put(p.getUniqueId(), item); + } + else Messages.local.sendTranslation(p, "backpack.already-open", true); } else Messages.local.sendTranslation(p, "backpack.no-stack", true); } @@ -210,9 +234,13 @@ public class BackpackListener implements Listener { break; } } - Backpacks.openBackpack(p, item); - p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); - Variables.backpack.put(p.getUniqueId(), item); + if(!Variables.backpack.containsValue(item)) + { + Backpacks.openBackpack(p, item); + p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); + Variables.backpack.put(p.getUniqueId(), item); + } + else Messages.local.sendTranslation(p, "backpack.already-open", true); } else Messages.local.sendTranslation(p, "backpack.no-stack", true); }