Made it so that when you acquire a Living Armour Upgrade from a Tome, it raises the corresponding Stat Tracker up to that upgrade level.

This commit is contained in:
WayofTime 2016-09-30 16:49:56 -04:00
parent 7a42968633
commit d1a7a77034
24 changed files with 393 additions and 85 deletions

View file

@ -1,3 +1,8 @@
------------------------------------------------------
Version 2.1.0-66
------------------------------------------------------
- Made it so that when you acquire a Living Armour Upgrade from a Tome, it raises the corresponding Stat Tracker up to that upgrade level.
------------------------------------------------------
Version 2.1.0-65
------------------------------------------------------

View file

@ -1,11 +1,11 @@
package WayofTime.bloodmagic.api.livingArmour;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.List;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
public abstract class StatTracker
{
@ -43,9 +43,9 @@ public abstract class StatTracker
/**
* Used to obtain the progress from the current level to the next level.
*
*
* 0.0 being 0% - 1.0 being 100%.
*
*
* @param livingArmour
* The equipped LivingArmour
* @return the progress from the current level to the next level.
@ -71,4 +71,6 @@ public abstract class StatTracker
}
public abstract boolean providesUpgrade(String key);
public abstract void onArmourUpgradeAdded(LivingArmourUpgrade upgrade);
}

View file

@ -113,6 +113,11 @@ public class LivingArmour implements ILivingArmour
upgradeMap.put(key, upgrade);
totalUpgradePoints += upgradePointDifference;
notifyPlayerOfUpgrade(user, upgrade);
for (StatTracker tracker : trackerMap.values())
{
tracker.onArmourUpgradeAdded(upgrade);
}
return true;
}
}
@ -124,6 +129,11 @@ public class LivingArmour implements ILivingArmour
upgradeMap.put(key, upgrade);
totalUpgradePoints += upgradePoints;
notifyPlayerOfUpgrade(user, upgrade);
for (StatTracker tracker : trackerMap.values())
{
tracker.onArmourUpgradeAdded(upgrade);
}
return true;
}
}

View file

@ -107,4 +107,18 @@ public class StatTrackerArrowProtect extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.arrowProtect");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeArrowProtect)
{
int level = upgrade.getUpgradeLevel();
if (level < damageRequired.length)
{
totalDamage = Math.max(totalDamage, damageRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -1,18 +1,18 @@
package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeArrowShot;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class StatTrackerArrowShot extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerArrowShot extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.arrowShot");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeArrowShot)
{
int level = upgrade.getUpgradeLevel();
if (level < shotsRequired.length)
{
totalShots = Math.max(totalShots, shotsRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@ -13,6 +12,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeCriticalStrike;
import WayofTime.bloodmagic.util.Utils;
public class StatTrackerCriticalStrike extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerCriticalStrike extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.criticalStrike");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeCriticalStrike)
{
int level = upgrade.getUpgradeLevel();
if (level < damageRequired.length)
{
totalDamageDealt = Math.max(totalDamageDealt, damageRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -1,18 +1,18 @@
package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeDigging;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class StatTrackerDigging extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerDigging extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.digging");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeDigging)
{
int level = upgrade.getUpgradeLevel();
if (level < blocksRequired.length)
{
totalBlocksDug = Math.max(totalBlocksDug, blocksRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@ -13,6 +12,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeExperience;
import WayofTime.bloodmagic.util.Utils;
public class StatTrackerExperience extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerExperience extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.experienced");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeExperience)
{
int level = upgrade.getUpgradeLevel();
if (level < experienceRequired.length)
{
totalExperienceGained = Math.max(totalExperienceGained, experienceRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@ -13,6 +12,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeFallProtect;
import WayofTime.bloodmagic.util.Utils;
public class StatTrackerFallProtect extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerFallProtect extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.fallProtect");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeFallProtect)
{
int level = upgrade.getUpgradeLevel();
if (level < damageRequired.length)
{
totalDamage = Math.max(totalDamage, damageRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -3,7 +3,6 @@ package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.List;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@ -12,6 +11,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeFireResist;
import WayofTime.bloodmagic.util.Utils;
public class StatTrackerFireResist extends StatTracker
{
@ -89,4 +89,18 @@ public class StatTrackerFireResist extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.fireResist");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeFireResist)
{
int level = upgrade.getUpgradeLevel();
if (level < fireTicksRequired.length)
{
totalFireTicks = Math.max(totalFireTicks, fireTicksRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -1,19 +1,19 @@
package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeKnockbackResist;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class StatTrackerFood extends StatTracker
{
@ -109,4 +109,18 @@ public class StatTrackerFood extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.knockback");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeKnockbackResist)
{
int level = upgrade.getUpgradeLevel();
if (level < foodRequired.length)
{
foodEaten = Math.max(foodEaten, foodRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@ -13,6 +12,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeGraveDigger;
import WayofTime.bloodmagic.util.Utils;
public class StatTrackerGraveDigger extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerGraveDigger extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.graveDigger");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeGraveDigger)
{
int level = upgrade.getUpgradeLevel();
if (level < damageRequired.length)
{
totalDamageDealt = Math.max(totalDamageDealt, damageRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -1,18 +1,18 @@
package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeGrimReaperSprint;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class StatTrackerGrimReaperSprint extends StatTracker
{
@ -114,4 +114,18 @@ public class StatTrackerGrimReaperSprint extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.grimReaper");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeGrimReaperSprint)
{
int level = upgrade.getUpgradeLevel();
if (level < deathsRequired.length)
{
totalDeaths = Math.max(totalDeaths, deathsRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -1,18 +1,18 @@
package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeHealthboost;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class StatTrackerHealthboost extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerHealthboost extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.health");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeHealthboost)
{
int level = upgrade.getUpgradeLevel();
if (level < healthedRequired.length)
{
totalHealthGenned = Math.max(totalHealthGenned, healthedRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@ -13,6 +12,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeJump;
import WayofTime.bloodmagic.util.Utils;
public class StatTrackerJump extends StatTracker
{
@ -108,4 +108,18 @@ public class StatTrackerJump extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.jump");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeJump)
{
int level = upgrade.getUpgradeLevel();
if (level < jumpsRequired.length)
{
totalJumps = Math.max(totalJumps, jumpsRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -1,18 +1,18 @@
package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeMeleeDamage;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class StatTrackerMeleeDamage extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerMeleeDamage extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.meleeDamage");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeMeleeDamage)
{
int level = upgrade.getUpgradeLevel();
if (level < damageRequired.length)
{
totalDamageDealt = Math.max(totalDamageDealt, damageRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -1,19 +1,19 @@
package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeSpeed;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class StatTrackerMovement extends StatTracker
{
@ -117,4 +117,18 @@ public class StatTrackerMovement extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.movement");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeSpeed)
{
int level = upgrade.getUpgradeLevel();
if (level < blocksRequired.length)
{
totalMovement = Math.max(totalMovement, blocksRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -130,4 +130,19 @@ public class StatTrackerNightSight extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.nightSight");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeNightSight)
{
int level = upgrade.getUpgradeLevel();
if (level < damageRequired.length)
{
totalDamageDealt = Math.max(totalDamageDealt, damageRequired[level]);
totalNightVision = neededNightVision;
this.markDirty();
}
}
}
}

View file

@ -1,18 +1,18 @@
package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradePhysicalProtect;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class StatTrackerPhysicalProtect extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerPhysicalProtect extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.physicalProtect");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradePhysicalProtect)
{
int level = upgrade.getUpgradeLevel();
if (level < damageRequired.length)
{
totalDamage = Math.max(totalDamage, damageRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -3,7 +3,6 @@ package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.List;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.nbt.NBTTagCompound;
@ -13,6 +12,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradePoisonResist;
import WayofTime.bloodmagic.util.Utils;
public class StatTrackerPoison extends StatTracker
{
@ -90,4 +90,18 @@ public class StatTrackerPoison extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.poisonResist");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradePoisonResist)
{
int level = upgrade.getUpgradeLevel();
if (level < poisonTicksRequired.length)
{
totalPoisonTicks = Math.max(totalPoisonTicks, poisonTicksRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -1,18 +1,18 @@
package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeSelfSacrifice;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class StatTrackerSelfSacrifice extends StatTracker
{
@ -108,4 +108,18 @@ public class StatTrackerSelfSacrifice extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.selfSacrifice");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeSelfSacrifice)
{
int level = upgrade.getUpgradeLevel();
if (level < sacrificesRequired.length)
{
totalSacrifices = Math.max(totalSacrifices, sacrificesRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -1,18 +1,18 @@
package WayofTime.bloodmagic.livingArmour.tracker;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeSolarPowered;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class StatTrackerSolarPowered extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerSolarPowered extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.solarPowered");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeSolarPowered)
{
int level = upgrade.getUpgradeLevel();
if (level < healthedRequired.length)
{
totalHealthGenned = Math.max(totalHealthGenned, healthedRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import WayofTime.bloodmagic.util.Utils;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
@ -13,6 +12,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
import WayofTime.bloodmagic.api.livingArmour.StatTracker;
import WayofTime.bloodmagic.livingArmour.LivingArmour;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeSprintAttack;
import WayofTime.bloodmagic.util.Utils;
public class StatTrackerSprintAttack extends StatTracker
{
@ -107,4 +107,18 @@ public class StatTrackerSprintAttack extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.sprintAttack");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeSprintAttack)
{
int level = upgrade.getUpgradeLevel();
if (level < damageRequired.length)
{
totalDamageDealt = Math.max(totalDamageDealt, damageRequired[level]);
this.markDirty();
}
}
}
}

View file

@ -117,4 +117,14 @@ public class StatTrackerStepAssist extends StatTracker
{
return key.equals(Constants.Mod.MODID + ".upgrade.stepAssist");
}
@Override
public void onArmourUpgradeAdded(LivingArmourUpgrade upgrade)
{
if (upgrade instanceof LivingArmourUpgradeStepAssist)
{
totalMovement = Math.max(totalMovement, blocksRequired);
this.markDirty();
}
}
}