rosaage

TobiMotd

Aug 24th, 2012
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.92 KB | None | 0 0
  1. package com.rosaage.Tobi;
  2.  
  3. import java.awt.Component;
  4.  
  5. public class TobiMotd extends JavaPlugin implements Listener {
  6. private JPanel panel;
  7. private JLabel jLabel1;
  8. private JButton jButton1;
  9. private JTextArea textArea;
  10. private JTextArea textArea_1;
  11.  
  12. public void onDisable() {
  13. System.out.println("[TobiMotd] v2.4 is disabled!");
  14. }
  15. public void onEnable() {
  16. final FileConfiguration config = this.getConfig();
  17. if(config.contains("MOTD")){
  18.    
  19. }
  20. else{
  21.     config.addDefault("MOTD", "this is my motd");
  22. }
  23.  
  24. this.getConfig().options().copyDefaults(true);
  25. saveConfig();
  26. checkifpail();
  27. getServer().getPluginManager().registerEvents(this, this);
  28.  
  29. getCommand("motd").setExecutor(new CommandExecutor(){
  30.     public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
  31.         if(cmd.getName().equalsIgnoreCase("motd")){
  32.             World world = sender instanceof Player ? ((Player) sender).getWorld() : getServer().getWorlds().get(0);
  33.             long time = world.getTime();
  34.             int hours = (int) ((time / 1000+8) % 24);
  35.             int minutes = (int) (60 * (time % 1000) / 1000);
  36.             String[] message = config.getString("MOTD").split("%NL%");
  37.             for(int x=0 ; x<message.length ; x++) {
  38.             sender.sendMessage(message[x].replaceAll("(&([a-f0-9]))", "\u00A7$2").replaceAll("%NAME%", sender.getName())
  39.                     .replaceAll("%TIME%", hours + ":" + minutes).replaceAll("%VERSION%", getServer().getBukkitVersion())
  40.                     .replaceAll("%WORLD%", world.getName()).replaceAll("%ONLINE%", list(sender)));
  41.                 }
  42.             return true;
  43.         }
  44.         return false;
  45.     }
  46. });
  47. getCommand("setmotd").setExecutor(new CommandExecutor(){
  48.     public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
  49.         if(cmd.getName().equalsIgnoreCase("setmotd")){
  50.             if(sender.hasPermission("tobimotd.set") || sender.isOp()) {
  51.                 StringBuilder sb = new StringBuilder();
  52.                 for (String arg : args)
  53.                 sb.append(arg + " ");
  54.                 config.set("MOTD", sb.toString());
  55.                 saveConfig();
  56.                 reloadConfig();
  57.                 PluginManager pm = getServer().getPluginManager();
  58.                 if (pm.isPluginEnabled("Pail")) {
  59.                     textArea_1.setText(config.getString("MOTD"));
  60.                     textArea.setText(config.getString("MOTD"));
  61.                 }
  62.                 World world = sender instanceof Player ? ((Player) sender).getWorld() : getServer().getWorlds().get(0);
  63.                 long time = world.getTime();
  64.                 int hours = (int) ((time / 1000+8) % 24);
  65.                 int minutes = (int) (60 * (time % 1000) / 1000);
  66.                 String[] message = config.getString("MOTD").split("%NL%");
  67.                 for(int x=0 ; x<message.length ; x++) {
  68.                 sender.sendMessage("The motd is now: " + message[x].replaceAll("(&([a-f0-9]))", "\u00A7$2").replaceAll("%NAME%", sender.getName())
  69.                         .replaceAll("%TIME%", hours + ":" + minutes).replaceAll("%VERSION%", getServer().getBukkitVersion())
  70.                         .replaceAll("%WORLD%", world.getName()).replaceAll("%ONLINE%", list(sender)));
  71.                     }
  72.                 return true;
  73.             }
  74.             return false;
  75.         }
  76.     return false;
  77.     }
  78. });
  79. getCommand("tm").setExecutor(new CommandExecutor(){
  80.     public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
  81.         if(cmd.getName().equalsIgnoreCase("tm")){
  82.             if(sender.hasPermission("tobimodt.reload") || sender.isOp()){
  83.                 reloadConfig();
  84.                 saveConfig();
  85.                 PluginManager pm = getServer().getPluginManager();
  86.                 if (pm.isPluginEnabled("Pail")) {
  87.                     textArea_1.setText(config.getString("MOTD"));
  88.                     textArea.setText(config.getString("MOTD"));
  89.                 }
  90.                 sender.sendMessage(ChatColor.DARK_AQUA + "Config reloaded!");
  91.             return true;
  92.             }
  93.             else{
  94.                 return false;
  95.             }
  96.         }
  97.         sender.sendMessage(ChatColor.RED + "ERROR!");
  98.         return false;
  99.     }
  100. });
  101. System.out.println("[TobiMotd] v2.4 is enabled!");
  102. }
  103. @EventHandler
  104. public void PlayerJoin(PlayerJoinEvent event) {
  105.     final FileConfiguration config = this.getConfig();
  106.     World world = event.getPlayer() instanceof Player ? ((Player) event.getPlayer()).getWorld() : getServer().getWorlds().get(0);
  107.     long time = world.getTime();
  108.     Player p = event.getPlayer();
  109.     CommandSender sender = (Player) p;
  110.     int hours = (int) ((time / 1000+8) % 24);
  111.     int minutes = (int) (60 * (time % 1000) / 1000);
  112.     String[] message = config.getString("MOTD").split("%NL%");
  113.     for(int x=0 ; x<message.length ; x++) {
  114.     p.sendMessage(message[x].replaceAll("(&([a-f0-9]))", "\u00A7$2").replaceAll("%NAME%", p.getName())
  115.             .replaceAll("%TIME%", hours + ":" + minutes).replaceAll("%VERSION%", getServer().getBukkitVersion())
  116.             .replaceAll("%WORLD%", world.getName()).replaceAll("%ONLINE%", list(sender)));
  117.         }
  118.  }
  119. private String list (CommandSender sender) {
  120.     StringBuilder players = new StringBuilder();
  121.  
  122.     for (Player player : Bukkit.getOnlinePlayers()) {
  123.         if (sender instanceof Player && !((Player) sender).canSee(player))
  124.             continue;
  125.         if (players.length() > 0) {
  126.             players.append(", ");
  127.         }
  128.         players.append(player.getDisplayName());
  129.     }
  130.     return players.toString();
  131. }
  132. private void addElement (JPanel c, Component w) {
  133. c.add(w);
  134. }
  135. private void checkifpail() {
  136.     final FileConfiguration config = this.getConfig();
  137.     PluginManager pm = getServer().getPluginManager();
  138.     if (pm.isPluginEnabled("Pail")) {
  139.         System.out.println("[TobiMotd] " + Util.translate("Successfully hooked into Pail!, Trying To generate a tab..."));
  140.         panel = new JPanel();
  141.         panel.setLayout(null);
  142.         jLabel1 = new JLabel(Util.translate("Set the Motd"));
  143.         addElement(panel, jLabel1);
  144.         jButton1 = new JButton(Util.translate("Save"));
  145.         addElement(panel, jButton1);
  146.         JLabel lblCurrentMotd = new JLabel(Util.translate("Current Motd:"));
  147.         panel.add(lblCurrentMotd);
  148.         JScrollPane scrollPane = new JScrollPane();
  149.         scrollPane.setBounds(20, 32, 465, 114);
  150.         panel.add(scrollPane);
  151.         textArea = new JTextArea();
  152.         scrollPane.setViewportView(textArea);
  153.         JScrollPane scrollPane_1 = new JScrollPane();
  154.         scrollPane_1.setBounds(20, 187, 465, 114);
  155.         panel.add(scrollPane_1);
  156.         textArea_1 = new JTextArea();
  157.         scrollPane_1.setViewportView(textArea_1);
  158.         jButton1.addActionListener(new ActionListener() {
  159.             public void actionPerformed(ActionEvent event) {
  160.                     config.set("MOTD", textArea.getText());
  161.                     saveConfig();
  162.                     reloadConfig();
  163.                     textArea_1.setText(config.getString("MOTD"));
  164.                     textArea.setText(config.getString("MOTD"));
  165.                 }
  166.         });
  167.         jLabel1.setBounds(20, 7, 109, 14);
  168.         lblCurrentMotd.setBounds(119, 157, 89, 14);
  169.         jButton1.setBounds(20, 153, 89, 23);
  170.         panel.setLocation(new Point(150, 150));
  171.         textArea_1.setText(config.getString("MOTD"));
  172.         textArea.setText(config.getString("MOTD"));
  173.         ((Pail)pm.getPlugin("Pail")).loadInterfaceComponent("TobiMotd", panel);
  174.         System.out.println("[TobiMotd] " + Util.translate("Done!"));
  175.     }
  176.     else {
  177.         System.out.println("[TobiMotd] Pail isn't loaded.");
  178.     }
  179. }
  180. }
Advertisement
Add Comment
Please, Sign In to add comment