Improved Power Stone

This commit is contained in:
Timo Ley 2019-05-14 19:47:03 +02:00
parent 8f2d1a7b59
commit 69ff7c2fb1
3 changed files with 33 additions and 3 deletions

View file

@ -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);
}
}
}

View file

@ -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;
}
}

View file

@ -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")));
}