diff --git a/src/main/java/net/Indyuce/mmoitems/comp/rpg/HeroesHook.java b/src/main/java/net/Indyuce/mmoitems/comp/rpg/HeroesHook.java index 0a38d29a..76e6e9e0 100644 --- a/src/main/java/net/Indyuce/mmoitems/comp/rpg/HeroesHook.java +++ b/src/main/java/net/Indyuce/mmoitems/comp/rpg/HeroesHook.java @@ -23,113 +23,95 @@ import java.util.Map; import java.util.stream.Collectors; public class HeroesHook implements RPGHandler, Listener, DamageHandler { - private final Map damages = new HashMap<>(); + private final Map damages = new HashMap<>(); - public HeroesHook() { - MythicLib.plugin.getDamage().registerHandler(this); + public HeroesHook() { + MythicLib.plugin.getDamage().registerHandler(this); - damages.put(SkillType.ABILITY_PROPERTY_PHYSICAL, DamageType.PHYSICAL); - damages.put(SkillType.ABILITY_PROPERTY_MAGICAL, DamageType.MAGIC); - damages.put(SkillType.ABILITY_PROPERTY_PROJECTILE, DamageType.PROJECTILE); - } + damages.put(SkillType.ABILITY_PROPERTY_PHYSICAL, DamageType.PHYSICAL); + damages.put(SkillType.ABILITY_PROPERTY_MAGICAL, DamageType.MAGIC); + damages.put(SkillType.ABILITY_PROPERTY_PROJECTILE, DamageType.PROJECTILE); + } - @Override - public boolean hasDamage(Entity entity) { - return Heroes.getInstance().getDamageManager().isSpellTarget(entity); - } + @Override + public boolean hasDamage(Entity entity) { + return Heroes.getInstance().getDamageManager().isSpellTarget(entity); + } - @Override - public RegisteredAttack getDamage(Entity entity) { - SkillUseInfo info = Heroes.getInstance().getDamageManager().getSpellTargetInfo(entity); - return new RegisteredAttack(new AttackResult(true, 0, info.getSkill().getTypes().stream().filter(damages::containsKey) - .map(damages::get).collect(Collectors.toSet())), info.getCharacter().getEntity()); - } + @Override + public RegisteredAttack getDamage(Entity entity) { + SkillUseInfo info = Heroes.getInstance().getDamageManager().getSpellTargetInfo(entity); + return new RegisteredAttack(new AttackResult(true, 0, info.getSkill().getTypes().stream().filter(damages::containsKey) + .map(damages::get).collect(Collectors.toSet())), info.getCharacter().getEntity()); + } - @Override - public void refreshStats(PlayerData data) { - Hero hero = ((HeroesPlayer) data.getRPG()).hero; - hero.removeMaxMana("MMOItems"); - hero.addMaxMana("MMOItems", (int) data.getStats().getStat(ItemStats.MAX_MANA)); - } + @Override + public void refreshStats(PlayerData data) { + Hero hero = ((HeroesPlayer) data.getRPG()).hero; + hero.removeMaxMana("MMOItems"); + hero.addMaxMana("MMOItems", (int) data.getStats().getStat(ItemStats.MAX_MANA)); + } - @Override - public RPGPlayer getInfo(PlayerData data) { - return new HeroesPlayer(data); - } + @Override + public RPGPlayer getInfo(PlayerData data) { + return new HeroesPlayer(data); + } - /* - * update the player's inventory whenever he levels up since it could change - * its current stat requirements - */ - @EventHandler - public void a(HeroChangeLevelEvent event) { - PlayerData.get(event.getHero().getPlayer()).getInventory().scheduleUpdate(); - } + /** + * Update the player's inventory whenever he levels up + * since it could change his current stat requirements. + */ + @EventHandler + public void a(HeroChangeLevelEvent event) { + PlayerData.get(event.getHero().getPlayer()).getInventory().scheduleUpdate(); + } - @EventHandler - public void b(ClassChangeEvent event) { - PlayerData.get(event.getHero().getPlayer()).getInventory().scheduleUpdate(); - } + /** + * Update the player's inventory whenever he changes class + * since it could change his current stat requirements. + */ + @EventHandler + public void b(ClassChangeEvent event) { + PlayerData.get(event.getHero().getPlayer()).getInventory().scheduleUpdate(); + } -// @EventHandler -// public void b(SkillDamageEvent event) { -// -// /* -// * apply the 'Magic Damage' and 'Magic Damage Reduction' item option to -// * Heroes skills -// */ -// if (event.getSkill().isType(SkillType.ABILITY_PROPERTY_MAGICAL)) { -// if (event.getDamager().getEntity() instanceof Player) -// event.setDamage(event.getDamage() * (1 + PlayerData.get((Player) event.getDamager().getEntity()).getStats().getStat(ItemStat.MAGIC_DAMAGE) / 100)); -// if (event.getEntity() instanceof Player) -// event.setDamage(event.getDamage() * (1 - PlayerData.get((Player) event.getDamager().getEntity()).getStats().getStat(ItemStat.MAGIC_DAMAGE_REDUCTION) / 100)); -// } -// -// /* -// * apply 'Physical Damage Reduction' to physical skills -// */ -// if (event.getSkill().isType(SkillType.ABILITY_PROPERTY_PHYSICAL)) -// if (event.getEntity() instanceof Player) -// event.setDamage(event.getDamage() * (1 - PlayerData.get((Player) event.getDamager().getEntity()).getStats().getStat(ItemStat.PHYSICAL_DAMAGE_REDUCTION) / 100)); -// } + public static class HeroesPlayer extends RPGPlayer { + private final Hero hero; - public static class HeroesPlayer extends RPGPlayer { - private final Hero hero; + public HeroesPlayer(PlayerData playerData) { + super(playerData); - public HeroesPlayer(PlayerData playerData) { - super(playerData); + hero = Heroes.getInstance().getCharacterManager().getHero(getPlayer()); + } - hero = Heroes.getInstance().getCharacterManager().getHero(getPlayer()); - } + @Override + public int getLevel() { + return hero.getHeroLevel(); + } - @Override - public int getLevel() { - return hero.getHeroLevel(); - } + @Override + public String getClassName() { + return hero.getHeroClass().getName(); + } - @Override - public String getClassName() { - return hero.getHeroClass().getName(); - } + @Override + public double getMana() { + return hero.getMana(); + } - @Override - public double getMana() { - return hero.getMana(); - } + @Override + public double getStamina() { + return hero.getStamina(); + } - @Override - public double getStamina() { - return hero.getStamina(); - } + @Override + public void setMana(double value) { + hero.setMana((int) value); + } - @Override - public void setMana(double value) { - hero.setMana((int) value); - } - - @Override - public void setStamina(double value) { - hero.setStamina((int) value); - } - } + @Override + public void setStamina(double value) { + hero.setStamina((int) value); + } + } } \ No newline at end of file diff --git a/src/main/java/net/Indyuce/mmoitems/comp/rpg/RPGPlayerLevelingHook.java b/src/main/java/net/Indyuce/mmoitems/comp/rpg/RPGPlayerLevelingHook.java index 1e77d8ff..0e44f63e 100644 --- a/src/main/java/net/Indyuce/mmoitems/comp/rpg/RPGPlayerLevelingHook.java +++ b/src/main/java/net/Indyuce/mmoitems/comp/rpg/RPGPlayerLevelingHook.java @@ -5,56 +5,53 @@ import net.Indyuce.mmoitems.api.player.PlayerData; import net.Indyuce.mmoitems.api.player.RPGPlayer; public class RPGPlayerLevelingHook implements RPGHandler { - @Override - public void refreshStats(PlayerData data) { - } + @Override + public void refreshStats(PlayerData data) { + } - @Override - public RPGPlayer getInfo(PlayerData data) { - return new RPGPlayerLevelingPlayer(data); - } + @Override + public RPGPlayer getInfo(PlayerData data) { + return new RPGPlayerLevelingPlayer(data); + } - /* - * the API is outdated and thus no inventory update is made when a player - * levels up. - */ + /* + * The API is outdated and thus no inventory + * update is made when a player levels up + */ - public static class RPGPlayerLevelingPlayer extends RPGPlayer { - /* - * API not adapted to RPGPlayer - */ - public RPGPlayerLevelingPlayer(PlayerData playerData) { - super(playerData); - } + public static class RPGPlayerLevelingPlayer extends RPGPlayer { + public RPGPlayerLevelingPlayer(PlayerData playerData) { + super(playerData); + } - @Override - public int getLevel() { - return new API().getPlayerLevel(getPlayer()); - } + @Override + public int getLevel() { + return new API().getPlayerLevel(getPlayer()); + } - @Override - public String getClassName() { - return ""; - } + @Override + public String getClassName() { + return ""; + } - @Override - public double getMana() { - return new API().getMana(getPlayer()); - } + @Override + public double getMana() { + return new API().getMana(getPlayer()); + } - @Override - public double getStamina() { - return new API().getPower(getPlayer()); - } + @Override + public double getStamina() { + return new API().getPower(getPlayer()); + } - @Override - public void setMana(double value) { - new API().setMana(getPlayer(), (int) value); - } + @Override + public void setMana(double value) { + new API().setMana(getPlayer(), (int) value); + } - @Override - public void setStamina(double value) { - new API().setPower(getPlayer(), (int) value); - } - } + @Override + public void setStamina(double value) { + new API().setPower(getPlayer(), (int) value); + } + } } \ No newline at end of file diff --git a/src/main/java/net/Indyuce/mmoitems/comp/rpg/RacesAndClassesHook.java b/src/main/java/net/Indyuce/mmoitems/comp/rpg/RacesAndClassesHook.java index b3ffa1b0..ca460e26 100644 --- a/src/main/java/net/Indyuce/mmoitems/comp/rpg/RacesAndClassesHook.java +++ b/src/main/java/net/Indyuce/mmoitems/comp/rpg/RacesAndClassesHook.java @@ -12,69 +12,69 @@ import org.bukkit.event.Listener; public class RacesAndClassesHook implements RPGHandler, Listener { - @Override - public void refreshStats(PlayerData data) { - RaCPlayer info = ((RacePlayer) data.getRPG()).info; - info.getManaManager().removeMaxManaBonus("MMOItems"); - info.getManaManager().addMaxManaBonus("MMOItems", data.getStats().getStat(ItemStats.MAX_MANA)); - } + @Override + public void refreshStats(PlayerData data) { + RaCPlayer info = ((RacePlayer) data.getRPG()).info; + info.getManaManager().removeMaxManaBonus("MMOItems"); + info.getManaManager().addMaxManaBonus("MMOItems", data.getStats().getStat(ItemStats.MAX_MANA)); + } - @Override - public RPGPlayer getInfo(PlayerData data) { - return new RacePlayer(data); - } + @Override + public RPGPlayer getInfo(PlayerData data) { + return new RacePlayer(data); + } - /* - * update the player's inventory whenever he levels up since it could change - * its current stat requirements - */ - @EventHandler - public void a(LevelUpEvent event) { - PlayerData.get(event.getPlayer()).getInventory().scheduleUpdate(); - } + /** + * Update the player's inventory whenever he levels up + * since it could change its current stat requirements + */ + @EventHandler + public void a(LevelUpEvent event) { + PlayerData.get(event.getPlayer()).getInventory().scheduleUpdate(); + } - @EventHandler - public void b(LevelDownEvent event) { - PlayerData.get(event.getPlayer()).getInventory().scheduleUpdate(); - } + @EventHandler + public void b(LevelDownEvent event) { + PlayerData.get(event.getPlayer()).getInventory().scheduleUpdate(); + } - public static class RacePlayer extends RPGPlayer { - private final RaCPlayer info; + public static class RacePlayer extends RPGPlayer { + private final RaCPlayer info; - public RacePlayer(PlayerData playerData) { - super(playerData); + public RacePlayer(PlayerData playerData) { + super(playerData); - info = RaCPlayerManager.get().getPlayer(playerData.getUniqueId()); - } + info = RaCPlayerManager.get().getPlayer(playerData.getUniqueId()); + } - @Override - public int getLevel() { - return info.getCurrentLevel(); - } + @Override + public int getLevel() { + return info.getCurrentLevel(); + } - @Override - public String getClassName() { - return info.getclass().getDisplayName(); - } + @Override + public String getClassName() { + return info.getclass().getDisplayName(); + } - @Override - public double getMana() { - return info.getCurrentMana(); - } + @Override + public double getMana() { + return info.getCurrentMana(); + } - @Override - public double getStamina() { - return info.getPlayer().getFoodLevel(); - } + @Override + public double getStamina() { + return info.getPlayer().getFoodLevel(); + } - @Override - public void setMana(double value) { - info.getManaManager().fillMana(value - info.getManaManager().getCurrentMana()); - } + @Override + public void setMana(double value) { + info.getManaManager().fillMana(value - info.getManaManager().getCurrentMana()); + } - @Override - public void setStamina(double value) { - info.getPlayer().setFoodLevel((int) value); - } - } + @Override + public void setStamina(double value) { + info.getPlayer().setFoodLevel((int) value); + } + } } diff --git a/src/main/java/net/Indyuce/mmoitems/comp/rpg/SkillAPIHook.java b/src/main/java/net/Indyuce/mmoitems/comp/rpg/SkillAPIHook.java index 2d71e5a9..48912d1e 100644 --- a/src/main/java/net/Indyuce/mmoitems/comp/rpg/SkillAPIHook.java +++ b/src/main/java/net/Indyuce/mmoitems/comp/rpg/SkillAPIHook.java @@ -4,15 +4,13 @@ import com.sucy.skill.SkillAPI; import com.sucy.skill.api.event.PlayerLevelUpEvent; import com.sucy.skill.api.event.SkillDamageEvent; import com.sucy.skill.api.player.PlayerData; -import net.Indyuce.mmoitems.ItemStats; -import net.Indyuce.mmoitems.api.player.RPGPlayer; import io.lumine.mythic.lib.MythicLib; import io.lumine.mythic.lib.api.AttackResult; import io.lumine.mythic.lib.api.DamageHandler; import io.lumine.mythic.lib.api.DamageType; import io.lumine.mythic.lib.api.RegisteredAttack; +import net.Indyuce.mmoitems.api.player.RPGPlayer; import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -22,90 +20,88 @@ import java.util.HashMap; import java.util.Map; public class SkillAPIHook implements RPGHandler, Listener, DamageHandler { - private final Map damageInfo = new HashMap<>(); + private final Map damageInfo = new HashMap<>(); - public SkillAPIHook() { - MythicLib.plugin.getDamage().registerHandler(this); - } + public SkillAPIHook() { + MythicLib.plugin.getDamage().registerHandler(this); + } - @Override - public RPGPlayer getInfo(net.Indyuce.mmoitems.api.player.PlayerData data) { - return new SkillAPIPlayer(data); - } + @Override + public RPGPlayer getInfo(net.Indyuce.mmoitems.api.player.PlayerData data) { + return new SkillAPIPlayer(data); + } - @Override - public RegisteredAttack getDamage(Entity entity) { - return damageInfo.get(entity.getEntityId()); - } + @Override + public RegisteredAttack getDamage(Entity entity) { + return damageInfo.get(entity.getEntityId()); + } - @Override - public boolean hasDamage(Entity entity) { - return damageInfo.containsKey(entity.getEntityId()); - } + @Override + public boolean hasDamage(Entity entity) { + return damageInfo.containsKey(entity.getEntityId()); + } - @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) - public void a(SkillDamageEvent event) { - damageInfo.put(event.getTarget().getEntityId(), new RegisteredAttack(new AttackResult(event.getDamage(), DamageType.SKILL), event.getDamager())); + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void a(SkillDamageEvent event) { + damageInfo.put(event.getTarget().getEntityId(), new RegisteredAttack(new AttackResult(event.getDamage(), DamageType.SKILL), event.getDamager())); + } - if (event.getDamager() instanceof Player) - event.setDamage(event.getDamage() * (1 + net.Indyuce.mmoitems.api.player.PlayerData.get((Player) event.getDamager()).getStats().getStat(ItemStats.MAGIC_DAMAGE) / 100)); + @EventHandler(priority = EventPriority.MONITOR) + public void c(EntityDamageByEntityEvent event) { + damageInfo.remove(event.getEntity().getEntityId()); + } - if (event.getTarget() instanceof Player) - event.setDamage(event.getDamage() * (1 - net.Indyuce.mmoitems.api.player.PlayerData.get((Player) event.getTarget()).getStats().getStat(ItemStats.MAGIC_DAMAGE_REDUCTION) / 100)); - } + @EventHandler + public void b(PlayerLevelUpEvent event) { + net.Indyuce.mmoitems.api.player.PlayerData.get(event.getPlayerData().getPlayer()).getInventory().scheduleUpdate(); + } - @EventHandler(priority = EventPriority.MONITOR) - public void c(EntityDamageByEntityEvent event) { - damageInfo.remove(event.getEntity().getEntityId()); - } + @Override + public void refreshStats(net.Indyuce.mmoitems.api.player.PlayerData data) { + } - @EventHandler - public void b(PlayerLevelUpEvent event) { - net.Indyuce.mmoitems.api.player.PlayerData.get(event.getPlayerData().getPlayer()).getInventory().scheduleUpdate(); - } + public static class SkillAPIPlayer extends RPGPlayer { + /*private final PlayerData rpgdata;*/ - @Override - public void refreshStats(net.Indyuce.mmoitems.api.player.PlayerData data) { - } + public SkillAPIPlayer(net.Indyuce.mmoitems.api.player.PlayerData playerData) { + super(playerData); - public static class SkillAPIPlayer extends RPGPlayer { - private final PlayerData rpgdata; + /*rpgdata = SkillAPI.getPlayerData(playerData.getPlayer());*/ + } - public SkillAPIPlayer(net.Indyuce.mmoitems.api.player.PlayerData playerData) { - super(playerData); + @Override + public int getLevel() { + PlayerData rpgdata = SkillAPI.getPlayerData(getPlayer()); + return rpgdata.hasClass() ? rpgdata.getMainClass().getLevel() : 0; + } - rpgdata = SkillAPI.getPlayerData(playerData.getPlayer()); - } + @Override + public String getClassName() { + PlayerData rpgdata = SkillAPI.getPlayerData(getPlayer()); + return rpgdata.hasClass() ? rpgdata.getMainClass().getData().getName() : ""; + } - @Override - public int getLevel() { - return rpgdata.hasClass() ? rpgdata.getMainClass().getLevel() : 0; - } + @Override + public double getMana() { + PlayerData rpgdata = SkillAPI.getPlayerData(getPlayer()); + return rpgdata.hasClass() ? rpgdata.getMana() : 0; + } - @Override - public String getClassName() { - return rpgdata.hasClass() ? rpgdata.getMainClass().getData().getName() : ""; - } + @Override + public double getStamina() { + return getPlayer().getFoodLevel(); + } - @Override - public double getMana() { - return rpgdata.hasClass() ? rpgdata.getMana() : 0; - } + @Override + public void setMana(double value) { + PlayerData rpgdata = SkillAPI.getPlayerData(getPlayer()); + if (rpgdata.hasClass()) + rpgdata.setMana(value); + } - @Override - public double getStamina() { - return getPlayer().getFoodLevel(); - } - - @Override - public void setMana(double value) { - if (rpgdata.hasClass()) - rpgdata.setMana(value); - } - - @Override - public void setStamina(double value) { - getPlayer().setFoodLevel((int) value); - } - } + @Override + public void setStamina(double value) { + getPlayer().setFoodLevel((int) value); + } + } } \ No newline at end of file