forked from tilera/infinity-craft
Improved Power Stone
This commit is contained in:
parent
8f2d1a7b59
commit
69ff7c2fb1
3 changed files with 33 additions and 3 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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")));
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue