rendered paste bodypackage 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));
}
}
}
}