Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.bai1.NewAnnouncer;
- import java.util.List;
- import java.util.Random;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.entity.Player;
- import org.bukkit.event.Listener;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitScheduler;
- import me.bai1.NewTrans.NewTrans;
- import me.bai1.NewTrans.Language;
- public class NewAnnouncer extends JavaPlugin implements Listener {
- public static String annPrefix = "";
- public static List<String> annMessages;
- public static String noPerm = "";
- public static int annNumber = 0;
- public static int annAnnouncements = 1;
- public static int annInterval = 300;
- public static boolean annRandom = false;
- public static boolean NTC = false;
- // NewTrans compatibility
- public static Plugin NewTransT;
- public void onEnable() {
- getConfig().options().copyDefaults();
- saveConfig();
- loadProcess();
- getLogger().info(this.toString());
- Bukkit.getPluginManager().registerEvents(this, this);
- getLogger().info("Plugin enabled");
- }
- public void loadProcess() {
- getLogger().info("Setting 'no permission' message");
- noPerm = getConfig().getString("no-permission");
- getLogger().info("Setting announcement prefix");
- annPrefix = getConfig().getString("prefix").replace("&", "\u00A7");
- getLogger().info("Reading announceable messages");
- annMessages = getConfig().getStringList("messages");
- annAnnouncements = annMessages.size();
- NewTransT = Bukkit.getPluginManager().getPlugin("NewTrans");
- if(NewTransT != null) {
- NTC = true;
- getLogger().info("Hooking into " + NewTransT.toString());
- }
- Bukkit.getPluginManager().registerEvents(this, this);
- getLogger().info("Registering commands");
- getCommand("newannouncer").setExecutor(new cmd_announce(this));
- getCommand("newannounce").setExecutor(new cmd_announce());
- getCommand("newann").setExecutor(new cmd_announce());
- getCommand("na").setExecutor(new cmd_announce());
- //getCommand("announcer").setExecutor(new cmd_announce());
- //getCommand("an").setExecutor(new cmd_announce());
- //getCommand("ann").setExecutor(new cmd_announce());
- getLogger().info("Setting interval between announcements");
- annInterval = getConfig().getInt("interval");
- getLogger().info("Setting announcement order");
- annRandom = getConfig().getBoolean("random");
- setInterval(annInterval);
- }
- public void onDisable() {
- }
- public void setInterval(int interval) {
- Bukkit.getScheduler().cancelTasks(Bukkit.getServer().getPluginManager().getPlugin("NewAnnouncer"));
- Bukkit.getScheduler().scheduleSyncRepeatingTask(Bukkit.getServer().getPluginManager().getPlugin("NewAnnouncer"),new Runnable() {
- public void run() {
- if(NewAnnouncer.annNumber < NewAnnouncer.annMessages.size()) {
- String annMessage = NewAnnouncer.annMessages.get(NewAnnouncer.annNumber);
- Bukkit.broadcastMessage(annPrefix + annMessage);
- if(NTC == true) {
- NewTrans NewTrans = (NewTrans) Bukkit.getServer().getPluginManager().getPlugin("NewTrans");
- NewTrans.printTranslation(annMessage, "CONSOLE", Language.SPANISH);
- }
- if(NewAnnouncer.annRandom = true) {
- Random randomNum = new Random();
- NewAnnouncer.annNumber = Math.abs(randomNum.nextInt() % NewAnnouncer.annMessages.size());
- } else {
- if(NewAnnouncer.annNumber >= NewAnnouncer.annMessages.size()) {
- NewAnnouncer.annNumber = 0;
- } else {
- NewAnnouncer.annNumber++;
- }
- }
- }
- }
- },interval * 20L, interval * 20L);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement