Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.suspected.cryogenic;
- import java.util.ArrayList;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Damageable;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- public class cryogenic extends JavaPlugin implements Listener{
- //Package names should not begin upper-case
- public ArrayList<String> frozenPlayers = new ArrayList<String>();
- private ArrayList<Player> vanished = new ArrayList<Player>();
- public void onEnable(){
- frozenPlayers.clear();
- Bukkit.getPluginManager().registerEvents((Listener) this, this);
- }
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
- if(commandLabel.equalsIgnoreCase("heal")){
- if(args.length == 0){
- if(sender instanceof Player){
- Player p = (Player)sender;
- Damageable dm = p;
- p.setHealth(dm.getMaxHealth());
- }
- }else{
- switch(args.length){
- case 1:
- Player p = Bukkit.getPlayerExact(args[0]);
- if(p == null){
- sender.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.DARK_AQUA + ">+" + ChatColor.BOLD + ChatColor.RED + " " + "That player is offline!");
- //You forgot to return here if the player is null
- return false;
- }
- Damageable dm = p;
- p.setHealth(dm.getMaxHealth());
- p.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + " " + ChatColor.GOLD + ChatColor.BOLD + "You were healed!");
- return true; //Use return true/false instead of break
- }
- }
- }
- if(commandLabel.equalsIgnoreCase("freeze")){
- //Removed a bad arg length check from here
- switch(args.length){ //Although it may be good practice for you to use a switch statement,
- //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
- case 1:
- Player p = Bukkit.getPlayer(args[0]);
- if(p == null){
- sender.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.DARK_AQUA + ">" + ChatColor.BOLD + ChatColor.RED + " " + "That player is not online!");
- }else{
- if(frozenPlayers.contains(p.getName())){
- frozenPlayers.remove(p.getName());
- p.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.DARK_AQUA + ">" + ChatColor.RED + ChatColor.BOLD+ " " + "You have been unfrozen!");
- }else{
- frozenPlayers.add(p.getName());
- p.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.DARK_AQUA + ">" + ChatColor.RED + ChatColor.BOLD + " " + "You have been frozen by " + sender.getName() + "."); }
- }
- return true;
- }
- }
- return false;
- }
- @EventHandler
- public void onPlayerMove(PlayerMoveEvent e){
- if(frozenPlayers.contains(e.getPlayer().getName())){
- e.getPlayer().teleport(e.getPlayer());
- e.getPlayer().sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.DARK_AQUA + ">" + ChatColor.DARK_RED + ChatColor.BLUE + " " + "You are frozen!");
- }else{
- }
- Player p = (Player) sender;
- if (cmd.getName().equalsIgnoreCase("vanish")){
- if(sender.hasPermission("cryogenicvanish.vanish"));
- if (!vanished.contains(p)) {
- for (Player pl : Bukkit.getServer().getOnlinePlayers()) {
- pl.hidePlayer(p);
- }
- vanished.add(p);
- p.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.GREEN + ChatColor.BOLD + " " + "You have been vanished!");
- }
- else {
- for (Player pl : Bukkit.getServer().getOnlinePlayers()) {
- pl.showPlayer(p);
- }
- vanished.remove(p);
- p.sendMessage(ChatColor.GRAY + "[" + ChatColor.YELLOW + "Cryogenic" + ChatColor.GRAY + "]" + ChatColor.GREEN + ChatColor.BOLD + " " + "You have been unvanished!");
- }
- }
- }
- }
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent e) {
- for (Player p : vanished) {
- e.getPlayer().hidePlayer(p);
- }
- }
- @EventHandler
- public void onPlayerLeave(PlayerQuitEvent e) {
- vanished.remove(e.getPlayer());
- }
- //You don't always need an else statement after an if
- {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment