Advertisement
Guest User

SimplePluginMain.java

a guest
Feb 17th, 2013
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.40 KB | None | 0 0
  1. package eu.letsmine.simpleplugin;
  2.  
  3. import java.util.logging.Logger;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandSender;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.plugin.java.JavaPlugin;
  11.  
  12. import ru.tehkode.permissions.PermissionGroup;
  13. import ru.tehkode.permissions.PermissionManager;
  14. import ru.tehkode.permissions.PermissionUser;
  15. import ru.tehkode.permissions.bukkit.PermissionsEx;
  16.  
  17. public class SimplePluginMain extends JavaPlugin
  18. {
  19.     PermissionManager permissionsEX;
  20.     Logger log = Logger.getLogger("Minecraft");
  21.  
  22.     @Override
  23.     public void onEnable()
  24.     {
  25.         permissionsEX = PermissionsEx.getPermissionManager();
  26.         log.info("[SimplePlugin] Initialized");
  27.     }
  28.  
  29.     @Override
  30.     public void onDisable()
  31.     {
  32.     }
  33.  
  34.     @Override
  35.     public boolean onCommand(CommandSender sender, Command cmd, String label,
  36.             String[] args)
  37.     {
  38.         // Define Player
  39.         Player player = null;
  40.         if (sender instanceof Player)
  41.         {
  42.             player = (Player) sender;
  43.         }
  44.         else
  45.         {
  46.             player = null;
  47.         }
  48.  
  49.         // listplayer command
  50.         if (cmd.getName().equalsIgnoreCase("listplayer"))
  51.         {
  52.             // PEX is not available
  53.             if (!PermissionsEx.isAvailable())
  54.             {
  55.                 sender.sendMessage("§4Error: PermissionsEX ist nicht verfuegbar!");
  56.                 return false;
  57.             }
  58.  
  59.             // Sender has not the permissions to use /listplayer
  60.             if (!sender.hasPermission("ListPlayer.List")
  61.                     & sender instanceof Player)
  62.             {
  63.                 sender.sendMessage("§4Du hast keinen Zugriff auf diesen Befehl.");
  64.                 return false;
  65.             }
  66.  
  67.             int onlinePlayer = Bukkit.getOnlinePlayers().length;
  68.  
  69.             // Show online Players
  70.             if (sender instanceof Player) // Prüfe ob "sender" Spieler ist
  71.             {
  72.                 sender.sendMessage("§1There are currently §4" + onlinePlayer
  73.                         + "/" + Bukkit.getServer().getMaxPlayers()
  74.                         + " §1users online:");
  75.             }
  76.             else
  77.             {
  78.                 sender.sendMessage("There are currently " + onlinePlayer + "/"
  79.                         + Bukkit.getServer().getMaxPlayers() + " users online:");
  80.             }
  81.  
  82.             PermissionGroup[] groups = permissionsEX.getGroups();
  83.             PermissionUser[] players = permissionsEX.getUsers();
  84.  
  85.             String msg = "";
  86.             int i = 0;
  87.  
  88.             for (PermissionGroup group : groups)
  89.             {
  90.  
  91.                 msg = msg + "\n" + group.getName() + ": ";
  92.                 for (PermissionUser User : players)
  93.                 {
  94.                     if (Bukkit.getPlayer(User.getName()) != null)
  95.                     {
  96.                         if (User.inGroup(group))
  97.                         {
  98.                             // Count online users in this group
  99.                             i++;
  100.                             msg = msg + " " + User.getName();
  101.                         }
  102.                     }
  103.                 }
  104.  
  105.                 // Don't display groups with no users online
  106.                 if (i != 0)
  107.                 {
  108.                     sender.sendMessage(msg);
  109.                 }
  110.  
  111.                 // Reset for next group
  112.                 i = 0;
  113.                 msg = "";
  114.             }
  115.             return true;
  116.         }
  117.  
  118.         // pwn command
  119.         if (cmd.getName().equalsIgnoreCase("pwn"))
  120.         {            
  121.             float explosionPower = 6F; // Explosion Strenght, TNT = 4F
  122.             if (args.length > 1)
  123.             {
  124.                 sender.sendMessage("Zu viele Argumente!");
  125.                 sender.sendMessage("/pwn (Player)");
  126.                 return false;
  127.             }
  128.  
  129.             if (player == null) // Console is sender
  130.             {
  131.                 if (args.length == 0)
  132.                 {
  133.                     System.out.println("[SimplePlugin] Zu wenige Argumente.");
  134.                     System.out.println("[SimplePlugin] /Pwn <Player>)");
  135.                     return false;
  136.                 }
  137.  
  138.                 if (args.length > 1)
  139.                 {
  140.                     System.out.println("[SimplePlugin] Zu viele Argumente!");
  141.                     System.out.println("[SimplePlugin] /Pwn <Player>");
  142.                     return false;
  143.                 }
  144.                 if (args.length == 1)
  145.                 {
  146.                     Player other = (Bukkit.getServer().getPlayer(args[0]));
  147.                     if (other == null)
  148.                     {
  149.                         System.out.println(ChatColor.RED + "[SimplePlugin] " + args[0]
  150.                                 + " ist gerade nicht online!");
  151.                         return false;
  152.                     }
  153.  
  154.                     Player target = Bukkit.getPlayer(args[0]);
  155.                     target.getWorld().createExplosion(target.getLocation(),
  156.                             explosionPower);
  157.                     target.getWorld().strikeLightning(target.getLocation());
  158.                     target.setHealth(0);
  159.                     Bukkit.getServer().broadcastMessage(
  160.                             "[SimplePlugin] " + ChatColor.RED
  161.                                     + target.getDisplayName() + ChatColor.WHITE
  162.                                     + " wurde gepwnd.");
  163.                     return true;
  164.  
  165.                 }
  166.  
  167.             }
  168.             if (args.length == 0)
  169.             {
  170.                 player.getWorld().createExplosion(player.getLocation(),
  171.                         explosionPower);
  172.                 player.getWorld().strikeLightning(player.getLocation());
  173.                 player.setHealth(0);
  174.                 Bukkit.getServer().broadcastMessage(
  175.                         ChatColor.RED + player.getDisplayName() + ChatColor.WHITE
  176.                                 + " hat sich selbst gepwnd.");
  177.                 return true;
  178.             }
  179.  
  180.             if (args.length == 1)
  181.             {
  182.                 Player other = (Bukkit.getServer().getPlayer(args[0]));
  183.                 if (other == null)
  184.                 {
  185.                     sender.sendMessage(ChatColor.RED + "[SimplePlugin] " + args[0]
  186.                             + " ist gerade nicht online!");
  187.                     return false;
  188.                 }
  189.                 Player target = Bukkit.getPlayer(args[0]);
  190.                 target.getWorld().createExplosion(target.getLocation(),
  191.                         explosionPower);
  192.                 target.getWorld().strikeLightning(target.getLocation());
  193.                 target.setHealth(0);
  194.                 String targetname = target.getDisplayName();
  195.                 if (!targetname.equalsIgnoreCase(player.getDisplayName()))
  196.                 {
  197.                     Bukkit.getServer().broadcastMessage(
  198.                             ChatColor.RED + target.getDisplayName()
  199.                                     + ChatColor.WHITE + " wurde von "
  200.                                     + ChatColor.RED + player.getDisplayName()
  201.                                     + ChatColor.WHITE + " gepwnd.");
  202.                     return true;
  203.                 }
  204.                 Bukkit.getServer().broadcastMessage(
  205.                         ChatColor.RED + player.getDisplayName() + ChatColor.WHITE
  206.                                 + " hat sich selbst gepwnd.");
  207.                 return true;
  208.  
  209.             }
  210.             if (!player.hasPermission("SimplePlugin.pwn")) // Player doesnt have
  211.                                                            // permission
  212.                 sender.sendMessage(ChatColor.RED
  213.                         + "Du hast keinen Zugriff auf diesen Befehl.");
  214.             return false;
  215.         }
  216.  
  217.         // sudo command
  218.         if (cmd.getName().equalsIgnoreCase("sudo"))
  219.         {
  220.             // Player doesnt have permission
  221.             if (!sender.hasPermission("Simpleplugin.sudo"))
  222.             {
  223.                 sender.sendMessage(ChatColor.RED
  224.                         + "Du hast keinen Zugriff auf diesen Befehl.");
  225.                 return false;
  226.             }
  227.  
  228.             if (args.length < 2)
  229.             {
  230.                 sender.sendMessage("Too less arguments.");
  231.                 sender.sendMessage("Usage: /sudo [user] [command] <args>");
  232.                 return false;
  233.             }
  234.  
  235.             Player target = (Bukkit.getServer().getPlayer(args[0]));
  236.             if (target == null)
  237.             {
  238.                 sender.sendMessage(ChatColor.RED + "[SimplePlugin] " + args[0]
  239.                         + " ist gerade nicht online!");
  240.                 return false;
  241.             }
  242.             String temp = "";
  243.             int i = 0;
  244.             for (String arg : args)
  245.             {
  246.                 // Skip player name
  247.                 i++;
  248.                 if (i > 1)
  249.                 {
  250.                     if (temp != "")
  251.                     {
  252.                         temp = temp + " " + arg;
  253.                     }
  254.                     else
  255.                     {
  256.                         temp = temp + arg;
  257.                     }
  258.                 }
  259.             }
  260.  
  261.             Bukkit.getServer().dispatchCommand(target, temp);
  262.             sender.sendMessage(ChatColor.GREEN + "[SimplePlugin] Succesfully executed command \"/"
  263.                     + temp + "\"");
  264.             return true;
  265.         }
  266.  
  267.         // fail command
  268.         if (cmd.getName().equalsIgnoreCase("fail"))
  269.         {
  270.             if (player == null)
  271.             {
  272.                 sender.sendMessage("[SimplePlugin] This command is only ingame available");
  273.                 return false;
  274.             }
  275.             if (!player.hasPermission("Simpleplugin.fail"))
  276.             {
  277.                 sender.sendMessage(ChatColor.RED
  278.                         + "Du hast keinen Zugriff auf diesen Befehl.");
  279.                 return false;
  280.             }
  281.             getServer().getPlayer(player.getName()).kickPlayer(
  282.                     "Du hast gefailt!");
  283.             Bukkit.broadcastMessage(ChatColor.RED + player.getDisplayName()
  284.                     + ChatColor.RED + " hat gefailt und wurde darum gekickt.");
  285.             return true;
  286.  
  287.         }
  288.  
  289.         if (cmd.getName().equalsIgnoreCase("console"))
  290.         {
  291.             // Player doesnt have permission
  292.             if (!sender.hasPermission("Simpleplugin.console"))
  293.             {
  294.                 sender.sendMessage(ChatColor.RED
  295.                         + "Du hast keinen Zugriff auf diesen Befehl.");
  296.                 return false;
  297.             }
  298.  
  299.             if (args.length < 1)
  300.             {
  301.                 sender.sendMessage("Too less arguments.");
  302.                 sender.sendMessage("Usage: /console [command] <args>");
  303.                 return false;
  304.             }
  305.             String temp = "";
  306.             for (String arg : args)
  307.             {
  308.  
  309.                 if (temp != "")
  310.                 {
  311.                     temp = temp + " " + arg;
  312.                 }
  313.                 else
  314.                 {
  315.                     temp = temp + arg;
  316.                 }
  317.  
  318.             }
  319.             Bukkit.getServer().dispatchCommand(
  320.                     Bukkit.getServer().getConsoleSender(), temp);
  321.             sender.sendMessage(ChatColor.GREEN + "[SimplePlugin] Succesfully executed command \"/"
  322.                     + temp + "\" as console.");
  323.             return true;
  324.         }
  325.         return false;
  326.     }
  327. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement