/* * 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 java.util.List; import lombok.Getter; import lombok.Setter; import org.bukkit.ChatColor; import org.bukkit.Server; import org.bukkit.entity.Player; /** * * @author devan_000 */ public abstract class ArcadeMiniPlugin { @Getter @Setter private String version; @Getter @Setter private String customName; @Getter @Setter private Server server; @Getter @Setter private List<String> pluginDescription; private boolean shuttingDown = false; public ArcadeMiniPlugin(String name, String version, Server pluginServer, List<String> pluginDescription) { this.customName = name; this.version = version; this.server = pluginServer; this.pluginDescription = pluginDescription; } 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) { server.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(); } } public void broadcast(String message) { server.broadcastMessage(ChatColor.YELLOW + getCustomName() + ChatColor.BLUE + "> " + ChatColor.WHITE + message); } public void messagePlayer(Player player, String message) { player.sendMessage(ChatColor.YELLOW + getCustomName() + ChatColor.BLUE + "> " + ChatColor.WHITE + message); } }