Seltsamer Eventhandler Bug

10/20/2016 18:22 Ringeltier#1
Guten Abend,

Ich suche ein paar schlaue Köpfe die mir weiterhelfen können. Ich programmiere derzeit ein Plugin welches wer hätte es gedacht auch Eventhandler besitzt. Ich war gemütlich am programmieren und testen und hatte das Plugin eigentlich als Fertig abgestempelt. Nun ist es aber so das alle Eventhandlers innerhalb des Plugins nur ausgeführt werden wenn der Spieler OP ist, keine Ahnung warum oder weshalb, selbst wenn ich direkt nach Anfang der Methode ein sysout von z.B. 1 mache, erscheint diese nur wenn ich OP bin und dieses Event aufrufe. Es hat meinermeinung keinen Sinn hier Code zu posten da es auf alle Events zutrifft um dennoch sicher zu gehen kopiere ich hier meinen Konstruktor und den Aufruf rein. Viel Gelingen beim mit rätseln :mofo:

Main:
Code:
private void registerEvents() {
	new SelectEvent(this);
	new ClickSignEvent(this);
}
EventHandler:
Code:
private Main main;

public SelectEvent(Main main) {
	this.main = main;
	this.main.getServer().getPluginManager().registerEvents(this, this.main);
}
Wie gesagt eigentlich funktioniert es aber nur als OP

Edit:
Ich frage mich halt was OP so besonders macht wenn nicht einmal * Permission etwas bringt

Edit Edit:
Fixed Bitte schließen
10/20/2016 23:12 ComputerBaer#2
Schön das du deinen Fehler gefunden hast, denn ich denke der war nicht in deinem Code hier.

Ich würde dir empfehlen es anders zu machen, das was du da machst würde ich als sehr schlechten Programmierstil bezeichnen. Ich würde keinen Listener erwarten, der sich selbst registriert, wäre besser wenn dein Plugin ihn selbst registriert (ja, klingt etwas komisch).

Code:
private void registerEvents() {
	this.getServer().getPluginManager().registerEvents(new SelectEvent(this), this);
	this.getServer().getPluginManager().registerEvents(new ClickSignEvent(this), this);
}

//--------

private Main main;

public SelectEvent(Main main) {
	this.main = main;
}
#closed