diff --git a/src/main/java/vazkii/botania/api/item/IAncientWillContainer.java b/src/main/java/vazkii/botania/api/item/IAncientWillContainer.java new file mode 100644 index 000000000..b563e696c --- /dev/null +++ b/src/main/java/vazkii/botania/api/item/IAncientWillContainer.java @@ -0,0 +1,25 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under the + * Botania License: http://botaniamod.net/license.php + * + * File Created @ [Jan 30, 2015, 11:24:54 PM (GMT)] + */ +package vazkii.botania.api.item; + +import net.minecraft.item.ItemStack; + +/** + * An item that implements this can have Ancient Wills + * crafted onto it. + */ +public interface IAncientWillContainer { + + public void addAncientWill(ItemStack stack, int will); + + public boolean hasAncientWill(ItemStack stack, int will); + +} diff --git a/src/main/java/vazkii/botania/client/core/handler/BaubleRenderHandler.java b/src/main/java/vazkii/botania/client/core/handler/BaubleRenderHandler.java index 5c352c7a0..a6ebeb7ec 100644 --- a/src/main/java/vazkii/botania/client/core/handler/BaubleRenderHandler.java +++ b/src/main/java/vazkii/botania/client/core/handler/BaubleRenderHandler.java @@ -30,6 +30,8 @@ import vazkii.botania.api.item.IBaubleRender.Helper; import vazkii.botania.api.item.IBaubleRender.RenderType; import vazkii.botania.common.core.handler.ConfigHandler; import vazkii.botania.common.item.ModItems; +import vazkii.botania.common.item.equipment.armor.elementium.ItemElementiumHelm; +import vazkii.botania.common.item.equipment.armor.terrasteel.ItemTerrasteelHelm; import baubles.common.container.InventoryBaubles; import baubles.common.lib.PlayerHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -57,6 +59,10 @@ public final class BaubleRenderHandler { GL11.glRotatef(yaw - 270, 0, 1, 0); GL11.glRotatef(pitch, 0, 0, 1); dispatchRenders(inv, event, RenderType.HEAD); + + ItemStack helm = player.inventory.armorItemInSlot(3); + if(helm != null && helm.getItem() instanceof ItemTerrasteelHelm) + ItemTerrasteelHelm.renderOnPlayer(helm, event); GL11.glPopMatrix(); } diff --git a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java index a2c2f4821..8fd1e14fa 100644 --- a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java +++ b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java @@ -224,14 +224,6 @@ public final class BotaniaCreativeTab extends CreativeTabs { addItem(ModItems.manasteelChest); addItem(ModItems.manasteelLegs); addItem(ModItems.manasteelBoots); - addItem(ModItems.terraSword); - addItem(ModItems.terraPick); - addItem(ModItems.terrasteelHelm); - if(Botania.thaumcraftLoaded) - addItem(ModItems.terrasteelHelmRevealing); - addItem(ModItems.terrasteelChest); - addItem(ModItems.terrasteelLegs); - addItem(ModItems.terrasteelBoots); addItem(ModItems.elementiumPick); addItem(ModItems.elementiumShovel); addItem(ModItems.elementiumAxe); @@ -243,7 +235,16 @@ public final class BotaniaCreativeTab extends CreativeTabs { addItem(ModItems.elementiumChest); addItem(ModItems.elementiumLegs); addItem(ModItems.elementiumBoots); - + addItem(ModItems.terraSword); + addItem(ModItems.terraPick); + addItem(ModItems.terrasteelHelm); + if(Botania.thaumcraftLoaded) + addItem(ModItems.terrasteelHelmRevealing); + addItem(ModItems.terrasteelChest); + addItem(ModItems.terrasteelLegs); + addItem(ModItems.terrasteelBoots); + addItem(ModItems.ancientWill); + addItem(ModItems.tinyPlanet); addBlock(ModBlocks.tinyPlanet); addItem(ModItems.manaRing); diff --git a/src/main/java/vazkii/botania/common/crafting/recipe/AncientWillRecipe.java b/src/main/java/vazkii/botania/common/crafting/recipe/AncientWillRecipe.java new file mode 100644 index 000000000..7aa8d57cf --- /dev/null +++ b/src/main/java/vazkii/botania/common/crafting/recipe/AncientWillRecipe.java @@ -0,0 +1,78 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under the + * Botania License: http://botaniamod.net/license.php + * + * File Created @ [Jan 30, 2015, 11:24:08 PM (GMT)] + */ +package vazkii.botania.common.crafting.recipe; + +import vazkii.botania.api.item.IAncientWillContainer; +import vazkii.botania.api.mana.ILens; +import vazkii.botania.common.item.ModItems; +import vazkii.botania.common.item.lens.ItemLens; +import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.IRecipe; +import net.minecraft.world.World; + +public class AncientWillRecipe implements IRecipe { + + @Override + public boolean matches(InventoryCrafting var1, World var2) { + boolean foundWill = false; + boolean foundItem = false; + + for(int i = 0; i < var1.getSizeInventory(); i++) { + ItemStack stack = var1.getStackInSlot(i); + if(stack != null) { + if(stack.getItem() == ModItems.ancientWill && !foundWill) + foundWill = true; + else if(!foundItem) { + if(stack.getItem() instanceof IAncientWillContainer) + foundItem = true; + else return false; + } + } + } + + return foundWill && foundItem; + } + + @Override + public ItemStack getCraftingResult(InventoryCrafting var1) { + ItemStack item = null; + int will = -1; + + for(int i = 0; i < var1.getSizeInventory(); i++) { + ItemStack stack = var1.getStackInSlot(i); + if(stack != null) { + if(stack.getItem() instanceof IAncientWillContainer && item == null) + item = stack; + else will = stack.getItemDamage(); + } + } + + IAncientWillContainer container = (IAncientWillContainer) item.getItem(); + if(container.hasAncientWill(item, will)) + return null; + + ItemStack copy = item.copy(); + container.addAncientWill(copy, will); + return copy; + } + + @Override + public int getRecipeSize() { + return 10; + } + + @Override + public ItemStack getRecipeOutput() { + return null; + } + +} diff --git a/src/main/java/vazkii/botania/common/entity/EntityDoppleganger.java b/src/main/java/vazkii/botania/common/entity/EntityDoppleganger.java index 4285a4714..20907b834 100644 --- a/src/main/java/vazkii/botania/common/entity/EntityDoppleganger.java +++ b/src/main/java/vazkii/botania/common/entity/EntityDoppleganger.java @@ -301,7 +301,7 @@ public class EntityDoppleganger extends EntityCreature implements IBotaniaBossWi entityDropItem(new ItemStack(ModItems.manaResource, hard ? 16 : 8, 5), 1F); if(hard) { - // TODO Add Will Drops + entityDropItem(new ItemStack(ModItems.ancientWill, 1, rand.nextInt(6)), 1F); if(Math.random() < 0.25) entityDropItem(new ItemStack(ModItems.overgrowthSeed, rand.nextInt(3) + 1), 1F); if(Math.random() < 0.5) { diff --git a/src/main/java/vazkii/botania/common/item/ItemAncientWill.java b/src/main/java/vazkii/botania/common/item/ItemAncientWill.java new file mode 100644 index 000000000..02040fbf4 --- /dev/null +++ b/src/main/java/vazkii/botania/common/item/ItemAncientWill.java @@ -0,0 +1,78 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under the + * Botania License: http://botaniamod.net/license.php + * + * File Created @ [Jan 30, 2015, 10:59:45 PM (GMT)] + */ +package vazkii.botania.common.item; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraftforge.oredict.RecipeSorter; +import net.minecraftforge.oredict.RecipeSorter.Category; +import vazkii.botania.client.core.helper.IconHelper; +import vazkii.botania.common.crafting.recipe.AncientWillRecipe; +import vazkii.botania.common.lib.LibItemNames; +import cpw.mods.fml.common.registry.GameRegistry; + +public class ItemAncientWill extends ItemMod { + + private static final int SUBTYPES = 6; + + IIcon[] icons; + + public ItemAncientWill() { + setUnlocalizedName(LibItemNames.ANCIENT_WILL); + setHasSubtypes(true); + setMaxStackSize(1); + + GameRegistry.addRecipe(new AncientWillRecipe()); + RecipeSorter.register("botania:ancientWill", AncientWillRecipe.class, Category.SHAPELESS, ""); + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for(int i = 0; i < SUBTYPES; i++) + list.add(new ItemStack(item, 1, i)); + } + + @Override + public void registerIcons(IIconRegister par1IconRegister) { + icons = new IIcon[SUBTYPES]; + for(int i = 0; i < icons.length; i++) + icons[i] = IconHelper.forItem(par1IconRegister, this, i); + } + + @Override + public IIcon getIconFromDamage(int dmg) { + return icons[Math.min(icons.length - 1, dmg)]; + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean adv) { + addStringToTooltip(StatCollector.translateToLocal("botaniamisc.craftToAddWill"), list); + addStringToTooltip(StatCollector.translateToLocal("botania.armorset.will" + stack.getItemDamage() + ".shortDesc"), list); + } + + public void addStringToTooltip(String s, List tooltip) { + tooltip.add(s.replaceAll("&", "\u00a7")); + } + + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) { + return super.getUnlocalizedName(par1ItemStack) + par1ItemStack.getItemDamage(); + } + + +} diff --git a/src/main/java/vazkii/botania/common/item/ModItems.java b/src/main/java/vazkii/botania/common/item/ModItems.java index d5582d483..f4a4333a3 100644 --- a/src/main/java/vazkii/botania/common/item/ModItems.java +++ b/src/main/java/vazkii/botania/common/item/ModItems.java @@ -200,6 +200,7 @@ public final class ModItems { public static Item thornChakram; public static Item overgrowthSeed; public static Item craftPattern; + public static Item ancientWill; public static void init() { lexicon = new ItemLexicon(); @@ -308,6 +309,7 @@ public final class ModItems { thornChakram = new ItemThornChakram(); overgrowthSeed = new ItemOvergrowthSeed(); craftPattern = new ItemCraftPattern(); + ancientWill = new ItemAncientWill(); OreDictionary.registerOre(LibOreDict.LEXICON, lexicon); for(int i = 0; i < 16; i++) { diff --git a/src/main/java/vazkii/botania/common/item/equipment/armor/elementium/ItemElementiumArmor.java b/src/main/java/vazkii/botania/common/item/equipment/armor/elementium/ItemElementiumArmor.java index 36dae2c3b..24cdcedc9 100644 --- a/src/main/java/vazkii/botania/common/item/equipment/armor/elementium/ItemElementiumArmor.java +++ b/src/main/java/vazkii/botania/common/item/equipment/armor/elementium/ItemElementiumArmor.java @@ -61,8 +61,8 @@ public abstract class ItemElementiumArmor extends ItemManasteelArmor implements return StatCollector.translateToLocal("botania.armorset.elementium.name"); } - public void addArmorSetDescription(List list) { - super.addArmorSetDescription(list); + public void addArmorSetDescription(ItemStack stack, List list) { + super.addArmorSetDescription(stack, list); addStringToTooltip(StatCollector.translateToLocal("botania.armorset.elementium.desc"), list); } diff --git a/src/main/java/vazkii/botania/common/item/equipment/armor/manasteel/ItemManasteelArmor.java b/src/main/java/vazkii/botania/common/item/equipment/armor/manasteel/ItemManasteelArmor.java index fb5b25c44..23675618f 100644 --- a/src/main/java/vazkii/botania/common/item/equipment/armor/manasteel/ItemManasteelArmor.java +++ b/src/main/java/vazkii/botania/common/item/equipment/armor/manasteel/ItemManasteelArmor.java @@ -114,7 +114,7 @@ public class ItemManasteelArmor extends ItemArmor implements ISpecialArmor, IMan public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean adv) { if(GuiScreen.isShiftKeyDown()) { addStringToTooltip(getArmorSetTitle(player), list); - addArmorSetDescription(list); + addArmorSetDescription(stack, list); ItemStack[] stacks = getArmorSetStacks(); for(int i = 0; i < stacks.length; i++) addStringToTooltip((hasArmorSetItem(player, i) ? EnumChatFormatting.GREEN : "") + " - " + stacks[i].getDisplayName(), list); @@ -175,7 +175,7 @@ public class ItemManasteelArmor extends ItemArmor implements ISpecialArmor, IMan return StatCollector.translateToLocal("botaniamisc.armorset") + " " + getArmorSetName() + " (" + getSetPiecesEquipped(player) + "/" + getArmorSetStacks().length + ")"; } - public void addArmorSetDescription(List list) { + public void addArmorSetDescription(ItemStack stack, List list) { addStringToTooltip(StatCollector.translateToLocal("botania.armorset.manasteel.desc"), list); } diff --git a/src/main/java/vazkii/botania/common/item/equipment/armor/terrasteel/ItemTerrasteelArmor.java b/src/main/java/vazkii/botania/common/item/equipment/armor/terrasteel/ItemTerrasteelArmor.java index 5254d305e..24418b60c 100644 --- a/src/main/java/vazkii/botania/common/item/equipment/armor/terrasteel/ItemTerrasteelArmor.java +++ b/src/main/java/vazkii/botania/common/item/equipment/armor/terrasteel/ItemTerrasteelArmor.java @@ -13,6 +13,7 @@ package vazkii.botania.common.item.equipment.armor.terrasteel; import java.util.List; import java.util.UUID; +import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; @@ -76,7 +77,8 @@ public class ItemTerrasteelArmor extends ItemManasteelArmor { return StatCollector.translateToLocal("botania.armorset.terrasteel.name"); } - public void addArmorSetDescription(List list) { + @Override + public void addArmorSetDescription(ItemStack stack, List list) { addStringToTooltip(StatCollector.translateToLocal("botania.armorset.terrasteel.desc0"), list); addStringToTooltip(StatCollector.translateToLocal("botania.armorset.terrasteel.desc1"), list); } diff --git a/src/main/java/vazkii/botania/common/item/equipment/armor/terrasteel/ItemTerrasteelHelm.java b/src/main/java/vazkii/botania/common/item/equipment/armor/terrasteel/ItemTerrasteelHelm.java index 10dd5cdc2..ab4f54140 100644 --- a/src/main/java/vazkii/botania/common/item/equipment/armor/terrasteel/ItemTerrasteelHelm.java +++ b/src/main/java/vazkii/botania/common/item/equipment/armor/terrasteel/ItemTerrasteelHelm.java @@ -10,22 +10,58 @@ */ package vazkii.botania.common.item.equipment.armor.terrasteel; +import java.util.List; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ItemRenderer; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderPlayerEvent; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.living.LivingHurtEvent; + +import org.lwjgl.opengl.GL11; + +import vazkii.botania.api.item.IAncientWillContainer; +import vazkii.botania.api.item.IBaubleRender.Helper; import vazkii.botania.api.mana.IManaDiscountArmor; +import vazkii.botania.client.core.helper.IconHelper; +import vazkii.botania.common.core.helper.ItemNBTHelper; import vazkii.botania.common.lib.LibItemNames; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -public class ItemTerrasteelHelm extends ItemTerrasteelArmor implements IManaDiscountArmor { +public class ItemTerrasteelHelm extends ItemTerrasteelArmor implements IManaDiscountArmor, IAncientWillContainer { + private static final String TAG_ANCIENT_WILL = "AncientWill"; + static IIcon willIcon; + public ItemTerrasteelHelm() { this(LibItemNames.TERRASTEEL_HELM); + MinecraftForge.EVENT_BUS.register(this); } public ItemTerrasteelHelm(String name) { super(0, name); } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IconRegister) { + super.registerIcons(par1IconRegister); + willIcon = IconHelper.forName(par1IconRegister, "willFlame"); + } + @Override public void onArmorTick(World world, EntityPlayer player, ItemStack stack) { super.onArmorTick(world, player, stack); @@ -41,4 +77,83 @@ public class ItemTerrasteelHelm extends ItemTerrasteelArmor implements IManaDisc return hasArmorSet(player) ? 0.2F : 0F; } + @Override + public void addAncientWill(ItemStack stack, int will) { + ItemNBTHelper.setBoolean(stack, TAG_ANCIENT_WILL + will, true); + } + + @Override + public boolean hasAncientWill(ItemStack stack, int will) { + return hasAncientWill_(stack, will); + } + + public static boolean hasAncientWill_(ItemStack stack, int will) { + return ItemNBTHelper.getBoolean(stack, TAG_ANCIENT_WILL + will, false); + } + + @Override + @SideOnly(Side.CLIENT) + public void addArmorSetDescription(ItemStack stack, List list) { + super.addArmorSetDescription(stack, list); + for(int i = 0; i < 6; i++) + if(hasAncientWill(stack, i)) + addStringToTooltip(StatCollector.translateToLocal("botania.armorset.will" + i + ".desc"), list); + } + + public static boolean hasAnyWill(ItemStack stack) { + for(int i = 0; i < 6; i++) + if(hasAncientWill_(stack, i)) + return true; + + return false; + } + + @SideOnly(Side.CLIENT) + public static void renderOnPlayer(ItemStack stack, RenderPlayerEvent event) { + if(hasAnyWill(stack)) { + float f = willIcon.getMinU(); + float f1 = willIcon.getMaxU(); + float f2 = willIcon.getMinV(); + float f3 = willIcon.getMaxV(); + Helper.translateToHeadLevel(event.entityPlayer); + Minecraft.getMinecraft().renderEngine.bindTexture(TextureMap.locationItemsTexture); + GL11.glRotatef(90F, 0F, 1F, 0F); + GL11.glRotatef(180F, 1F, 0F, 0F); + GL11.glTranslatef(-0.26F, 0.3F, -0.29F); + GL11.glScalef(0.5F, 0.5F, 0.5F); + ItemRenderer.renderItemIn2D(Tessellator.instance, f1, f2, f, f3, willIcon.getIconWidth(), willIcon.getIconHeight(), 1F / 16F); + } + } + + @SubscribeEvent + public void onEntityAttacked(LivingHurtEvent event) { + Entity attacker = event.source.getEntity(); + if(attacker instanceof EntityPlayer) { + EntityPlayer player = ((EntityPlayer) attacker); + boolean crit = player.fallDistance > 0.0F && !player.onGround && !player.isOnLadder() && !player.isInWater() && !player.isPotionActive(Potion.blindness) && player.ridingEntity == null; + ItemStack stack = player.inventory.armorItemInSlot(3); + if(crit && stack != null && stack.getItem() instanceof ItemTerrasteelHelm) { + boolean ahrim = hasAncientWill(stack, 0); + boolean dharok = hasAncientWill(stack, 1); + boolean guthan = hasAncientWill(stack, 2); + boolean torag = hasAncientWill(stack, 3); + boolean verac = hasAncientWill(stack, 4); + boolean karil = hasAncientWill(stack, 5); + + if(ahrim) + event.entityLiving.addPotionEffect(new PotionEffect(Potion.weakness.id, 20, 1)); + if(dharok) + event.ammount *= (1F + (1F - player.getHealth() / player.getMaxHealth()) * 0.5F); + if(guthan) + player.heal(event.ammount * 0.25F); + if(torag) + event.entityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 60, 1)); + if(verac) + event.source.setDamageBypassesArmor(); + if(karil) + event.entityLiving.addPotionEffect(new PotionEffect(Potion.wither.id, 60, 1)); + } + } + } + } diff --git a/src/main/java/vazkii/botania/common/lib/LibItemNames.java b/src/main/java/vazkii/botania/common/lib/LibItemNames.java index 0a5f143e0..6e133db23 100644 --- a/src/main/java/vazkii/botania/common/lib/LibItemNames.java +++ b/src/main/java/vazkii/botania/common/lib/LibItemNames.java @@ -119,6 +119,7 @@ public final class LibItemNames { public static final String THORN_CHAKRAM = "thornChakram"; public static final String OVERGROWTH_SEED = "overgrowthSeed"; public static final String CRAFT_PATTERN = "craftPattern"; + public static final String ANCIENT_WILL = "ancientWill"; public static final String[] LENS_NAMES = new String[] { "lensNormal", diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index a5ee44510..61157287b 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -75,6 +75,7 @@ botaniamisc.lotusDesc=It emits strong magical vibes botaniamisc.hasClip=&6Has Lens Clip botaniamisc.clipEmpty=(Empty) botaniamisc.armorset=&bArmor Set&r: +botaniamisc.craftToAddWill=&aCraft with a Terrasteel Helmet to add the following effect: # NEI INTEGRATION botania.nei.brewery=Botanical Brewery @@ -136,6 +137,18 @@ botania.armorset.elementium.desc=Chance for pixies to apply potion effects botania.armorset.terrasteel.name=Will of the Ancients botania.armorset.terrasteel.desc0=20% less Mana cost on Mana Tools botania.armorset.terrasteel.desc1=Regen even if hunger isn't topped off +botania.armorset.will0.desc=Critical Hits apply a strong weakness effect (Will of Ahrim) +botania.armorset.will1.desc=Critical Hit damage increases with lower HP (Will of Dharok) +botania.armorset.will2.desc=Critical Hits heal for a portion of damage dealt (Will of Guthan) +botania.armorset.will3.desc=Critical Hits apply a strong slowness effect (Will of Torag) +botania.armorset.will4.desc=Critical Hits pierce through armor (Will of Verac) +botania.armorset.will5.desc=Critical Hits apply a wither effect (Will of Karil) +botania.armorset.will0.shortDesc=Critical Hits apply a strong weakness effect +botania.armorset.will1.shortDesc=Critical Hit damage increases with lower HP +botania.armorset.will2.shortDesc=Critical Hits heal for a portion of damage dealt +botania.armorset.will3.shortDesc=Critical Hits apply a strong slowness effect +botania.armorset.will4.shortDesc=Critical Hits pierce through armor +botania.armorset.will5.shortDesc=Critical Hits apply a wither effect # ROMAN NUMERALS botania.roman0= @@ -975,6 +988,12 @@ item.botania:craftPattern6.name=Crafting Pattern #7: 2x3 item.botania:craftPattern7.name=Crafting Pattern #8: 3x2 item.botania:craftPattern8.name=Crafting Pattern #9: Donut item.botania:gaiaIngot.name=Gaia Spirit Ingot +item.botania:ancientWill0.name=Will of Ahrim +item.botania:ancientWill1.name=Will of Dharok +item.botania:ancientWill2.name=Will of Guthan +item.botania:ancientWill3.name=Will of Torag +item.botania:ancientWill4.name=Will of Verac +item.botania:ancientWill5.name=Will of Karil # BREW NAMES botania.brew.fallback=Fallback diff --git a/src/main/resources/assets/botania/textures/items/unused/ancientWillAhrim1.png b/src/main/resources/assets/botania/textures/items/ancientWill0.png similarity index 100% rename from src/main/resources/assets/botania/textures/items/unused/ancientWillAhrim1.png rename to src/main/resources/assets/botania/textures/items/ancientWill0.png diff --git a/src/main/resources/assets/botania/textures/items/unused/ancientWillDharok1.png b/src/main/resources/assets/botania/textures/items/ancientWill1.png similarity index 100% rename from src/main/resources/assets/botania/textures/items/unused/ancientWillDharok1.png rename to src/main/resources/assets/botania/textures/items/ancientWill1.png diff --git a/src/main/resources/assets/botania/textures/items/unused/ancientWillGuthan1.png b/src/main/resources/assets/botania/textures/items/ancientWill2.png similarity index 100% rename from src/main/resources/assets/botania/textures/items/unused/ancientWillGuthan1.png rename to src/main/resources/assets/botania/textures/items/ancientWill2.png diff --git a/src/main/resources/assets/botania/textures/items/unused/ancientWillKaril1.png b/src/main/resources/assets/botania/textures/items/ancientWill3.png similarity index 100% rename from src/main/resources/assets/botania/textures/items/unused/ancientWillKaril1.png rename to src/main/resources/assets/botania/textures/items/ancientWill3.png diff --git a/src/main/resources/assets/botania/textures/items/unused/ancientWillTorag1.png b/src/main/resources/assets/botania/textures/items/ancientWill4.png similarity index 100% rename from src/main/resources/assets/botania/textures/items/unused/ancientWillTorag1.png rename to src/main/resources/assets/botania/textures/items/ancientWill4.png diff --git a/src/main/resources/assets/botania/textures/items/unused/ancientWillVerac1.png b/src/main/resources/assets/botania/textures/items/ancientWill5.png similarity index 100% rename from src/main/resources/assets/botania/textures/items/unused/ancientWillVerac1.png rename to src/main/resources/assets/botania/textures/items/ancientWill5.png diff --git a/src/main/resources/assets/botania/textures/items/unused/ancientWillBarrows.png b/src/main/resources/assets/botania/textures/items/willFlame.png similarity index 100% rename from src/main/resources/assets/botania/textures/items/unused/ancientWillBarrows.png rename to src/main/resources/assets/botania/textures/items/willFlame.png diff --git a/src/main/resources/assets/botania/textures/items/unused/ancientWillBarrows.png.mcmeta b/src/main/resources/assets/botania/textures/items/willFlame.png.mcmeta similarity index 100% rename from src/main/resources/assets/botania/textures/items/unused/ancientWillBarrows.png.mcmeta rename to src/main/resources/assets/botania/textures/items/willFlame.png.mcmeta