66 lines
2.0 KiB
Java
66 lines
2.0 KiB
Java
package top.penowl.quidproquo;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.UUID;
|
|
|
|
import org.bukkit.event.HandlerList;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
import top.penowl.quidproquo.rituals.*;
|
|
|
|
public class QuidProQuo extends JavaPlugin {
|
|
|
|
// DONT COMMENT CODE AT 3 AM
|
|
|
|
// haha singleton go brrr
|
|
public static QuidProQuo instance;
|
|
|
|
// global list of registered rituals
|
|
public ArrayList<Ritual> rituals = new ArrayList<Ritual>();
|
|
|
|
// dictionary of who has who selected as a ritual target
|
|
public HashMap<UUID, UUID> targets = new HashMap<UUID, UUID>();
|
|
|
|
// this gets run when the plugin loads
|
|
@Override
|
|
public void onEnable() {
|
|
|
|
// here we register events and the singleton
|
|
instance = this;
|
|
getLogger().info("Loading rituals...");
|
|
getServer().getPluginManager().registerEvents(new Events(), this);
|
|
|
|
// register command handler
|
|
getCommand("ritual").setExecutor(new Commands(rituals));
|
|
|
|
// register all rituals
|
|
rituals.add(new HealRitual());
|
|
rituals.add(new WoolingRitual());
|
|
rituals.add(new FeedingRitual());
|
|
rituals.add(new SnowmanRitual());
|
|
rituals.add(new GetLuckyRitual());
|
|
rituals.add(new AnvilRitual());
|
|
rituals.add(new FillerRitual());
|
|
rituals.add(new LavaRitual());
|
|
rituals.add(new HitRitual());
|
|
|
|
// run ritual setup scripts
|
|
for (Ritual ritual : rituals) {
|
|
getLogger().info("Loading " + ritual.getClass().toString() + "...");
|
|
ritual.setup();
|
|
getLogger().info("Ingredients: " + ritual.ingredients.toString());
|
|
getLogger().info("Sacrifices: " + ritual.sacrifices.toString());
|
|
getLogger().info("Loaded a " + ritual.name + " ritual.");
|
|
}
|
|
|
|
}
|
|
@Override
|
|
public void onDisable() {
|
|
|
|
// basically just handler cleanup
|
|
getLogger().info("Unloading handler...");
|
|
HandlerList.unregisterAll(this);
|
|
|
|
}
|
|
|
|
} |