package io.github.jordandoyle.mcinject.handler; public abstract class Handler { // TODO: Add some better functionality in here in the future private boolean registered = false; private String name; public Handler(String name) { this.name = name; } protected abstract void onRegister(); public boolean hasRegistered() { return registered; } public void register() throws Exception { if(hasRegistered()) throw new Exception("Cannot register an already registered handler"); registered = true; onRegister(); } public String getName() { return name; } }