SuspectedHatesYou

Untitled

Jan 25th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.12 KB | None | 0 0
  1. package me.suspected.cryogenic;
  2.  
  3. import java.util.ArrayList;
  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.Damageable;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.player.PlayerMoveEvent;
  14. import org.bukkit.plugin.java.JavaPlugin;
  15.  
  16.  
  17. public class cryogenic extends JavaPlugin implements Listener{
  18.  
  19.  
  20. //Package names should not begin upper-case
  21.  
  22. public ArrayList<String> frozenPlayers = new ArrayList<String>();
  23. public void onEnable(){
  24. frozenPlayers.clear();
  25. Bukkit.getPluginManager().registerEvents((Listener) this, this);
  26. }
  27. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
  28.  
  29. if(commandLabel.equalsIgnoreCase("heal")){
  30. if(args.length == 0){
  31. if(sender instanceof Player){
  32. Player p = (Player)sender;
  33. Damageable dm = p;
  34.  
  35. p.setHealth(dm.getMaxHealth());
  36. }
  37. }else{
  38. switch(args.length){
  39. case 1:
  40. Player p = Bukkit.getPlayerExact(args[0]);
  41. if(p == null){
  42. sender.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.DARK_AQUA + ">+" + ChatColor.BOLD + ChatColor.RED + "That player is offline!");
  43. //You forgot to return here if the player is null
  44. return false;
  45. }
  46. Damageable dm = p;
  47. p.setHealth(dm.getMaxHealth());
  48. return true; //Use return true/false instead of break
  49.  
  50. }
  51. }
  52. }
  53. if(commandLabel.equalsIgnoreCase("freeze")){
  54.  
  55. //Removed a bad arg length check from here
  56.  
  57. switch(args.length){ //Although it may be good practice for you to use a switch statement,
  58. //it might be better to use ifs so if you want to act upon the case of the command lacking or containing too many arguments you may
  59. case 1:
  60. Player p = Bukkit.getPlayer(args[0]);
  61. if(p == null){
  62. sender.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.DARK_AQUA + ">+" + ChatColor.BOLD + ChatColor.RED + "That player is not online!");
  63. }else{
  64. if(frozenPlayers.contains(p.getName())){
  65. frozenPlayers.remove(p.getName());
  66. p.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.DARK_AQUA + ">+" + ChatColor.BOLD + ChatColor.BLUE + "You have been unfrozen!");
  67. }else{
  68. frozenPlayers.add(p.getName());
  69. p.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.DARK_AQUA + ">+" + ChatColor.BOLD + ChatColor.BLUE + "You have been frozen by " + sender.getName() + "."); }
  70. }
  71. return true;
  72. }
  73.  
  74. }
  75. return false;
  76. }
  77.  
  78. @EventHandler
  79. public void onPlayerMove(PlayerMoveEvent e){
  80. if(frozenPlayers.contains(e.getPlayer().getName())){
  81. e.getPlayer().teleport(e.getPlayer());
  82. e.getPlayer().sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.DARK_AQUA + ">+" + ChatColor.BOLD + ChatColor.BLUE + "You are frozen!");
  83. }else{
  84. //You don't always need an else statement after an if
  85. }
  86. }
  87. }
Add Comment
Please, Sign In to add comment