@@ -0,0 +1,662 @@
+package temportalist.esotericraft.api.galvanize;%0A%0Aimport net.minecraft.entity.EntityLivingBase;%0Aimport net.minecraft.nbt.NBTBase;%0Aimport net.minecraftforge.common.util.INBTSerializable;%0A%0A/**%0A * Created by TheTemportalist on 5/17/2016.%0A *%0A * @author TheTemportalist%0A */%0Apublic interface IAbility%3CN extends NBTBase%3E extends INBTSerializable%3CN%3E %7B%0A%0A%09@interface Ability %7B%0A%0A%09%09String id();%0A%0A%09%7D%0A%0A%09String getName();%0A%0A%09void parseMappingArguments(Object%5B%5D args);%0A%0A%09String%5B%5D encodeMappingArguments();%0A%0A%09void onApplicationTo(EntityLivingBase entity);%0A%0A%09void onUpdate(EntityLivingBase entity);%0A%0A%09void onRemovalFrom(EntityLivingBase entity);%0A%0A%09void deserialize(NBTBase nbt);%0A%7D%0A

Create ability interface and annotation