Advertisement
NonameSL

PlayerCharacter.java

Jul 9th, 2014
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.95 KB | None | 0 0
  1. package me.NonameSL.CharacterLibrary;
  2.  
  3. import java.util.HashMap;
  4.  
  5. import me.NonameSL.CharacterLibrary.MyCharacter.ActionTrigger;
  6.  
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.plugin.Plugin;
  9.  
  10. public class PlayerCharacter
  11. {
  12.   private MyCharacter superCharacter;
  13.   private double health;
  14.   private Player player;
  15.   private CharacterListener characterListener;
  16.   private HashMap<ActionTrigger, CharacterAction> skills;
  17.  
  18.   public PlayerCharacter(Player p, MyCharacter superCharacter)
  19.   {
  20.     for (MyCharacter mc : MyCharacter.playersWithCharacters.keySet()) {
  21.       if (MyCharacter.playersWithCharacters.get(mc).contains(p)) {
  22.           MyCharacter.playersWithCharacters.get(mc).remove(p);
  23.       }
  24.     }
  25.     MyCharacter.playersWithCharacters.get(superCharacter).add(p);
  26.     this.skills = new HashMap<ActionTrigger, CharacterAction>();
  27.     this.health = superCharacter.getMaxHealth();
  28.     this.superCharacter = superCharacter;
  29.     this.player = p;
  30.     p.setMaxHealth((double)superCharacter.getMaxHealth());
  31.     p.setHealth((double)this.health);
  32.   }
  33.  
  34.   public MyCharacter getSuperCharacter()
  35.   {
  36.     return this.superCharacter;
  37.   }
  38.   public void addSpecialDisplayName(){
  39.       this.player.setDisplayName("§7[§r"+this.getSuperCharacter().getName()+"§7]§r"+player.getDisplayName());
  40.   }
  41.   public void addSpecialPlayerListName(){
  42.       this.player.setPlayerListName("§7[§r"+this.getSuperCharacter().getName()+"§7]§r"+player.getDisplayName());
  43.   }
  44.   public void removeSkill(MyCharacter.ActionTrigger at)
  45.   {
  46.     if (this.skills.containsKey(at))
  47.       this.skills.remove(at);
  48.   }
  49.  
  50.   public void addAllSkillsFromSuper() { for (MyCharacter.ActionTrigger at : this.superCharacter.getSkills().keySet())
  51.       addSkillToCharacter(at); }
  52.  
  53.   public void addSkillToCharacter(MyCharacter.ActionTrigger at) {
  54.     this.skills.put(at, (CharacterAction)this.superCharacter.getSkills().get(at));
  55.   }
  56.   public void registerSkills(Plugin p) {
  57.     if(p==null){
  58.           throw new NullPointerException("Plugin cannot be null!");
  59.     }
  60.     if ((this.superCharacter.getSkills() == null) || (this.superCharacter.getSkills().isEmpty())) {
  61.       p.getServer().getConsoleSender().sendMessage("§4§uERROR:§r§4 Tried to register skills for a PlayerCharacter that does not have any skills from its MyCharacter.");
  62.       return;
  63.     }
  64.     this.characterListener = new CharacterListener(p, this);
  65.   }
  66.   public double getHealth()
  67.   {
  68.     return this.health;
  69.   }
  70.  
  71.   public void setHealth(double health)
  72.   {
  73.     this.health = health;
  74.   }
  75.  
  76.   public void healCharacter(double heal)
  77.   {
  78.     if (heal > this.superCharacter.getMaxHealth()) heal = this.superCharacter.getMaxHealth() - this.health;
  79.     if (heal < 0) heal = 0;
  80.     this.health += heal;
  81.   }
  82.  
  83.   public void damageCharater(double damage)
  84.   {
  85.     if (damage > this.health) damage = this.health;
  86.     if (damage < 0) damage = 0;
  87.     this.health -= damage;
  88.   }
  89.  
  90.   public Player getPlayer()
  91.   {
  92.     return this.player;
  93.   }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement