The stacktrace looks incomplete, please show the full stacktrace from your log files in case you use multicraft it shows half complete stacktraces. it kinda sounds like your plugin is running in a stackoverflow since the player also disconects. however I'm on a phone so I didn't read the whole code. -edit- also you actually shouldn't use static on these fields. instead use constructors or either static factory methods where you instance a whole class as a singleton and only when there is no otherway. static is not a encourage way of doing things to make things simple for you, because it could cause really nasty behaviour such when you for example allow multi threading in your plugin and do a call in the seperated thread to this anonymous object which isn't asigned to any class then there is a chance a ClassNoDefoundException throws, this is why I would highly discourage static since it confuses devs very fast and isn't the cleanest way to read code. in your main class I don't really see why your ArrayLists should be static, if you could put the plugin through a constructor and only do new ArrayList<String>() in onEnable rather than instancing the ArrayList in the field.