diff --git a/README.MD b/README.MD
index 6436934..b878c96 100644
--- a/README.MD
+++ b/README.MD
@@ -2,5 +2,7 @@ A useful plugin for Minecraft prison servers.\
**PLANNED FEATURES, SO FAR**
- Set newly joined & respawned players in orange leather armor.
- Prevent prisoners from equipping new armor and unequipping the prisoner orange leather armor.
-- Give newly joined & respawned prisoners with the default prisoner tools.
-- Main permission to tell a player is a prisoner or not is **nvus.prisoner**
\ No newline at end of file
+- Prevent prisoners from equipping or moving banned items into their QUICKBAR.
+- Banned items can be configured in a banned_items.yml file within the plugin directory (PrisonSetup/banned_items.yml)
+- Give newly joined & respawned prisoners the default prisoner tools? Maybe, not sure. Might just use a kit plugin for this?
+- Main permission to tell a player is a prisoner or not is **nvus.prisoner** this permission should be **NEGATED** for any players that are not or no longer a prisoner, just in case.
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 9c83e2b..59012ab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
me.NVus
NVus_Prison_Setup
- 0.2.3-SNAPSHOT
+ 0.3.1-SNAPSHOT
jar
PrisonSetup
diff --git a/src/main/java/me/nvus/nvus_prison_setup/Configs/BannedItemsConfig.java b/src/main/java/me/nvus/nvus_prison_setup/Configs/BannedItemsConfig.java
index 1b5af66..c5c3477 100644
--- a/src/main/java/me/nvus/nvus_prison_setup/Configs/BannedItemsConfig.java
+++ b/src/main/java/me/nvus/nvus_prison_setup/Configs/BannedItemsConfig.java
@@ -48,9 +48,11 @@ public class BannedItemsConfig {
}
if (!configFile.exists()) {
plugin.saveResource("banned_items.yml", false);
+ plugin.getLogger().info("banned_items.yml has been created.");
}
}
+
public List getBannedItems() {
return getConfig().getStringList("BannedItems");
}
diff --git a/src/main/java/me/nvus/nvus_prison_setup/Listeners/PlayerItems.java b/src/main/java/me/nvus/nvus_prison_setup/Listeners/PlayerItems.java
index d0c489f..d01dcd5 100644
--- a/src/main/java/me/nvus/nvus_prison_setup/Listeners/PlayerItems.java
+++ b/src/main/java/me/nvus/nvus_prison_setup/Listeners/PlayerItems.java
@@ -9,6 +9,7 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
+import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerItemHeldEvent;
import org.bukkit.inventory.ItemStack;
@@ -30,24 +31,24 @@ public class PlayerItems implements Listener {
if (item != null && isBannedItem(item.getType())) {
if (player.hasPermission("nvus.prisoner")) {
event.setCancelled(true);
- player.sendMessage(ChatColor.RED + "Sorry inmate! You're a prisoner and cannot use this tool!");
+ player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&c&lSorry inmate! &cYou're a prisoner and cannot use this tool!"));
}
}
}
+
@EventHandler(priority = EventPriority.LOWEST)
public void onInventoryClick(InventoryClickEvent event) {
- if (event.getClickedInventory() != null && event.getClickedInventory().getType() == org.bukkit.event.inventory.InventoryType.PLAYER) {
- if (event.getSlotType() == org.bukkit.event.inventory.InventoryType.SlotType.QUICKBAR) {
- ItemStack item = event.getCurrentItem();
+ Player player = (Player) event.getWhoClicked();
+ ItemStack clickedItem = event.getCurrentItem();
- if (item != null && isBannedItem(item.getType())) {
- Player player = (Player) event.getWhoClicked();
- if (player.hasPermission("nvus.prisoner")) {
- event.setCancelled(true);
- player.sendMessage(ChatColor.RED + "Sorry inmate! You're a prisoner and cannot use this tool!");
- }
- }
+ // Check if the clicked item is a banned item
+ if (clickedItem != null && isBannedItem(clickedItem.getType())) {
+ // Check if the player is a prisoner
+ if (player.hasPermission("nvus.prisoner")) {
+ // Cancel the event to prevent interaction with banned items
+ event.setCancelled(true);
+ player.sendMessage(ChatColor.RED + "Sorry inmate! You're a prisoner and cannot use this tool!");
}
}
}
@@ -57,4 +58,37 @@ public class PlayerItems implements Listener {
List bannedItems = config.getStringList("BannedItems");
return bannedItems.contains(itemType.toString());
}
+
+
+
+
+ /*
+ @EventHandler(priority = EventPriority.LOWEST)
+ public void onInventoryClick(InventoryClickEvent event) {
+ if (event.getClickedInventory() != null && event.getClickedInventory().getType() == InventoryType.PLAYER) {
+ if (event.getSlotType() == InventoryType.SlotType.QUICKBAR) {
+ ItemStack item = event.getCurrentItem();
+ Player player = (Player) event.getWhoClicked();
+
+ // Check if the clicked item is a banned item
+ if (item != null && isBannedItem(item.getType())) {
+ // Check if the player is a prisoner
+ if (player.hasPermission("nvus.prisoner")) {
+ // Cancel the event to prevent the banned item from being moved to the quickbar
+ event.setCancelled(true);
+ player.sendMessage(ChatColor.translateAlternateColorCodes('&',"&c&lSorry inmate! &cYou're a prisoner and cannot use this tool!"));
+ }
+ }
+ }
+ }
+ }
+
+
+ private boolean isBannedItem(Material itemType) {
+ FileConfiguration config = plugin.getBannedItemsConfig().getConfig();
+ List bannedItems = config.getStringList("BannedItems");
+ return bannedItems.contains(itemType.toString());
+ }
+ */
+
}
diff --git a/src/main/resources/banned_items.yml b/src/main/resources/banned_items.yml
index 464626d..a9ad675 100644
--- a/src/main/resources/banned_items.yml
+++ b/src/main/resources/banned_items.yml
@@ -9,6 +9,6 @@
# Place Item(s) here that prisoners should never be able to equip in their hands or move into their quickbar
# Remember to give all prisoner ranks/groups that permission nvus.prisoner and negate that permission for any
# players that are not or no longer considered a prisoner.
-Banned Items:
+BannedItems:
- DIAMOND_PICKAXE
- NETHERITE_PICKAXE
\ No newline at end of file