diff --git a/src/main/java/anvil/infinity/abilities/AbilitySaturation.java b/src/main/java/anvil/infinity/abilities/AbilitySaturation.java new file mode 100644 index 0000000..43f0e45 --- /dev/null +++ b/src/main/java/anvil/infinity/abilities/AbilitySaturation.java @@ -0,0 +1,20 @@ +package anvil.infinity.abilities; + +import lucraft.mods.lucraftcore.superpowers.abilities.AbilityConstant; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; + +public class AbilitySaturation extends AbilityConstant { + + public AbilitySaturation(EntityLivingBase entity) { + super(entity); + } + + @Override + public void updateTick() { + if (entity instanceof EntityPlayer) { + ((EntityPlayer) entity).getFoodStats().setFoodLevel(20); + } + } + +} diff --git a/src/main/java/anvil/infinity/items/ItemPowerStone.java b/src/main/java/anvil/infinity/items/ItemPowerStone.java index b363290..60050ca 100644 --- a/src/main/java/anvil/infinity/items/ItemPowerStone.java +++ b/src/main/java/anvil/infinity/items/ItemPowerStone.java @@ -1,18 +1,19 @@ package anvil.infinity.items; import anvil.infinity.abilities.AbilityHasPowerStone; +import anvil.infinity.abilities.AbilitySaturation; import lucraft.mods.lucraftcore.infinity.EnumInfinityStone; import lucraft.mods.lucraftcore.infinity.ModuleInfinity; import lucraft.mods.lucraftcore.infinity.items.ItemInfinityStone; import lucraft.mods.lucraftcore.superpowers.abilities.*; +import lucraft.mods.lucraftcore.superpowers.abilities.supplier.IAbilityProvider; import lucraft.mods.lucraftcore.util.helper.StringHelper; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import java.awt.*; -import java.util.UUID; -public class ItemPowerStone extends ItemInfinityStone { +public class ItemPowerStone extends ItemInfinityStone implements IAbilityProvider { public ItemPowerStone(String name) { this.setTranslationKey(name); @@ -39,6 +40,7 @@ public class ItemPowerStone extends ItemInfinityStone { abilities.put("strength", new AbilityStrength(entity).setDataValue(AbilityAttributeModifier.AMOUNT, Float.MAX_VALUE)); abilities.put("damage", new AbilityPunch(entity).setDataValue(AbilityPunch.AMOUNT, Float.MAX_VALUE)); abilities.put("resistance", new AbilityDamageResistance(entity).setDataValue(AbilityAttributeModifier.AMOUNT, Float.MAX_VALUE)); + abilities.put("saturation", new AbilitySaturation(entity)); return super.addStoneAbilities(entity, abilities, context); } @@ -47,5 +49,12 @@ public class ItemPowerStone extends ItemInfinityStone { return Integer.MAX_VALUE; } - + @Override + public Ability.AbilityMap addDefaultAbilities(EntityLivingBase entity, Ability.AbilityMap abilities, Ability.EnumAbilityContext context) { + abilities.put("blast", new AbilityEnergyBlast(entity).setDataValue(AbilityEnergyBlast.DAMAGE, Float.MAX_VALUE).setDataValue(AbilityEnergyBlast.COLOR, Color.MAGENTA)); + abilities.put("strength", new AbilityStrength(entity).setDataValue(AbilityAttributeModifier.AMOUNT, Float.MAX_VALUE)); + abilities.put("damage", new AbilityPunch(entity).setDataValue(AbilityPunch.AMOUNT, Float.MAX_VALUE)); + abilities.put("resistance", new AbilityDamageResistance(entity).setDataValue(AbilityAttributeModifier.AMOUNT, Float.MAX_VALUE)); + return abilities; + } } diff --git a/src/main/java/anvil/infinity/registry/Abilities.java b/src/main/java/anvil/infinity/registry/Abilities.java index 313b696..7dc9b81 100644 --- a/src/main/java/anvil/infinity/registry/Abilities.java +++ b/src/main/java/anvil/infinity/registry/Abilities.java @@ -22,6 +22,7 @@ public class Abilities { e.getRegistry().register(new AbilityEntry(AbilityHasTimeStone.class, new ResourceLocation(Infinity.MOD_ID, "time"))); e.getRegistry().register(new AbilityEntry(AbilityHasMindStone.class, new ResourceLocation(Infinity.MOD_ID, "mind"))); e.getRegistry().register(new AbilityEntry(AbilityChangeSnap.class, new ResourceLocation(Infinity.MOD_ID, "changesnap"))); + e.getRegistry().register(new AbilityEntry(AbilitySaturation.class, new ResourceLocation(Infinity.MOD_ID, "saturation"))); }