Eigenes Event System

  • Themenstarter Themenstarter Gelöschtes Mitglied 34033
  • Beginndatum Beginndatum
G

Gelöschtes Mitglied 34033

Gast
hi
ich wollt fürn eignes spiel en event system machen
vlt kennt jemand bukkit
ich wollt das event system genauso machen weiß aber nicht wie
kann mir wer helfen?
danke im voraus!
 
Was soll's denn können?

Reicht denn vielleicht einfach ein interface?

so solls nacher aussehen:
Java:
public class Klasse implements Listener {
    public Klasse(Manager manager) {
        manager.getEventManager().registerEvents(this, manager);
    }
    @EventHandler (priority = Priority.NORMAL)
    public void egal_wie_die_methode_heißt(DasEvent event) {
        //was soll gemacht werden
    }
}

und der manager:

Java:
public class Manager extends JavaManager {
    public void load() {
        k = new Klasse(this);
    }
    private Klasse k;
}

Klassen:

EventManager
JavaManager
...Event

Interfaces:

Listener

Enums:

Priority
 
ich hab keine ahnung wie der code dazu lauten soll

und ich hab oben die annonation EventHandler vergessen
 
Zuletzt bearbeitet von einem Moderator:
Angenommen iwer würde dieses EventSystem programmieren.

Ohne Java zu können, würdest damit nicht umgehen können.
 
leider hilft mir eventbus nicht weiter ich werd warscheinlich weiter im bukkit source-code forschen müssen is ja open source

außerdem: Listener, EventHandler und Priority hab ich schon fertig
 
Zuletzt bearbeitet von einem Moderator:
ich geb ma en bischen code:

Listener.java:
Java:
package de.creeperfans.event;
public interface Listener {}

Priority.java:
Java:
package de.creeperfans.event;

public enum Priority {
    LOWEST, LOW, NORMAL, HIGH, HIGHEST;
}

BspListener.java:
Java:
import de.creeperfans.event.*;

public class BspListener implements Listener {
    @EventHandler (priority = Priority.LOW)
    public void onIrgendwas(IrgendeinEvent event) {
        event.irgendwas();
    }
}

Main.java:
Java:
import de.creeperfans.event.*;

public class Main extends Plugin {
    public void onEnable() {
        getPluginManager().registerEvents(new BspListener());
    }

    public static void main() {
        PluginSystem.enable(new Main());
    }
}
 
es macht nich das was ich möchte doch ich weiß das das was ich will auch ohne api's etc geht
 
@TO: Natürlich geht's ohne API's. Du aber weist anscheinend nicht wie und fragst hier nach Lösungen. Erwartest du etwa explizit durch Benutzer geschriebenen Code? Mal ehrlich: Ist es denn so schwer, ein Pattern (Observer) und "java.util.concurrent" in ein Eventsystem zu pressen oder kommt man nur auf diese Ideen nicht, weil die einzige API mit der man sich auskennt "Bukkit" heisst?
[EDIT]Okay... kam wenig spät. Hast's ja doch noch gecheckt. 😉[/EDIT]
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben