Eigenes Event System

  • Themenstarter Gelöschtes Mitglied 34033
  • 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!
 
G

Gelöschtes Mitglied 34033

Gast
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
 
G

Gelöschtes Mitglied 34033

Gast
ich hab keine ahnung wie der code dazu lauten soll

und ich hab oben die annonation EventHandler vergessen
 
Zuletzt bearbeitet von einem Moderator:
M

Marcinek

Gast
Angenommen iwer würde dieses EventSystem programmieren.

Ohne Java zu können, würdest damit nicht umgehen können.
 
G

Gelöschtes Mitglied 34033

Gast
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:
G

Gelöschtes Mitglied 34033

Gast
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());
    }
}
 
G

Gelöschtes Mitglied 34033

Gast
es macht nich das was ich möchte doch ich weiß das das was ich will auch ohne api's etc geht
 
S

Spacerat

Gast
@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:

Ähnliche Java Themen

Neue Themen


Oben