Try PlayerInteractEvent.
Don't use constructors with your plugin's main class. Use onEnable() instead.
Is root null? Look at where you instantiate this class. The getDataFolder() method might also be returning null.
for(Item i : <world>.getEntitiesByClass(Item.class)) { Location l = i.getLocation(); double x = l.getX(); double y = l.getY();...
If you want them to stay in that class forever, you will need to save the information to a file or to a database.
Weird, that's the download I'm using. It doesn't have an ASM-objectweb jar, though. I was using the asm-4.0.jar. I tried all the others in the...
If you are using <server>.getPlayer(String) or <server>.getPlayerExact(String), they will return null when the player is offline. You can also...
Hmm, doesn't seem to be working. Where is the jar downloaded from? I think I might have the wrong one.
For some reason it's not there for me. I can only get it from com.avaje.ebean.enhance.asm, and that one gives me errors.
Ahh, beautiful. Where does ClassAdapter come from?
Where does ClassReader and ClassWriter come from? I am currently importing them from com.avaje.ebean.enhance.asm, but I am getting errors on both...
@EventHandler public void playerInteract(PlayerInteractEvent event) { if(event.getAction() == Action.RIGHT_CLICK_BLOCK) { Block b =...
It's hard to do anything without seeing the error, but try int index = <inv>.first(<Material>); if(index >= 0) { ItemStack item =...
When you check the array, do chatZone.contains(new Location(pLoc.getBlockX(), pLoc.getBlockY(), pLoc.getBlockZ()));
Is the method you put the first block of code in being called? What event do you use?
Separate names with a comma.