Saintsbury: Wie maddin schon beschrieben hat, ist das die Event-Variable. In Java 8 wurden so genannte Lambda-Expressions eingeführt, und Shoebill macht davon in vielen Bereichen Nutzen.
Es ist dir überlassen ob du die neuen Funktionen von Java 8 in deinem Code verwendest, früher hätte das Codebeispiel so ausgesehen:
eventManagerNode.registerHandler(PlayerUpdateEvent.class, new EventHandler<PlayerUpdateEvent>() {
@Override
public void handleEvent(PlayerUpdateEvent event) throws Throwable {
Player player = event.getPlayer();
//Und so weiter
}
});
Du siehst das die Lambda-Expressions den Code sauberer und einfacher halten. Ich werde die Codebeispiele und Events so schnell wie möglich nach kommentieren.
//Edit:
Ich habe heute angefangen einen Wrapper-Generator für Shoebill zu erstellen, welcher Javacode aus einer Include-Datei generieren kann. Im Moment funktioniert er noch nicht hundertprozentig korrekt, aber ich habe heute erst angefangen daran zu arbeiten, und der Code ist noch sehr durcheinander und funktioniert wahrscheinlich nicht immer so wie er sollte (auch wenn man schon ca. 90% der FCNPC.inc zu Java konvertieren kann). Hier könnt ihr ihn euch ansehen:
https://github.com/Shoebill/wrapper-generator
Der Generator generiert drei Dateien, welche die Funktionen beinhalten die die nativen Funktionen von dem Plugin aufrufen können. Außerdem werden die Callbacks automatisch gehookt.
//Edit (4.4.16):
Ich habe grade einen Projektgenerator erstellt, mit dem man ganz einfach und unkompliziert vollständige Maven Projekte für Shoebill erstellen kann. Das Tool ist einfach zu verwenden und erlaubt es einem, schnell ein Projekt zu erstellen. Nach dem das Projekt erstellt wurde, kann es in die IDE importiert werden, und dort bearbeitet werden.
Hier eine kleine Vorschau:
Download: