Service Manager Registrieren

09/11/2015 19:15 DieSamu#1
Deleted
09/11/2015 19:42 ComputerBaer#2
Ich nehme mal an es geht hier um Minecraft oder um genau zu sein um Bukkit, oder?

Dann wirst du vermutlich das suchen: [Only registered and activated users can see links. Click Here To Register...]

Edit:
Das könnte dann ungefähr so aussehen:
Code:
Bukkit.getServicesManager().register(GameAPI.class, myGameApi, myPlugin, ServicePriority.Normal);
Ich habe das hier im Textfeld gebastelt und auch noch nie selbst benutzt.
09/11/2015 20:20 DieSamu#3
Deleted
09/11/2015 20:29 ComputerBaer#4
Ich würde jetzt mal vermuten, dass dein "myGameApi" beim Registrieren null ist. Du solltest vor dem Registrieren natürlich etwas wie myGameApi = new GameAPI(); machen.
09/11/2015 20:46 DieSamu#5
Deleted
09/11/2015 21:06 ComputerBaer#6
Du redest jetzt davon:
Code:
RegisteredServiceProvider<GameAPI> GameAPIProvider = getServer().getServicesManager().getRegistration(GameAPI.class);
gameapi = GameAPIProvider.getProvider();

gameapi.meineFunktion(); // NullPointer
Schwer zu sagen ... fehlerhafte Reihenfolge? Erste meineFunktion und danach setupGameAPI.
Fehler in der GameAPI, der garnichts mit dem Service zu tun hat? meineFunktion() { "null".funktionx(); }

Es kann helfen, wenn du uns den Stacktrace geben würdest, dann lässt sich der Fehler deutlich einfacher lokalisieren. Mit dem Code wird es natürlich noch leichter.
09/11/2015 21:11 DieSamu#7
Deleted
09/11/2015 23:36 ComputerBaer#8
Anhand des Fehlers würde ich vermuten, dass "utilities" in "GameAPI" dein NullPointer ist.
09/12/2015 13:53 Menan#9
Du erstellt ja garkein wirkliches GameAPI Objekt, mit einer Referenz auf ein Utilities Object, da der Konstruktor deiner GameAPI Klasse nie aufgerufen wird...
09/12/2015 14:41 ComputerBaer#10
Quote:
Originally Posted by Menan View Post
Du erstellt ja garkein wirkliches GameAPI Objekt, mit einer Referenz auf ein Utilities Object, da der Konstruktor deiner GameAPI Klasse nie aufgerufen wird...
Ich glaube der Aufruf des Konstruktors passiert in der Plugin-Klasse des GameAPI-Plugins, welche wir hier jetzt nicht haben.

Die GameAPI-Klasse kommt aus dem Plugin "GameAPI" und die Game-Klasse aus dem Plugin "Spleef", es sind also zwei unterschiedliche Projekte. Da das GameAPI-Objekt im GameAPI-Plugin erstellt wird, sehen wir davon natürlich nichts im Spleef-Plugin.
09/12/2015 15:21 Menan#11
Um das beurteilen zu können, bäuchte ich alle damit verbundenen Klassen...

Hab mich jetzt noch nie mit der Minecraft entwicklung ausseinandergesetzt..
09/12/2015 20:00 DieSamu#12
Deleted