Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.NonameSL.CharacterLibrary;
- import java.util.HashMap;
- import me.NonameSL.CharacterLibrary.MyCharacter.ActionTrigger;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.Plugin;
- public class PlayerCharacter
- {
- private MyCharacter superCharacter;
- private double health;
- private Player player;
- private CharacterListener characterListener;
- private HashMap<ActionTrigger, CharacterAction> skills;
- public PlayerCharacter(Player p, MyCharacter superCharacter)
- {
- for (MyCharacter mc : MyCharacter.playersWithCharacters.keySet()) {
- if (MyCharacter.playersWithCharacters.get(mc).contains(p)) {
- MyCharacter.playersWithCharacters.get(mc).remove(p);
- }
- }
- MyCharacter.playersWithCharacters.get(superCharacter).add(p);
- this.skills = new HashMap<ActionTrigger, CharacterAction>();
- this.health = superCharacter.getMaxHealth();
- this.superCharacter = superCharacter;
- this.player = p;
- p.setMaxHealth((double)superCharacter.getMaxHealth());
- p.setHealth((double)this.health);
- }
- public MyCharacter getSuperCharacter()
- {
- return this.superCharacter;
- }
- public void addSpecialDisplayName(){
- this.player.setDisplayName("§7[§r"+this.getSuperCharacter().getName()+"§7]§r"+player.getDisplayName());
- }
- public void addSpecialPlayerListName(){
- this.player.setPlayerListName("§7[§r"+this.getSuperCharacter().getName()+"§7]§r"+player.getDisplayName());
- }
- public void removeSkill(MyCharacter.ActionTrigger at)
- {
- if (this.skills.containsKey(at))
- this.skills.remove(at);
- }
- public void addAllSkillsFromSuper() { for (MyCharacter.ActionTrigger at : this.superCharacter.getSkills().keySet())
- addSkillToCharacter(at); }
- public void addSkillToCharacter(MyCharacter.ActionTrigger at) {
- this.skills.put(at, (CharacterAction)this.superCharacter.getSkills().get(at));
- }
- public void registerSkills(Plugin p) {
- if(p==null){
- throw new NullPointerException("Plugin cannot be null!");
- }
- if ((this.superCharacter.getSkills() == null) || (this.superCharacter.getSkills().isEmpty())) {
- p.getServer().getConsoleSender().sendMessage("§4§uERROR:§r§4 Tried to register skills for a PlayerCharacter that does not have any skills from its MyCharacter.");
- return;
- }
- this.characterListener = new CharacterListener(p, this);
- }
- public double getHealth()
- {
- return this.health;
- }
- public void setHealth(double health)
- {
- this.health = health;
- }
- public void healCharacter(double heal)
- {
- if (heal > this.superCharacter.getMaxHealth()) heal = this.superCharacter.getMaxHealth() - this.health;
- if (heal < 0) heal = 0;
- this.health += heal;
- }
- public void damageCharater(double damage)
- {
- if (damage > this.health) damage = this.health;
- if (damage < 0) damage = 0;
- this.health -= damage;
- }
- public Player getPlayer()
- {
- return this.player;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement