package classsign; import org.bukkit.Bukkit; import org.bukkit.event.player.PlayerListener; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.entity.Player; import org.bukkit.block.Sign; import org.bukkit.ChatColor; import org.bukkit.inventory.ItemStack; public class CSPlayerListener extends PlayerListener { private final ClassSign plugin; CSProps props; Player player; Boolean classExists = false; public CSPlayerListener(ClassSign instance, CSProps props) { plugin = instance; this.props = props; } @Override public void onPlayerInteract(PlayerInteractEvent event) { player = event.getPlayer(); if ((event.getAction() != Action.RIGHT_CLICK_BLOCK) && (!(event.getClickedBlock().getState() instanceof Sign))) { return; } Sign sign = (Sign)event.getClickedBlock().getState(); if (!sign.getLine(0).equals("[Class]")) { return; } for (int i = 0; i < props.numOfClasses; i++) { if (sign.getLine(1).equals(props.classes.get(i))) { classExists = true; } } if (!classExists) { sign.setLine(3, ChatColor.RED + "[INACTIVE]"); player.sendMessage(ChatColor.BLUE + "[ClassSign] Oh dear, that class doesn't exist anymore."); return; } if (props.emptyInventory == true) { player.getInventory().clear(); } String items = props.file.getString("classes." + sign.getLine(1) + ".items", null); String[] itemarr = items.split("[,]"); for (int i = 0; i < itemarr.length; i++) { if (itemarr[i].contains(":")) { String[] item = itemarr[i].split("[:]"); System.out.println(item[0]); if (!item[1].matches("[0-9]*") || !item[0].matches("[1-9]*") || Integer.parseInt(item[1]) != 0) { continue; } if (Integer.parseInt(item[1]) > 1) { for (int x = 1; x < Integer.parseInt(item[1]); x++) { player.getInventory().addItem(new ItemStack(Integer.parseInt(item[0]), 1)); } } else { player.getInventory().addItem(new ItemStack(Integer.parseInt(item[0]), 1)); } } else { if (!itemarr[i].matches("[1-9]*" || Integer.parseInt(itemarr[i]) == 0)) { continue; } player.getInventory().addItem(new ItemStack(Integer.parseInt(itemarr[i]), 1)); } } } }