/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.arkhamnetwork.arcade.commons.plugin; import lombok.Getter; import lombok.Setter; import org.bukkit.ChatColor; import org.bukkit.plugin.java.JavaPlugin; /** * * @author devan_000 */ public abstract class ArcadePlugin extends JavaPlugin { @Getter @Setter private String version; @Getter @Setter private String customName; private boolean shuttingDown = false; public ArcadePlugin(String name, String version) { this.customName = name; this.version = version; } public void onEnable() { log("Plugin version " + getVersion() + " starting."); } public void postEnable() { log("Plugin version " + getVersion() + " started."); } public void onDisable() { log("Plugin version " + getVersion() + " shutting down."); } public void postDisable() { log("Plugin version " + getVersion() + " shutdown."); } public void log(String message) { getServer().getConsoleSender().sendMessage( ChatColor.YELLOW + getCustomName() + ChatColor.BLUE + "> " + ChatColor.WHITE + message); } public void shutdown(String reason) { if (!shuttingDown) { shuttingDown = Boolean.TRUE; getServer().getConsoleSender().sendMessage( ChatColor.YELLOW + getCustomName() + ChatColor.DARK_RED + " - SHUTTING DOWN" + ChatColor.BLUE + "> " + ChatColor.WHITE + reason); getServer().shutdown(); } } }