diff --git a/src/main/java/WayofTime/bloodmagic/api/DamageSourceBloodMagic.java b/src/main/java/WayofTime/bloodmagic/api/DamageSourceBloodMagic.java
index 8dab8ad2..6cd4140c 100644
--- a/src/main/java/WayofTime/bloodmagic/api/DamageSourceBloodMagic.java
+++ b/src/main/java/WayofTime/bloodmagic/api/DamageSourceBloodMagic.java
@@ -19,6 +19,6 @@ public class DamageSourceBloodMagic extends DamageSource
     @Override
     public ITextComponent getDeathMessage(EntityLivingBase livingBase)
     {
-        return new TextComponentString(TextHelper.localizeEffect("chat.BloodMagic.damageSource", livingBase.getName()));
+        return new TextComponentString(TextHelper.localizeEffect("chat.bloodmagic.damageSource", livingBase.getName()));
     }
 }
diff --git a/src/main/java/WayofTime/bloodmagic/api/altar/EnumAltarComponent.java b/src/main/java/WayofTime/bloodmagic/api/altar/EnumAltarComponent.java
index 81acdd8b..319f018b 100644
--- a/src/main/java/WayofTime/bloodmagic/api/altar/EnumAltarComponent.java
+++ b/src/main/java/WayofTime/bloodmagic/api/altar/EnumAltarComponent.java
@@ -17,7 +17,7 @@ public enum EnumAltarComponent
     CRYSTAL,
     NOTAIR;
 
-    private static final String BASE = "chat.BloodMagic.altar.comp.";
+    private static final String BASE = "chat.bloodmagic.altar.comp.";
     private String key;
 
     EnumAltarComponent()
diff --git a/src/main/java/WayofTime/bloodmagic/api/livingArmour/LivingArmourUpgrade.java b/src/main/java/WayofTime/bloodmagic/api/livingArmour/LivingArmourUpgrade.java
index 4c14add6..bebd8f30 100644
--- a/src/main/java/WayofTime/bloodmagic/api/livingArmour/LivingArmourUpgrade.java
+++ b/src/main/java/WayofTime/bloodmagic/api/livingArmour/LivingArmourUpgrade.java
@@ -13,8 +13,8 @@ import net.minecraft.world.World;
 
 public abstract class LivingArmourUpgrade
 {
-    public static String chatBase = "chat.BloodMagic.livingArmour.upgrade.";
-    public static String tooltipBase = "tooltip.BloodMagic.livingArmour.upgrade.";
+    public static String chatBase = "chat.bloodmagic.livingArmour.upgrade.";
+    public static String tooltipBase = "tooltip.bloodmagic.livingArmour.upgrade.";
 
     /**
      * Upgrade level 0 is the first upgrade. Upgrade goes from 0 to getMaxTier()
diff --git a/src/main/java/WayofTime/bloodmagic/api/recipe/LivingArmourDowngradeRecipe.java b/src/main/java/WayofTime/bloodmagic/api/recipe/LivingArmourDowngradeRecipe.java
index 727f1e45..2cfe9666 100644
--- a/src/main/java/WayofTime/bloodmagic/api/recipe/LivingArmourDowngradeRecipe.java
+++ b/src/main/java/WayofTime/bloodmagic/api/recipe/LivingArmourDowngradeRecipe.java
@@ -17,7 +17,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade;
 public class LivingArmourDowngradeRecipe
 {
     protected LivingArmourUpgrade upgrade = null;
-    protected ItemStack keyStack = null;
+    protected ItemStack keyStack = ItemStack.EMPTY;
     protected List<Object> input = new ArrayList<Object>();
 
     public LivingArmourDowngradeRecipe(LivingArmourUpgrade upgrade, ItemStack keyStack, Object... recipe)
diff --git a/src/main/java/WayofTime/bloodmagic/api/recipe/TartaricForgeRecipe.java b/src/main/java/WayofTime/bloodmagic/api/recipe/TartaricForgeRecipe.java
index 073ea5c5..efe283ac 100644
--- a/src/main/java/WayofTime/bloodmagic/api/recipe/TartaricForgeRecipe.java
+++ b/src/main/java/WayofTime/bloodmagic/api/recipe/TartaricForgeRecipe.java
@@ -15,7 +15,7 @@ import java.util.List;
 public class TartaricForgeRecipe
 {
     protected ItemStack output = null;
-    protected ArrayList<Object> input = new ArrayList<Object>();
+    protected List<Object> input = new ArrayList<Object>();
     @Getter
     protected double minimumSouls;
     @Getter
@@ -137,7 +137,7 @@ public class TartaricForgeRecipe
      * 
      * @return The recipes input vales.
      */
-    public ArrayList<Object> getInput()
+    public List<Object> getInput()
     {
         return this.input;
     }
diff --git a/src/main/java/WayofTime/bloodmagic/api/ritual/Ritual.java b/src/main/java/WayofTime/bloodmagic/api/ritual/Ritual.java
index 34dd7706..01822165 100644
--- a/src/main/java/WayofTime/bloodmagic/api/ritual/Ritual.java
+++ b/src/main/java/WayofTime/bloodmagic/api/ritual/Ritual.java
@@ -276,7 +276,7 @@ public abstract class Ritual
         AreaDescriptor descriptor = this.getBlockRange(range);
         if (descriptor == null)
         {
-            return new TextComponentTranslation("ritual.BloodMagic.blockRange.tooBig", "?");
+            return new TextComponentTranslation("ritual.bloodmagic.blockRange.tooBig", "?");
         }
 
         List<EnumDemonWillType> willConfig = master.getActiveWillConfig();
@@ -288,10 +288,10 @@ public abstract class Ritual
 
         if (maxVolume > 0 && descriptor.getVolumeForOffsets(offset1, offset2) > maxVolume)
         {
-            return new TextComponentTranslation("ritual.BloodMagic.blockRange.tooBig", maxVolume);
+            return new TextComponentTranslation("ritual.bloodmagic.blockRange.tooBig", maxVolume);
         } else
         {
-            return new TextComponentTranslation("ritual.BloodMagic.blockRange.tooFar", maxVertical, maxHorizontal);
+            return new TextComponentTranslation("ritual.bloodmagic.blockRange.tooFar", maxVertical, maxHorizontal);
         }
     }
 
@@ -307,7 +307,7 @@ public abstract class Ritual
             return new TextComponentTranslation(this.getUnlocalizedName() + "." + range + ".info");
         } else
         {
-            return new TextComponentTranslation("ritual.BloodMagic.blockRange.noRange");
+            return new TextComponentTranslation("ritual.bloodmagic.blockRange.noRange");
         }
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockAltar.java b/src/main/java/WayofTime/bloodmagic/block/BlockAltar.java
index 41c8d138..d2b87a4d 100644
--- a/src/main/java/WayofTime/bloodmagic/block/BlockAltar.java
+++ b/src/main/java/WayofTime/bloodmagic/block/BlockAltar.java
@@ -200,7 +200,7 @@ public class BlockAltar extends Block implements IVariantProvider, IDocumentedBl
         IBloodAltar altar = ((IBloodAltar) world.getTileEntity(pos));
         Pair<BlockPos, EnumAltarComponent> missingBlock = BloodAltar.getAltarMissingBlock(world, pos, altar.getTier().toInt());
         if (missingBlock != null)
-            docs.add(new TextComponentTranslation("chat.BloodMagic.altar.nextTier", new TextComponentTranslation(missingBlock.getRight().getKey()), Utils.prettifyBlockPosString(missingBlock.getLeft())));
+            docs.add(new TextComponentTranslation("chat.bloodmagic.altar.nextTier", new TextComponentTranslation(missingBlock.getRight().getKey()), Utils.prettifyBlockPosString(missingBlock.getLeft())));
 
         return docs;
     }
diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockBloodRune.java b/src/main/java/WayofTime/bloodmagic/block/BlockBloodRune.java
index aaffd0ed..b289acad 100644
--- a/src/main/java/WayofTime/bloodmagic/block/BlockBloodRune.java
+++ b/src/main/java/WayofTime/bloodmagic/block/BlockBloodRune.java
@@ -40,7 +40,7 @@ public class BlockBloodRune extends BlockEnum<EnumBloodRune> implements IVariant
     @Override
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.decoration.safe"));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.decoration.safe"));
         super.addInformation(stack, player, tooltip, advanced);
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockLifeEssence.java b/src/main/java/WayofTime/bloodmagic/block/BlockLifeEssence.java
index bf43c742..1678a8ce 100644
--- a/src/main/java/WayofTime/bloodmagic/block/BlockLifeEssence.java
+++ b/src/main/java/WayofTime/bloodmagic/block/BlockLifeEssence.java
@@ -69,7 +69,7 @@ public class BlockLifeEssence extends BlockFluidClassic
         @Override
         public String getLocalizedName(FluidStack fluidStack)
         {
-            return TextHelper.localize("tile.BloodMagic.fluid.lifeEssence.name");
+            return TextHelper.localize("tile.bloodmagic.fluid.lifeEssence.name");
         }
     }
 }
diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockPath.java b/src/main/java/WayofTime/bloodmagic/block/BlockPath.java
index 1bfaaa76..9be944dc 100644
--- a/src/main/java/WayofTime/bloodmagic/block/BlockPath.java
+++ b/src/main/java/WayofTime/bloodmagic/block/BlockPath.java
@@ -48,7 +48,7 @@ public class BlockPath extends BlockEnum<EnumPath> implements IIncensePath, IVar
     @Override
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.decoration.safe"));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.decoration.safe"));
         super.addInformation(stack, player, tooltip, advanced);
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockRitualController.java b/src/main/java/WayofTime/bloodmagic/block/BlockRitualController.java
index 17c7c7ba..5e6797db 100644
--- a/src/main/java/WayofTime/bloodmagic/block/BlockRitualController.java
+++ b/src/main/java/WayofTime/bloodmagic/block/BlockRitualController.java
@@ -76,7 +76,7 @@ public class BlockRitualController extends BlockEnum<EnumRitualController> imple
                     }
                 } else
                 {
-                    ChatUtil.sendNoSpamUnloc(player, "chat.BloodMagic.ritual.notValid");
+                    ChatUtil.sendNoSpamUnloc(player, "chat.bloodmagic.ritual.notValid");
                 }
             }
         } else if (getMetaFromState(state) == 1 && tile instanceof TileImperfectRitualStone)
diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockRitualStone.java b/src/main/java/WayofTime/bloodmagic/block/BlockRitualStone.java
index 8afa09ef..e4e1e002 100644
--- a/src/main/java/WayofTime/bloodmagic/block/BlockRitualStone.java
+++ b/src/main/java/WayofTime/bloodmagic/block/BlockRitualStone.java
@@ -40,7 +40,7 @@ public class BlockRitualStone extends BlockEnum<EnumRuneType> implements IRitual
     @Override
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.decoration.safe"));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.decoration.safe"));
         super.addInformation(stack, player, tooltip, advanced);
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/client/gui/GuiAlchemyTable.java b/src/main/java/WayofTime/bloodmagic/client/gui/GuiAlchemyTable.java
index a35248e2..22164f2f 100644
--- a/src/main/java/WayofTime/bloodmagic/client/gui/GuiAlchemyTable.java
+++ b/src/main/java/WayofTime/bloodmagic/client/gui/GuiAlchemyTable.java
@@ -29,7 +29,7 @@ public class GuiAlchemyTable extends GuiContainer
     @Override
     protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
     {
-        this.fontRendererObj.drawString(TextHelper.localize("tile.BloodMagic.alchemyTable.name"), 8, 5, 4210752);
+        this.fontRendererObj.drawString(TextHelper.localize("tile.bloodmagic.alchemyTable.name"), 8, 5, 4210752);
         this.fontRendererObj.drawString(TextHelper.localize("container.inventory"), 8, 111, 4210752);
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/client/gui/GuiHolding.java b/src/main/java/WayofTime/bloodmagic/client/gui/GuiHolding.java
index 91c6bf96..49893a7a 100644
--- a/src/main/java/WayofTime/bloodmagic/client/gui/GuiHolding.java
+++ b/src/main/java/WayofTime/bloodmagic/client/gui/GuiHolding.java
@@ -31,7 +31,7 @@ public class GuiHolding extends GuiContainer
     protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
     {
         //the parameters for drawString are: string, x, y, color
-        fontRendererObj.drawString(TextHelper.localize("item.BloodMagic.sigil.holding.name"), 53, 4, 4210752);
+        fontRendererObj.drawString(TextHelper.localize("item.bloodmagic.sigil.holding.name"), 53, 4, 4210752);
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/client/gui/GuiMasterRoutingNode.java b/src/main/java/WayofTime/bloodmagic/client/gui/GuiMasterRoutingNode.java
index ec110458..883ec432 100644
--- a/src/main/java/WayofTime/bloodmagic/client/gui/GuiMasterRoutingNode.java
+++ b/src/main/java/WayofTime/bloodmagic/client/gui/GuiMasterRoutingNode.java
@@ -27,7 +27,7 @@ public class GuiMasterRoutingNode extends GuiContainer
     @Override
     protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
     {
-//        this.fontRendererObj.drawString(TextHelper.localize("tile.BloodMagic.soulForge.name"), 8, 5, 4210752);
+//        this.fontRendererObj.drawString(TextHelper.localize("tile.bloodmagic.soulForge.name"), 8, 5, 4210752);
 //        this.fontRendererObj.drawString(TextHelper.localize("container.inventory"), 8, 111, 4210752);
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/client/gui/GuiSoulForge.java b/src/main/java/WayofTime/bloodmagic/client/gui/GuiSoulForge.java
index 55e7bb42..7153656d 100644
--- a/src/main/java/WayofTime/bloodmagic/client/gui/GuiSoulForge.java
+++ b/src/main/java/WayofTime/bloodmagic/client/gui/GuiSoulForge.java
@@ -28,7 +28,7 @@ public class GuiSoulForge extends GuiContainer
     @Override
     protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
     {
-        this.fontRendererObj.drawString(TextHelper.localize("tile.BloodMagic.soulForge.name"), 8, 5, 4210752);
+        this.fontRendererObj.drawString(TextHelper.localize("tile.bloodmagic.soulForge.name"), 8, 5, 4210752);
         this.fontRendererObj.drawString(TextHelper.localize("container.inventory"), 8, 111, 4210752);
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/client/gui/GuiTeleposer.java b/src/main/java/WayofTime/bloodmagic/client/gui/GuiTeleposer.java
index bb2ecd56..4bafa7f8 100644
--- a/src/main/java/WayofTime/bloodmagic/client/gui/GuiTeleposer.java
+++ b/src/main/java/WayofTime/bloodmagic/client/gui/GuiTeleposer.java
@@ -22,7 +22,7 @@ public class GuiTeleposer extends GuiContainer
     @Override
     protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
     {
-        this.fontRendererObj.drawString(TextHelper.localize("tile.BloodMagic.teleposer.name"), 64, 23, 4210752);
+        this.fontRendererObj.drawString(TextHelper.localize("tile.bloodmagic.teleposer.name"), 64, 23, 4210752);
         this.fontRendererObj.drawString(TextHelper.localize("container.inventory"), 8, 47, 4210752);
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/command/sub/SubCommandNetwork.java b/src/main/java/WayofTime/bloodmagic/command/sub/SubCommandNetwork.java
index b0603dd3..1e47012f 100644
--- a/src/main/java/WayofTime/bloodmagic/command/sub/SubCommandNetwork.java
+++ b/src/main/java/WayofTime/bloodmagic/command/sub/SubCommandNetwork.java
@@ -159,7 +159,7 @@ public class SubCommandNetwork extends CommandBase
                 SoulNetwork network = NetworkHelper.getSoulNetwork(player);
 
                 if (args.length > 1)
-                    sender.sendMessage(new TextComponentString(TextHelper.localizeEffect("tooltip.BloodMagic.sigil.divination.currentEssence", network.getCurrentEssence())));
+                    sender.sendMessage(new TextComponentString(TextHelper.localizeEffect("tooltip.bloodmagic.sigil.divination.currentEssence", network.getCurrentEssence())));
 
             }
         },
diff --git a/src/main/java/WayofTime/bloodmagic/compat/guideapi/GuideBloodMagic.java b/src/main/java/WayofTime/bloodmagic/compat/guideapi/GuideBloodMagic.java
index 73cb0fdb..159de39e 100644
--- a/src/main/java/WayofTime/bloodmagic/compat/guideapi/GuideBloodMagic.java
+++ b/src/main/java/WayofTime/bloodmagic/compat/guideapi/GuideBloodMagic.java
@@ -28,10 +28,10 @@ public class GuideBloodMagic implements IGuideBook
     @Override
     public Book buildBook() {
         guideBook = new Book();
-        guideBook.setTitle("guide.BloodMagic.title");
-        guideBook.setDisplayName("guide.BloodMagic.display");
-        guideBook.setWelcomeMessage("guide.BloodMagic.welcome");
-        guideBook.setAuthor("guide.BloodMagic.author");
+        guideBook.setTitle("guide.bloodmagic.title");
+        guideBook.setDisplayName("guide.bloodmagic.display");
+        guideBook.setWelcomeMessage("guide.bloodmagic.welcome");
+        guideBook.setAuthor("guide.bloodmagic.author");
         guideBook.setRegistryName(new ResourceLocation(Constants.Mod.MODID, "guide"));
         guideBook.setColor(Color.RED);
 
@@ -45,11 +45,11 @@ public class GuideBloodMagic implements IGuideBook
 
     @Override
     public void handlePost(ItemStack bookStack) {
-        guideBook.addCategory(new CategoryItemStack(CategoryAlchemy.buildCategory(), "guide.BloodMagic.category.alchemy", new ItemStack(ModItems.ARCANE_ASHES)));
-        guideBook.addCategory(new CategoryItemStack(CategoryArchitect.buildCategory(), "guide.BloodMagic.category.architect", new ItemStack(ModItems.SIGIL_DIVINATION)));
-        guideBook.addCategory(new CategoryItemStack(CategoryDemon.buildCategory(), "guide.BloodMagic.category.demon", new ItemStack(ModItems.BLOOD_SHARD)));
-        guideBook.addCategory(new CategoryItemStack(CategoryRitual.buildCategory(), "guide.BloodMagic.category.ritual", new ItemStack(ModBlocks.RITUAL_CONTROLLER)));
-//        guideBook.addCategory(new CategoryItemStack(CategorySpell.buildCategory(), "guide.BloodMagic.category.spell", new ItemStack(ModItems.ritualDiviner)));
+        guideBook.addCategory(new CategoryItemStack(CategoryAlchemy.buildCategory(), "guide.bloodmagic.category.alchemy", new ItemStack(ModItems.ARCANE_ASHES)));
+        guideBook.addCategory(new CategoryItemStack(CategoryArchitect.buildCategory(), "guide.bloodmagic.category.architect", new ItemStack(ModItems.SIGIL_DIVINATION)));
+        guideBook.addCategory(new CategoryItemStack(CategoryDemon.buildCategory(), "guide.bloodmagic.category.demon", new ItemStack(ModItems.BLOOD_SHARD)));
+        guideBook.addCategory(new CategoryItemStack(CategoryRitual.buildCategory(), "guide.bloodmagic.category.ritual", new ItemStack(ModBlocks.RITUAL_CONTROLLER)));
+//        guideBook.addCategory(new CategoryItemStack(CategorySpell.buildCategory(), "guide.bloodmagic.category.spell", new ItemStack(ModItems.ritualDiviner)));
 
         GameRegistry.addRecipe(new ShapelessOreRecipe(GuideAPI.getStackFromBook(GuideBloodMagic.guideBook), new ItemStack(Items.BOOK), Blocks.GLASS, Items.FEATHER));
     }
diff --git a/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageAlchemyArray.java b/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageAlchemyArray.java
index b8fd8cfc..5c8065b6 100644
--- a/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageAlchemyArray.java
+++ b/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageAlchemyArray.java
@@ -56,7 +56,7 @@ public class PageAlchemyArray extends Page
         Minecraft.getMinecraft().getTextureManager().bindTexture(new ResourceLocation("bloodmagicguide" + ":textures/gui/alchemyArrayCrafting.png"));
         guiBase.drawTexturedModalRect(x, y, 0, 0, 62, 88 + (outputStack.isEmpty() ? 0 : 26));
 
-        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.alchemyArray"), guiLeft + guiBase.xSize / 2, guiTop + 12, 0);
+        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.bloodmagic.page.alchemyArray"), guiLeft + guiBase.xSize / 2, guiTop + 12, 0);
 
         for (ResourceLocation arrayResource : arrayResources)
         {
diff --git a/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageAltarRecipe.java b/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageAltarRecipe.java
index 48490476..a8402b0a 100644
--- a/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageAltarRecipe.java
+++ b/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageAltarRecipe.java
@@ -43,7 +43,7 @@ public class PageAltarRecipe extends Page
         Minecraft.getMinecraft().getTextureManager().bindTexture(new ResourceLocation("bloodmagicguide" + ":textures/gui/altar.png"));
         guiBase.drawTexturedModalRect(guiLeft + 42, guiTop + 53, 0, 0, 146, 104);
 
-        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.bloodAltar"), guiLeft + guiBase.xSize / 2, guiTop + 12, 0);
+        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.bloodmagic.page.bloodAltar"), guiLeft + guiBase.xSize / 2, guiTop + 12, 0);
 
         int inputX = (1 + 1) * 20 + (guiLeft + guiBase.xSize / 7) + 1;
         int inputY = (20) + (guiTop + guiBase.ySize / 5) - 1; //1 * 20
@@ -71,7 +71,7 @@ public class PageAltarRecipe extends Page
             guiBase.drawCenteredString(fontRenderer, TextHelper.localize("bm.string.tier") + ": " + String.valueOf(tier), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 15, 0);
             guiBase.drawCenteredString(fontRenderer, "LP: " + String.valueOf(bloodRequired), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 30, 0);
         }
-        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.tier", String.valueOf(tier)), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6, 0);
-        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.lp", String.valueOf(bloodRequired)), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 15, 0);
+        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.bloodmagic.page.tier", String.valueOf(tier)), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6, 0);
+        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.bloodmagic.page.lp", String.valueOf(bloodRequired)), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 15, 0);
     }
 }
diff --git a/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageTartaricForgeRecipe.java b/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageTartaricForgeRecipe.java
index a63e14d6..51021663 100644
--- a/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageTartaricForgeRecipe.java
+++ b/src/main/java/WayofTime/bloodmagic/compat/guideapi/page/PageTartaricForgeRecipe.java
@@ -50,7 +50,7 @@ public class PageTartaricForgeRecipe extends Page
         Minecraft.getMinecraft().getTextureManager().bindTexture(new ResourceLocation("bloodmagicguide" + ":textures/gui/soulForge.png"));
         guiBase.drawTexturedModalRect(guiLeft + 42, guiTop + 53, 0, 0, 146, 104);
 
-        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.soulForge"), guiLeft + guiBase.xSize / 2, guiTop + 12, 0);
+        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.bloodmagic.page.soulForge"), guiLeft + guiBase.xSize / 2, guiTop + 12, 0);
 
 //        int inputX = (1 + 1) * 20 + (guiLeft + guiBase.xSize / 7) + 1;
 //        int inputY = (20) + (guiTop + guiBase.ySize / 5) - 1; //1 * 20
@@ -131,8 +131,8 @@ public class PageTartaricForgeRecipe extends Page
             guiBase.drawCenteredString(fontRenderer, TextHelper.localize("bm.string.tier") + ": " + String.valueOf(tier), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 15, 0);
 //            guiBase.drawCenteredString(fontRenderer, "LP: " + String.valueOf(bloodRequired), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 + 30, 0);
         }
-        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.minimumWill", String.valueOf(minimumWill)), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 - 15, 0);
-        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.BloodMagic.page.drainedWill", String.valueOf(drainedWill)), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6, 0);
+        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.bloodmagic.page.minimumWill", String.valueOf(minimumWill)), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6 - 15, 0);
+        guiBase.drawCenteredString(fontRenderer, TextHelper.localize("guide.bloodmagic.page.drainedWill", String.valueOf(drainedWill)), guiLeft + guiBase.xSize / 2, guiTop + 4 * guiBase.ySize / 6, 0);
     }
 
     protected int getRandomizedCycle(int index, int max)
diff --git a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderAlchemyArray.java b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderAlchemyArray.java
index f840c83e..2e81535f 100644
--- a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderAlchemyArray.java
+++ b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderAlchemyArray.java
@@ -44,14 +44,14 @@ public class DataProviderAlchemyArray implements IWailaDataProvider
             {
                 TileAlchemyArray tileArray = (TileAlchemyArray) tile;
                 if (!tileArray.getStackInSlot(0).isEmpty())
-                    currenttip.add(TextHelper.localize("waila.BloodMagic.array.reagent", tileArray.getStackInSlot(0).getDisplayName()));
+                    currenttip.add(TextHelper.localize("waila.bloodmagic.array.reagent", tileArray.getStackInSlot(0).getDisplayName()));
 
                 if (!tileArray.getStackInSlot(1).isEmpty())
-                    currenttip.add(TextHelper.localize("waila.BloodMagic.array.catalyst", tileArray.getStackInSlot(1).getDisplayName()));
+                    currenttip.add(TextHelper.localize("waila.bloodmagic.array.catalyst", tileArray.getStackInSlot(1).getDisplayName()));
             }
         } else
         {
-            currenttip.add(TextHelper.localizeEffect("waila.BloodMagic.sneak"));
+            currenttip.add(TextHelper.localizeEffect("waila.bloodmagic.sneak"));
         }
 
         return currenttip;
diff --git a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderBloodAltar.java b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderBloodAltar.java
index 7a877071..9ec8b3b4 100644
--- a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderBloodAltar.java
+++ b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderBloodAltar.java
@@ -82,9 +82,9 @@ public class DataProviderBloodAltar implements IWailaDataProvider
             if (accessor.getBlock() instanceof BlockAltar && accessor.getTileEntity() instanceof TileAltar)
             {
                 TileAltar altar = (TileAltar) accessor.getTileEntity();
-                currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.sigil.seer.currentAltarTier", altar.getTier().toInt()));
-                currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.sigil.seer.currentAltarCapacity", altar.getCapacity()));
-                currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.sigil.seer.currentEssence", altar.getCurrentBlood()));
+                currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.sigil.seer.currentAltarTier", altar.getTier().toInt()));
+                currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.sigil.seer.currentAltarCapacity", altar.getCapacity()));
+                currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.sigil.seer.currentEssence", altar.getCurrentBlood()));
 
                 if (hasSeer)
                 {
@@ -93,12 +93,12 @@ public class DataProviderBloodAltar implements IWailaDataProvider
                     int craftAmount = 1;
                     if (accessor.getNBTData().getTagList("Items", 10).get(0).getId() == 10)
                         craftAmount = ((NBTTagCompound)accessor.getNBTData().getTagList("Items", 10).get(0)).getByte("Count");
-                    currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.sigil.seer.currentAltarProgress.percent", (int) (((double) progress / (double) liquidRequired * 100) / craftAmount) + "%"));
+                    currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.sigil.seer.currentAltarProgress.percent", (int) (((double) progress / (double) liquidRequired * 100) / craftAmount) + "%"));
                 }
             }
         } else
         {
-            currenttip.add(TextHelper.localizeEffect("waila.BloodMagic.sneak"));
+            currenttip.add(TextHelper.localizeEffect("waila.bloodmagic.sneak"));
         }
 
         return currenttip;
diff --git a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderBloodTank.java b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderBloodTank.java
index 5e39a63b..cbfa05b6 100644
--- a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderBloodTank.java
+++ b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderBloodTank.java
@@ -45,21 +45,21 @@ public class DataProviderBloodTank implements IWailaDataProvider
                 TileBloodTank bloodTank = (TileBloodTank) accessor.getTileEntity();
                 NBTTagCompound tag = accessor.getNBTData();
                 int capacity = tag.getInteger(Constants.NBT.ALTAR_CAPACITY);
-                currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.tier", bloodTank.getBlockMetadata() + 1));
-                currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.fluid.capacity") + ": " + capacity + "mB");
+                currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.tier", bloodTank.getBlockMetadata() + 1));
+                currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.fluid.capacity") + ": " + capacity + "mB");
 
                 tag = tag.getCompoundTag(Constants.NBT.TANK);
                 FluidStack fluidStack = FluidStack.loadFluidStackFromNBT(tag);
                 if (!Strings.isNullOrEmpty(tag.getString("FluidName")) && fluidStack != null)
                 {
-                    currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.fluid.type") + ": " + fluidStack.getLocalizedName());
-                    currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.fluid.amount") + ": " + tag.getInteger("Amount") + "/" + capacity + "mB");
+                    currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.fluid.type") + ": " + fluidStack.getLocalizedName());
+                    currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.fluid.amount") + ": " + tag.getInteger("Amount") + "/" + capacity + "mB");
                 }
             }
         }
         else
         {
-            currenttip.add(TextHelper.localizeEffect("waila.BloodMagic.sneak"));
+            currenttip.add(TextHelper.localizeEffect("waila.bloodmagic.sneak"));
         }
 
         return currenttip;
diff --git a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderRitualController.java b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderRitualController.java
index 6e2910fc..a3bc6c1b 100644
--- a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderRitualController.java
+++ b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderRitualController.java
@@ -54,12 +54,12 @@ public class DataProviderRitualController implements IWailaDataProvider
                     if (mrs.getCurrentRitual() != null && mrs.isActive())
                     {
                         currenttip.add(TextHelper.localizeEffect(mrs.getCurrentRitual().getUnlocalizedName()));
-                        currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentOwner", PlayerHelper.getUsernameFromUUID(mrs.getOwner())));
+                        currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentOwner", PlayerHelper.getUsernameFromUUID(mrs.getOwner())));
                         if (!RitualRegistry.ritualEnabled(mrs.getCurrentRitual()))
-                            currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.config.disabled"));
+                            currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.config.disabled"));
                     } else
                     {
-                        currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.deactivated"));
+                        currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.deactivated"));
                     }
                 }
 
@@ -76,14 +76,14 @@ public class DataProviderRitualController implements IWailaDataProvider
                         {
                             currenttip.add(TextHelper.localizeEffect(ritual.getUnlocalizedName()));
                             if (!ImperfectRitualRegistry.ritualEnabled(ritual))
-                                currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.config.disabled"));
+                                currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.config.disabled"));
                         }
                     }
                 }
             }
         } else
         {
-            currenttip.add(TextHelper.localizeEffect("waila.BloodMagic.sneak"));
+            currenttip.add(TextHelper.localizeEffect("waila.bloodmagic.sneak"));
         }
 
         return currenttip;
diff --git a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderTeleposer.java b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderTeleposer.java
index 7a787263..1b5b9078 100644
--- a/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderTeleposer.java
+++ b/src/main/java/WayofTime/bloodmagic/compat/waila/provider/DataProviderTeleposer.java
@@ -48,13 +48,13 @@ public class DataProviderTeleposer implements IWailaDataProvider
                     BlockPos toPos = ((ItemTelepositionFocus) contained.getItem()).getBlockPos(contained);
                     int dimensionID = contained.getTagCompound().getInteger(Constants.NBT.DIMENSION_ID);
 
-                    currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.telepositionFocus.coords", toPos.getX(), toPos.getY(), toPos.getZ()));
-                    currenttip.add(TextHelper.localizeEffect("tooltip.BloodMagic.telepositionFocus.dimension", dimensionID));
+                    currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.telepositionFocus.coords", toPos.getX(), toPos.getY(), toPos.getZ()));
+                    currenttip.add(TextHelper.localizeEffect("tooltip.bloodmagic.telepositionFocus.dimension", dimensionID));
                 }
             }
         } else
         {
-            currenttip.add(TextHelper.localizeEffect("waila.BloodMagic.sneak"));
+            currenttip.add(TextHelper.localizeEffect("waila.bloodmagic.sneak"));
         }
 
         return currenttip;
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemActivationCrystal.java b/src/main/java/WayofTime/bloodmagic/item/ItemActivationCrystal.java
index 13a0a7b1..52f88d86 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemActivationCrystal.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemActivationCrystal.java
@@ -46,7 +46,7 @@ public class ItemActivationCrystal extends ItemBindableBase implements IVariantP
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.add(TextHelper.localize("tooltip.BloodMagic.activationCrystal." + names[stack.getItemDamage()]));
+        tooltip.add(TextHelper.localize("tooltip.bloodmagic.activationCrystal." + names[stack.getItemDamage()]));
 
         super.addInformation(stack, player, tooltip, advanced);
     }
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemAltarMaker.java b/src/main/java/WayofTime/bloodmagic/item/ItemAltarMaker.java
index ae9b2aa6..2421488a 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemAltarMaker.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemAltarMaker.java
@@ -53,7 +53,7 @@ public class ItemAltarMaker extends Item implements IAltarManipulator, IVariantP
     {
         if (!stack.hasTagCompound())
             return;
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentTier", stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER) + 1));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentTier", stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER) + 1));
     }
 
     @Override
@@ -65,7 +65,7 @@ public class ItemAltarMaker extends Item implements IAltarManipulator, IVariantP
 
         if (!player.capabilities.isCreativeMode)
         {
-            ChatUtil.sendNoSpam(player, TextHelper.localizeEffect("chat.BloodMagic.altarMaker.creativeOnly"));
+            ChatUtil.sendNoSpam(player, TextHelper.localizeEffect("chat.bloodmagic.altarMaker.creativeOnly"));
             return super.onItemRightClick(world, player, hand);
         }
 
@@ -79,7 +79,7 @@ public class ItemAltarMaker extends Item implements IAltarManipulator, IVariantP
                 stack.getTagCompound().setInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER, stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER) + 1);
 
             setTierToBuild(EnumAltarTier.values()[stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER)]);
-            ChatUtil.sendNoSpam(player, TextHelper.localizeEffect("chat.BloodMagic.altarMaker.setTier", NumeralHelper.toRoman(stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER) + 1)));
+            ChatUtil.sendNoSpam(player, TextHelper.localizeEffect("chat.bloodmagic.altarMaker.setTier", NumeralHelper.toRoman(stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER) + 1)));
             return super.onItemRightClick(world, player, hand);
         }
 
@@ -89,7 +89,7 @@ public class ItemAltarMaker extends Item implements IAltarManipulator, IVariantP
 
         if (rayTrace.typeOfHit == RayTraceResult.Type.BLOCK && world.getBlockState(rayTrace.getBlockPos()).getBlock() instanceof BlockAltar)
         {
-            ChatUtil.sendNoSpam(player, TextHelper.localizeEffect("chat.BloodMagic.altarMaker.building", NumeralHelper.toRoman(tierToBuild.toInt())));
+            ChatUtil.sendNoSpam(player, TextHelper.localizeEffect("chat.bloodmagic.altarMaker.building", NumeralHelper.toRoman(tierToBuild.toInt())));
             buildAltar(world, rayTrace.getBlockPos());
             IBlockState state = world.getBlockState(rayTrace.getBlockPos());
 
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemArcaneAshes.java b/src/main/java/WayofTime/bloodmagic/item/ItemArcaneAshes.java
index 2081305a..6cb43f05 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemArcaneAshes.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemArcaneAshes.java
@@ -39,7 +39,7 @@ public class ItemArcaneAshes extends Item implements IVariantProvider
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.arcaneAshes"));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.arcaneAshes"));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBindableBase.java b/src/main/java/WayofTime/bloodmagic/item/ItemBindableBase.java
index 686d4ba0..300ad7a0 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemBindableBase.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemBindableBase.java
@@ -30,6 +30,6 @@ public class ItemBindableBase extends ItemBindable
             return;
 
         if (!Strings.isNullOrEmpty(getOwnerUUID(stack)))
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
     }
 }
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBloodOrb.java b/src/main/java/WayofTime/bloodmagic/item/ItemBloodOrb.java
index 39393177..49d0d5d0 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemBloodOrb.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemBloodOrb.java
@@ -85,10 +85,10 @@ public class ItemBloodOrb extends ItemBindableBase implements IBloodOrb, IBindab
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.orb.desc"));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.orb.desc"));
 
         if (advanced)
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.orb.owner", getOrb(stack.getItemDamage()).getOwner()));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.orb.owner", getOrb(stack.getItemDamage()).getOwner()));
 
         super.addInformation(stack, player, tooltip, advanced);
     }
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java b/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java
index b8afe2d0..223c35d3 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java
@@ -102,13 +102,13 @@ public class ItemBoundSword extends ItemSword implements IBindable, IActivatable
         if (!stack.hasTagCompound())
             return;
 
-        if (TextHelper.canTranslate("tooltip.BloodMagic.bound.sword.desc"))
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.bound.sword.desc"));
+        if (TextHelper.canTranslate("tooltip.bloodmagic.bound.sword.desc"))
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.bound.sword.desc"));
 
-        tooltip.add(TextHelper.localize("tooltip.BloodMagic." + (getActivated(stack) ? "activated" : "deactivated")));
+        tooltip.add(TextHelper.localize("tooltip.bloodmagic." + (getActivated(stack) ? "activated" : "deactivated")));
 
         if (!Strings.isNullOrEmpty(getOwnerUUID(stack)))
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBoundTool.java b/src/main/java/WayofTime/bloodmagic/item/ItemBoundTool.java
index b25a0b63..421e68af 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemBoundTool.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemBoundTool.java
@@ -64,7 +64,7 @@ public class ItemBoundTool extends ItemTool implements IBindable, IActivatable
         setCreativeTab(BloodMagic.tabBloodMagic);
 
         this.name = name;
-        this.tooltipBase = "tooltip.BloodMagic.bound." + name + ".";
+        this.tooltipBase = "tooltip.bloodmagic.bound." + name + ".";
     }
 
     @Override
@@ -202,13 +202,13 @@ public class ItemBoundTool extends ItemTool implements IBindable, IActivatable
         if (TextHelper.canTranslate(tooltipBase + "desc"))
             tooltip.add(TextHelper.localizeEffect(tooltipBase + "desc"));
 
-        tooltip.add(TextHelper.localize("tooltip.BloodMagic." + (getActivated(stack) ? "activated" : "deactivated")));
+        tooltip.add(TextHelper.localize("tooltip.bloodmagic." + (getActivated(stack) ? "activated" : "deactivated")));
 
         if (!stack.hasTagCompound())
             return;
 
         if (!Strings.isNullOrEmpty(getOwnerUUID(stack)))
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
 
         super.addInformation(stack, player, tooltip, advanced);
     }
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemDemonWillGauge.java b/src/main/java/WayofTime/bloodmagic/item/ItemDemonWillGauge.java
index f4ab42fe..4b72a28a 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemDemonWillGauge.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemDemonWillGauge.java
@@ -33,7 +33,7 @@ public class ItemDemonWillGauge extends Item implements IVariantProvider, IDemon
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.willGauge"))));
+        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.willGauge"))));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemExperienceBook.java b/src/main/java/WayofTime/bloodmagic/item/ItemExperienceBook.java
index 7b29b518..38d73e31 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemExperienceBook.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemExperienceBook.java
@@ -44,15 +44,15 @@ public class ItemExperienceBook extends Item implements IVariantProvider
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.experienceTome"));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.experienceTome"));
 
         if (!stack.hasTagCompound())
             return;
 
         double storedExp = getStoredExperience(stack);
 
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.experienceTome.exp", (int) storedExp));
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.experienceTome.expLevel", (int) getLevelForExperience(storedExp)));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.experienceTome.exp", (int) storedExp));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.experienceTome.expLevel", (int) getLevelForExperience(storedExp)));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemInscriptionTool.java b/src/main/java/WayofTime/bloodmagic/item/ItemInscriptionTool.java
index e92cf79c..9f8307af 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemInscriptionTool.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemInscriptionTool.java
@@ -99,7 +99,7 @@ public class ItemInscriptionTool extends ItemBindableBase implements IVariantPro
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> list, boolean advanced)
     {
-        list.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.inscriber.desc"))));
+        list.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.inscriber.desc"))));
         super.addInformation(stack, player, list, advanced);
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemRitualDiviner.java b/src/main/java/WayofTime/bloodmagic/item/ItemRitualDiviner.java
index e3170e25..c133286f 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemRitualDiviner.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemRitualDiviner.java
@@ -46,7 +46,7 @@ public class ItemRitualDiviner extends Item implements IVariantProvider
 {
     public static String[] names = { "normal", "dusk", "dawn" };
 
-    public static final String tooltipBase = "tooltip.BloodMagic.diviner.";
+    public static final String tooltipBase = "tooltip.bloodmagic.diviner.";
 
     public ItemRitualDiviner()
     {
@@ -243,7 +243,7 @@ public class ItemRitualDiviner extends Item implements IVariantProvider
         Ritual ritual = RitualRegistry.getRitualForId(this.getCurrentRitual(stack));
         if (ritual != null)
         {
-            tooltip.add(TextHelper.localize("tooltip.BloodMagic.diviner.currentRitual") + TextHelper.localize(ritual.getUnlocalizedName()));
+            tooltip.add(TextHelper.localize("tooltip.bloodmagic.diviner.currentRitual") + TextHelper.localize(ritual.getUnlocalizedName()));
 
             boolean sneaking = Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT);
             boolean extraInfo = sneaking && Keyboard.isKeyDown(Keyboard.KEY_M);
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemRitualReader.java b/src/main/java/WayofTime/bloodmagic/item/ItemRitualReader.java
index 9aaaed23..8ae94165 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemRitualReader.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemRitualReader.java
@@ -33,7 +33,7 @@ import WayofTime.bloodmagic.util.helper.TextHelper;
 
 public class ItemRitualReader extends Item implements IVariantProvider
 {
-    public static final String tooltipBase = "tooltip.BloodMagic.ritualReader.";
+    public static final String tooltipBase = "tooltip.bloodmagic.ritualReader.";
 
     public ItemRitualReader()
     {
@@ -61,7 +61,7 @@ public class ItemRitualReader extends Item implements IVariantProvider
             tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect(tooltipBase + "desc." + state.toString().toLowerCase()))));
         } else
         {
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.extraInfo"));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.extraInfo"));
         }
 
         super.addInformation(stack, player, tooltip, advanced);
@@ -158,7 +158,7 @@ public class ItemRitualReader extends Item implements IVariantProvider
                         if (containedPos.equals(BlockPos.ORIGIN))
                         {
                             this.setBlockPos(stack, pos.subtract(masterPos));
-                            ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.BloodMagic.blockRange.firstBlock"));
+                            ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.bloodmagic.blockRange.firstBlock"));
                             //TODO: Notify player.
                         } else
                         {
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java b/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java
index effde62c..7927fabb 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemSacrificialDagger.java
@@ -72,10 +72,10 @@ public class ItemSacrificialDagger extends Item implements IMeshProvider
     @Override
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> list, boolean advanced)
     {
-        list.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.sacrificialDagger.desc"))));
+        list.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.sacrificialDagger.desc"))));
 
         if (stack.getItemDamage() == 1)
-            list.add(TextHelper.localizeEffect("tooltip.BloodMagic.sacrificialDagger.creative"));
+            list.add(TextHelper.localizeEffect("tooltip.bloodmagic.sacrificialDagger.creative"));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemSanguineBook.java b/src/main/java/WayofTime/bloodmagic/item/ItemSanguineBook.java
index d654b58f..392f0dc2 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemSanguineBook.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemSanguineBook.java
@@ -86,7 +86,7 @@ public class ItemSanguineBook extends Item implements IVariantProvider, IAltarMa
                 stack.getTagCompound().setInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER, stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER) + 1);
 
             currentDisplayedTier = EnumAltarTier.values()[stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER)];
-            ChatUtil.sendNoSpam(player, TextHelper.localizeEffect("chat.BloodMagic.altarMaker.setTier", NumeralHelper.toRoman(stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER) + 1)));
+            ChatUtil.sendNoSpam(player, TextHelper.localizeEffect("chat.bloodmagic.altarMaker.setTier", NumeralHelper.toRoman(stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER) + 1)));
 
             return super.onItemRightClick(world, player, hand);
         }
@@ -111,9 +111,9 @@ public class ItemSanguineBook extends Item implements IVariantProvider, IAltarMa
     {
         if (!stack.hasTagCompound())
             return;
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.book.shifting"));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.book.shifting"));
         tooltip.add(TextFormatting.OBFUSCATED + "~ILikeTehNutsAndICannotLie");
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentTier", stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER) + 1));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentTier", stack.getTagCompound().getInteger(Constants.NBT.ALTARMAKER_CURRENT_TIER) + 1));
     }
 
     // IVariantProvider
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemSlate.java b/src/main/java/WayofTime/bloodmagic/item/ItemSlate.java
index de787725..b250f98f 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemSlate.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemSlate.java
@@ -49,7 +49,7 @@ public class ItemSlate extends Item implements IVariantProvider
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> list, boolean advanced)
     {
-        list.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.slate.desc"))));
+        list.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.slate.desc"))));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemTelepositionFocus.java b/src/main/java/WayofTime/bloodmagic/item/ItemTelepositionFocus.java
index 2323bb42..68697b42 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemTelepositionFocus.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemTelepositionFocus.java
@@ -74,7 +74,7 @@ public class ItemTelepositionFocus extends ItemBindableBase implements IVariantP
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localize("tooltip.BloodMagic.telepositionFocus." + names[stack.getItemDamage()]))));
+        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localize("tooltip.bloodmagic.telepositionFocus." + names[stack.getItemDamage()]))));
 
         super.addInformation(stack, player, tooltip, advanced);
 
@@ -87,8 +87,8 @@ public class ItemTelepositionFocus extends ItemBindableBase implements IVariantP
 
         if (coords != null && tag != null)
         {
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.telepositionFocus.coords", coords.getX(), coords.getY(), coords.getZ()));
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.telepositionFocus.dimension", tag.getInteger(Constants.NBT.DIMENSION_ID)));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.telepositionFocus.coords", coords.getX(), coords.getY(), coords.getZ()));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.telepositionFocus.dimension", tag.getInteger(Constants.NBT.DIMENSION_ID)));
         }
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemUpgradeTome.java b/src/main/java/WayofTime/bloodmagic/item/ItemUpgradeTome.java
index 6a983175..62439d69 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemUpgradeTome.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemUpgradeTome.java
@@ -105,13 +105,13 @@ public class ItemUpgradeTome extends Item implements IVariantProvider
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-//        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.livingArmour"))));
+//        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.livingArmour"))));
         if (!stack.hasTagCompound())
             return;
         LivingArmourUpgrade upgrade = LivingUpgrades.getUpgrade(stack);
         if (upgrade != null)
         {
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.livingArmour.upgrade.level", TextHelper.localize(upgrade.getUnlocalizedName()), upgrade.getUpgradeLevel() + 1));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.livingArmour.upgrade.level", TextHelper.localize(upgrade.getUnlocalizedName()), upgrade.getUpgradeLevel() + 1));
         }
     }
 }
diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemUpgradeTrainer.java b/src/main/java/WayofTime/bloodmagic/item/ItemUpgradeTrainer.java
index ba43e781..3dd969fc 100644
--- a/src/main/java/WayofTime/bloodmagic/item/ItemUpgradeTrainer.java
+++ b/src/main/java/WayofTime/bloodmagic/item/ItemUpgradeTrainer.java
@@ -52,7 +52,7 @@ public class ItemUpgradeTrainer extends Item implements IUpgradeTrainer, IVarian
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-//        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.livingArmour"))));
+//        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.livingArmour"))));
         if (!stack.hasTagCompound())
             return;
         LivingArmourUpgrade upgrade = LivingUpgrades.getUpgrade(stack);
diff --git a/src/main/java/WayofTime/bloodmagic/item/alchemy/ItemCuttingFluid.java b/src/main/java/WayofTime/bloodmagic/item/alchemy/ItemCuttingFluid.java
index 086cfcfe..b8bfa885 100644
--- a/src/main/java/WayofTime/bloodmagic/item/alchemy/ItemCuttingFluid.java
+++ b/src/main/java/WayofTime/bloodmagic/item/alchemy/ItemCuttingFluid.java
@@ -51,7 +51,7 @@ public class ItemCuttingFluid extends Item implements IVariantProvider, ICustomA
         if (!stack.hasTagCompound())
             return;
         int max = getMaxUsesForFluid(stack);
-        tooltip.add(TextHelper.localize("tooltip.BloodMagic.cuttingFluidRatio", max - getDamageOfFluid(stack), max));
+        tooltip.add(TextHelper.localize("tooltip.bloodmagic.cuttingFluidRatio", max - getDamageOfFluid(stack), max));
     }
 
     private void buildItemList()
diff --git a/src/main/java/WayofTime/bloodmagic/item/alchemy/ItemLivingArmourPointsUpgrade.java b/src/main/java/WayofTime/bloodmagic/item/alchemy/ItemLivingArmourPointsUpgrade.java
index 7e71c112..6564c9fb 100644
--- a/src/main/java/WayofTime/bloodmagic/item/alchemy/ItemLivingArmourPointsUpgrade.java
+++ b/src/main/java/WayofTime/bloodmagic/item/alchemy/ItemLivingArmourPointsUpgrade.java
@@ -59,7 +59,7 @@ public class ItemLivingArmourPointsUpgrade extends Item implements IVariantProvi
         if (!stack.hasTagCompound())
             return;
 
-        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.livingArmourPointsUpgrade.desc", 200))));
+        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.livingArmourPointsUpgrade.desc", 200))));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java b/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java
index db0523da..2b9ea2af 100644
--- a/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java
+++ b/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java
@@ -309,19 +309,19 @@ public class ItemLivingArmour extends ItemArmor implements ISpecialArmor, IMeshP
                         if (tracker != null)
                         {
                             double progress = tracker.getProgress(armour, upgrade.getUpgradeLevel());
-                            tooltip.add(TextHelper.localize("tooltip.BloodMagic.livingArmour.upgrade.progress", TextHelper.localize(upgrade.getUnlocalizedName()), MathHelper.clamp((int) (progress * 100D), 0, 100)));
+                            tooltip.add(TextHelper.localize("tooltip.bloodmagic.livingArmour.upgrade.progress", TextHelper.localize(upgrade.getUnlocalizedName()), MathHelper.clamp((int) (progress * 100D), 0, 100)));
                         }
                     } else
                     {
-                        tooltip.add(TextHelper.localize("tooltip.BloodMagic.livingArmour.upgrade.level", TextHelper.localize(upgrade.getUnlocalizedName()), upgrade.getUpgradeLevel() + 1));
+                        tooltip.add(TextHelper.localize("tooltip.bloodmagic.livingArmour.upgrade.level", TextHelper.localize(upgrade.getUnlocalizedName()), upgrade.getUpgradeLevel() + 1));
                     }
                 }
             }
 
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.livingArmour.upgrade.points", armour.totalUpgradePoints, armour.maxUpgradePoints));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.livingArmour.upgrade.points", armour.totalUpgradePoints, armour.maxUpgradePoints));
             if (!(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && Keyboard.isKeyDown(Keyboard.KEY_M)))
             {
-                tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.livingArmour.extraExtraInfo"));
+                tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.livingArmour.extraExtraInfo"));
             }
         }
 
diff --git a/src/main/java/WayofTime/bloodmagic/item/block/ItemBlockBloodTank.java b/src/main/java/WayofTime/bloodmagic/item/block/ItemBlockBloodTank.java
index 48b35ea4..d2169ec6 100644
--- a/src/main/java/WayofTime/bloodmagic/item/block/ItemBlockBloodTank.java
+++ b/src/main/java/WayofTime/bloodmagic/item/block/ItemBlockBloodTank.java
@@ -42,27 +42,27 @@ public class ItemBlockBloodTank extends ItemBlock
         if (stack.hasTagCompound() && stack.getTagCompound().hasKey(Constants.NBT.TANK) && !stack.getTagCompound().getCompoundTag(Constants.NBT.TANK).getString("FluidName").equals(""))
         {
             NBTTagCompound tag = stack.getTagCompound().getCompoundTag(Constants.NBT.TANK);
-            return super.getItemStackDisplayName(stack) + " " + TextHelper.localizeEffect("tooltip.BloodMagic.tier", stack.getItemDamage() + 1) + " (" + FluidStack.loadFluidStackFromNBT(tag).getLocalizedName() + ")";
+            return super.getItemStackDisplayName(stack) + " " + TextHelper.localizeEffect("tooltip.bloodmagic.tier", stack.getItemDamage() + 1) + " (" + FluidStack.loadFluidStackFromNBT(tag).getLocalizedName() + ")";
         }
         else
         {
-            return super.getItemStackDisplayName(stack) + " " + TextHelper.localizeEffect("tooltip.BloodMagic.tier", stack.getItemDamage() + 1);
+            return super.getItemStackDisplayName(stack) + " " + TextHelper.localizeEffect("tooltip.bloodmagic.tier", stack.getItemDamage() + 1);
         }
     }
 
     @Override
     public void addInformation(ItemStack stack, EntityPlayer entityPlayer, List<String> tooltip, boolean advanced)
     {
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.tier", stack.getItemDamage() + 1));
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.fluid.capacity") + ": " + getCapacity(stack) + "mB");
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.tier", stack.getItemDamage() + 1));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.fluid.capacity") + ": " + getCapacity(stack) + "mB");
         if (stack.hasTagCompound())
         {
             NBTTagCompound tag = stack.getTagCompound().getCompoundTag(Constants.NBT.TANK);
             FluidStack fluidStack = FluidStack.loadFluidStackFromNBT(tag);
             if (!Strings.isNullOrEmpty(tag.getString("FluidName")) && fluidStack != null)
             {
-                tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.fluid.type") + ": " + fluidStack.getLocalizedName());
-                tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.fluid.amount") + ": " + tag.getInteger("Amount") + "/" + getCapacity(stack) + "mB");
+                tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.fluid.type") + ": " + fluidStack.getLocalizedName());
+                tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.fluid.amount") + ": " + tag.getInteger("Amount") + "/" + getCapacity(stack) + "mB");
             }
         }
     }
diff --git a/src/main/java/WayofTime/bloodmagic/item/gear/ItemPackSacrifice.java b/src/main/java/WayofTime/bloodmagic/item/gear/ItemPackSacrifice.java
index 57bceebb..cf9f222a 100644
--- a/src/main/java/WayofTime/bloodmagic/item/gear/ItemPackSacrifice.java
+++ b/src/main/java/WayofTime/bloodmagic/item/gear/ItemPackSacrifice.java
@@ -78,8 +78,8 @@ public class ItemPackSacrifice extends ItemArmor implements IAltarManipulator, I
         if (!stack.hasTagCompound())
             return;
 
-        list.add(TextHelper.localize("tooltip.BloodMagic.pack.sacrifice.desc"));
-        list.add(TextHelper.localize("tooltip.BloodMagic.pack.stored", getStoredLP(stack)));
+        list.add(TextHelper.localize("tooltip.bloodmagic.pack.sacrifice.desc"));
+        list.add(TextHelper.localize("tooltip.bloodmagic.pack.stored", getStoredLP(stack)));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/gear/ItemPackSelfSacrifice.java b/src/main/java/WayofTime/bloodmagic/item/gear/ItemPackSelfSacrifice.java
index c71772d4..bba354f1 100644
--- a/src/main/java/WayofTime/bloodmagic/item/gear/ItemPackSelfSacrifice.java
+++ b/src/main/java/WayofTime/bloodmagic/item/gear/ItemPackSelfSacrifice.java
@@ -104,8 +104,8 @@ public class ItemPackSelfSacrifice extends ItemArmor implements IAltarManipulato
     {
         if (!stack.hasTagCompound())
             return;
-        list.add(TextHelper.localize("tooltip.BloodMagic.pack.selfSacrifice.desc"));
-        list.add(TextHelper.localize("tooltip.BloodMagic.pack.stored", getStoredLP(stack)));
+        list.add(TextHelper.localize("tooltip.bloodmagic.pack.selfSacrifice.desc"));
+        list.add(TextHelper.localize("tooltip.bloodmagic.pack.stored", getStoredLP(stack)));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/routing/ItemNodeRouter.java b/src/main/java/WayofTime/bloodmagic/item/routing/ItemNodeRouter.java
index 98f0d385..9efc7c0b 100644
--- a/src/main/java/WayofTime/bloodmagic/item/routing/ItemNodeRouter.java
+++ b/src/main/java/WayofTime/bloodmagic/item/routing/ItemNodeRouter.java
@@ -48,7 +48,7 @@ public class ItemNodeRouter extends Item implements INodeRenderer, IVariantProvi
 
         if (coords != null && tag != null)
         {
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.telepositionFocus.coords", coords.getX(), coords.getY(), coords.getZ()));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.telepositionFocus.coords", coords.getX(), coords.getY(), coords.getZ()));
         }
     }
 
@@ -70,7 +70,7 @@ public class ItemNodeRouter extends Item implements INodeRenderer, IVariantProvi
             if (!containedPos.equals(BlockPos.ORIGIN))
             {
                 this.setBlockPos(stack, BlockPos.ORIGIN);
-                ChatUtil.sendChat(player, TextHelper.localize("chat.BloodMagic.routing.remove"));
+                ChatUtil.sendChat(player, TextHelper.localize("chat.bloodmagic.routing.remove"));
                 return EnumActionResult.FAIL;
             }
             return EnumActionResult.FAIL;
@@ -80,7 +80,7 @@ public class ItemNodeRouter extends Item implements INodeRenderer, IVariantProvi
         if (containedPos.equals(BlockPos.ORIGIN))
         {
             this.setBlockPos(stack, pos);
-            ChatUtil.sendChat(player, TextHelper.localize("chat.BloodMagic.routing.set"));
+            ChatUtil.sendChat(player, TextHelper.localize("chat.bloodmagic.routing.set"));
             return EnumActionResult.SUCCESS;
         } else
         {
@@ -100,7 +100,7 @@ public class ItemNodeRouter extends Item implements INodeRenderer, IVariantProvi
                             master.addConnection(pos, containedPos);
                             master.addNodeToList(node);
                             node.addConnection(containedPos);
-                            ChatUtil.sendChat(player, TextHelper.localize("chat.BloodMagic.routing.link.master"));
+                            ChatUtil.sendChat(player, TextHelper.localize("chat.bloodmagic.routing.link.master"));
                             this.setBlockPos(stack, BlockPos.ORIGIN);
                             return EnumActionResult.SUCCESS;
                         }
@@ -108,7 +108,7 @@ public class ItemNodeRouter extends Item implements INodeRenderer, IVariantProvi
                     {
                         master.addConnection(pos, containedPos);
                         node.addConnection(containedPos);
-                        ChatUtil.sendChat(player, TextHelper.localize("chat.BloodMagic.routing.link.master"));
+                        ChatUtil.sendChat(player, TextHelper.localize("chat.bloodmagic.routing.link.master"));
                         this.setBlockPos(stack, BlockPos.ORIGIN);
                         return EnumActionResult.SUCCESS;
                     }
@@ -125,7 +125,7 @@ public class ItemNodeRouter extends Item implements INodeRenderer, IVariantProvi
                             master.addConnection(pos, containedPos);
                             pastNode.addConnection(pos);
                             master.addNodeToList(pastNode);
-                            ChatUtil.sendChat(player, TextHelper.localize("chat.BloodMagic.routing.link.master"));
+                            ChatUtil.sendChat(player, TextHelper.localize("chat.bloodmagic.routing.link.master"));
                             this.setBlockPos(stack, BlockPos.ORIGIN);
                             return EnumActionResult.SUCCESS;
                         }
@@ -133,7 +133,7 @@ public class ItemNodeRouter extends Item implements INodeRenderer, IVariantProvi
                     {
                         master.addConnection(pos, containedPos);
                         pastNode.addConnection(pos);
-                        ChatUtil.sendChat(player, TextHelper.localize("chat.BloodMagic.routing.link.master"));
+                        ChatUtil.sendChat(player, TextHelper.localize("chat.bloodmagic.routing.link.master"));
                         this.setBlockPos(stack, BlockPos.ORIGIN);
                         return EnumActionResult.SUCCESS;
                     }
@@ -153,7 +153,7 @@ public class ItemNodeRouter extends Item implements INodeRenderer, IVariantProvi
                         }
                         pastNode.addConnection(pos);
                         node.addConnection(containedPos);
-                        ChatUtil.sendChat(player, TextHelper.localize("chat.BloodMagic.routing.link"));
+                        ChatUtil.sendChat(player, TextHelper.localize("chat.bloodmagic.routing.link"));
                         this.setBlockPos(stack, BlockPos.ORIGIN);
                         return EnumActionResult.SUCCESS;
                     } else if (pastNode.getMasterPos().equals(BlockPos.ORIGIN)) //pastNode is not connected to a master, but node is
@@ -168,7 +168,7 @@ public class ItemNodeRouter extends Item implements INodeRenderer, IVariantProvi
                         }
                         pastNode.addConnection(pos);
                         node.addConnection(containedPos);
-                        ChatUtil.sendChat(player, TextHelper.localize("chat.BloodMagic.routing.link"));
+                        ChatUtil.sendChat(player, TextHelper.localize("chat.bloodmagic.routing.link"));
                         this.setBlockPos(stack, BlockPos.ORIGIN);
                         return EnumActionResult.SUCCESS;
                     } else if (node.getMasterPos().equals(BlockPos.ORIGIN)) //node is not connected to a master, but pastNode is
@@ -183,7 +183,7 @@ public class ItemNodeRouter extends Item implements INodeRenderer, IVariantProvi
                         }
                         pastNode.addConnection(pos);
                         node.addConnection(containedPos);
-                        ChatUtil.sendChat(player, TextHelper.localize("chat.BloodMagic.routing.link"));
+                        ChatUtil.sendChat(player, TextHelper.localize("chat.bloodmagic.routing.link"));
                         this.setBlockPos(stack, BlockPos.ORIGIN);
                         return EnumActionResult.SUCCESS;
                     } else
diff --git a/src/main/java/WayofTime/bloodmagic/item/routing/ItemRouterFilter.java b/src/main/java/WayofTime/bloodmagic/item/routing/ItemRouterFilter.java
index 2888a9b7..e1fbaea8 100644
--- a/src/main/java/WayofTime/bloodmagic/item/routing/ItemRouterFilter.java
+++ b/src/main/java/WayofTime/bloodmagic/item/routing/ItemRouterFilter.java
@@ -60,7 +60,7 @@ public class ItemRouterFilter extends Item implements IItemFilterProvider, IVari
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.add(TextHelper.localize("tooltip.BloodMagic.itemFilter." + names[stack.getItemDamage()]));
+        tooltip.add(TextHelper.localize("tooltip.bloodmagic.itemFilter." + names[stack.getItemDamage()]));
 
         super.addInformation(stack, player, tooltip, advanced);
     }
diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBase.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBase.java
index 99c4ea50..d7118cda 100644
--- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBase.java
+++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBase.java
@@ -36,7 +36,7 @@ public class ItemSigilBase extends ItemSigil implements IVariantProvider
         setCreativeTab(BloodMagic.tabBloodMagic);
 
         this.name = name;
-        this.tooltipBase = "tooltip.BloodMagic.sigil." + name + ".";
+        this.tooltipBase = "tooltip.bloodmagic.sigil." + name + ".";
     }
 
     public ItemSigilBase(String name)
@@ -55,7 +55,7 @@ public class ItemSigilBase extends ItemSigil implements IVariantProvider
             return;
 
         if (!Strings.isNullOrEmpty(getOwnerName(stack)))
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
 
         super.addInformation(stack, player, tooltip, advanced);
     }
diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHolding.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHolding.java
index e85558f2..cd3909c9 100644
--- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHolding.java
+++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHolding.java
@@ -66,7 +66,7 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
         if (item == null)
             return displayName;
         else
-            return TextHelper.localizeEffect("item.BloodMagic.sigil.holding.display", displayName, item.getDisplayName());
+            return TextHelper.localizeEffect("item.bloodmagic.sigil.holding.display", displayName, item.getDisplayName());
     }
 
     @Override
@@ -74,7 +74,7 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
         super.addInformation(stack, player, tooltip, advanced);
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.sigil.holding.press", KeyBindings.OPEN_HOLDING.getKey().getDisplayName()));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.sigil.holding.press", KeyBindings.OPEN_HOLDING.getKey().getDisplayName()));
 
         if (!stack.hasTagCompound())
             return;
@@ -91,9 +91,9 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl
         {
             if (inv[i] != null)
                 if (item != null && inv[i] == item)
-                    tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.sigil.holding.sigilInSlot", i + 1, "&o&n" + inv[i].getDisplayName()));
+                    tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.sigil.holding.sigilInSlot", i + 1, "&o&n" + inv[i].getDisplayName()));
                 else
-                    tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.sigil.holding.sigilInSlot", i + 1, inv[i].getDisplayName()));
+                    tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.sigil.holding.sigilInSlot", i + 1, inv[i].getDisplayName()));
         }
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTeleposition.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTeleposition.java
index fa5b03ae..291ff24b 100644
--- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTeleposition.java
+++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTeleposition.java
@@ -41,8 +41,8 @@ public class ItemSigilTeleposition extends ItemSigilBase
         if (tag != null && stack.getTagCompound().hasKey(Constants.NBT.DIMENSION_ID) && stack.getTagCompound().hasKey(Constants.NBT.X_COORD) && stack.getTagCompound().hasKey(Constants.NBT.Y_COORD) && stack.getTagCompound().hasKey(Constants.NBT.Z_COORD))
         {
             tooltip.add(" ");
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.telepositionFocus.coords", getValue(tag, Constants.NBT.X_COORD), getValue(tag, Constants.NBT.Y_COORD), getValue(tag, Constants.NBT.Z_COORD)));
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.telepositionFocus.dimension", getValue(tag, Constants.NBT.DIMENSION_ID)));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.telepositionFocus.coords", getValue(tag, Constants.NBT.X_COORD), getValue(tag, Constants.NBT.Y_COORD), getValue(tag, Constants.NBT.Z_COORD)));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.telepositionFocus.dimension", getValue(tag, Constants.NBT.DIMENSION_ID)));
         }
     }
 
diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilToggleableBase.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilToggleableBase.java
index 26a98b4f..63692bb4 100644
--- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilToggleableBase.java
+++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilToggleableBase.java
@@ -36,7 +36,7 @@ public class ItemSigilToggleableBase extends ItemSigilToggleable implements IMes
         setCreativeTab(BloodMagic.tabBloodMagic);
 
         this.name = name;
-        this.tooltipBase = "tooltip.BloodMagic.sigil." + name + ".";
+        this.tooltipBase = "tooltip.bloodmagic.sigil." + name + ".";
     }
 
     @Override
@@ -46,10 +46,10 @@ public class ItemSigilToggleableBase extends ItemSigilToggleable implements IMes
         super.addInformation(stack, player, tooltip, advanced);
         if (!stack.hasTagCompound())
             return;
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic." + (getActivated(stack) ? "activated" : "deactivated")));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic." + (getActivated(stack) ? "activated" : "deactivated")));
 
         if (!Strings.isNullOrEmpty(getOwnerName(stack)))
-            tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
+            tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentOwner", PlayerHelper.getUsernameFromStack(stack)));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/soul/ItemMonsterSoul.java b/src/main/java/WayofTime/bloodmagic/item/soul/ItemMonsterSoul.java
index 515f6440..d181f80a 100644
--- a/src/main/java/WayofTime/bloodmagic/item/soul/ItemMonsterSoul.java
+++ b/src/main/java/WayofTime/bloodmagic/item/soul/ItemMonsterSoul.java
@@ -56,7 +56,7 @@ public class ItemMonsterSoul extends Item implements IDemonWill, IVariantProvide
     {
         if (!stack.hasTagCompound())
             return;
-        tooltip.add(TextHelper.localize("tooltip.BloodMagic.will", getWill(getType(stack), stack)));
+        tooltip.add(TextHelper.localize("tooltip.bloodmagic.will", getWill(getType(stack), stack)));
 
         super.addInformation(stack, player, tooltip, advanced);
     }
diff --git a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientAxe.java b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientAxe.java
index eca6badd..9258b7ed 100644
--- a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientAxe.java
+++ b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientAxe.java
@@ -307,8 +307,8 @@ public class ItemSentientAxe extends ItemAxe implements IDemonWillWeapon, IMeshP
         if (!stack.hasTagCompound())
             return;
 
-        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.sentientAxe.desc"))));
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentType." + getCurrentType(stack).getName().toLowerCase()));
+        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.sentientAxe.desc"))));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentType." + getCurrentType(stack).getName().toLowerCase()));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientPickaxe.java b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientPickaxe.java
index 96bd90db..42b4c6ed 100644
--- a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientPickaxe.java
+++ b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientPickaxe.java
@@ -306,8 +306,8 @@ public class ItemSentientPickaxe extends ItemPickaxe implements IDemonWillWeapon
         if (!stack.hasTagCompound())
             return;
 
-        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.sentientPickaxe.desc"))));
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentType." + getCurrentType(stack).getName().toLowerCase()));
+        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.sentientPickaxe.desc"))));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentType." + getCurrentType(stack).getName().toLowerCase()));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientShovel.java b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientShovel.java
index ed3a1c3e..1863650e 100644
--- a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientShovel.java
+++ b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientShovel.java
@@ -307,8 +307,8 @@ public class ItemSentientShovel extends ItemSpade implements IDemonWillWeapon, I
         if (!stack.hasTagCompound())
             return;
 
-        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.sentientShovel.desc"))));
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentType." + getCurrentType(stack).getName().toLowerCase()));
+        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.sentientShovel.desc"))));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentType." + getCurrentType(stack).getName().toLowerCase()));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientSword.java b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientSword.java
index cb39ba52..328bbebc 100644
--- a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientSword.java
+++ b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSentientSword.java
@@ -278,8 +278,8 @@ public class ItemSentientSword extends ItemSword implements IDemonWillWeapon, IM
         if (!stack.hasTagCompound())
             return;
 
-        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.sentientSword.desc"))));
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentType." + getCurrentType(stack).getName().toLowerCase()));
+        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.sentientSword.desc"))));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentType." + getCurrentType(stack).getName().toLowerCase()));
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSoulGem.java b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSoulGem.java
index dd31e472..ecb02a04 100644
--- a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSoulGem.java
+++ b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSoulGem.java
@@ -120,9 +120,9 @@ public class ItemSoulGem extends Item implements IDemonWillGem, IMeshProvider, I
             return;
 
         EnumDemonWillType type = this.getCurrentType(stack);
-        tooltip.add(TextHelper.localize("tooltip.BloodMagic.soulGem." + names[stack.getItemDamage()]));
-        tooltip.add(TextHelper.localize("tooltip.BloodMagic.will", getWill(type, stack)));
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.currentType." + getCurrentType(stack).getName().toLowerCase()));
+        tooltip.add(TextHelper.localize("tooltip.bloodmagic.soulGem." + names[stack.getItemDamage()]));
+        tooltip.add(TextHelper.localize("tooltip.bloodmagic.will", getWill(type, stack)));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.currentType." + getCurrentType(stack).getName().toLowerCase()));
 
         super.addInformation(stack, player, tooltip, advanced);
     }
diff --git a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSoulSnare.java b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSoulSnare.java
index e1dfb842..dc61d420 100644
--- a/src/main/java/WayofTime/bloodmagic/item/soul/ItemSoulSnare.java
+++ b/src/main/java/WayofTime/bloodmagic/item/soul/ItemSoulSnare.java
@@ -75,7 +75,7 @@ public class ItemSoulSnare extends Item implements IVariantProvider
     @SideOnly(Side.CLIENT)
     public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced)
     {
-        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.BloodMagic.soulSnare.desc"))));
+        tooltip.addAll(Arrays.asList(TextHelper.cutLongString(TextHelper.localizeEffect("tooltip.bloodmagic.soulSnare.desc"))));
 
         super.addInformation(stack, player, tooltip, advanced);
     }
diff --git a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java
index 9c1e1728..4507ba7e 100644
--- a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java
+++ b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java
@@ -29,7 +29,7 @@ import com.google.common.collect.Multimap;
 
 public class LivingArmour implements ILivingArmour
 {
-    public static String chatBase = "chat.BloodMagic.livingArmour.";
+    public static String chatBase = "chat.bloodmagic.livingArmour.";
     public HashMap<String, StatTracker> trackerMap = new HashMap<String, StatTracker>();
     public HashMap<String, LivingArmourUpgrade> upgradeMap = new HashMap<String, LivingArmourUpgrade>();
 
diff --git a/src/main/java/WayofTime/bloodmagic/potion/item/ItemPotionFlask.java b/src/main/java/WayofTime/bloodmagic/potion/item/ItemPotionFlask.java
index 05fc2117..cf04c6d8 100644
--- a/src/main/java/WayofTime/bloodmagic/potion/item/ItemPotionFlask.java
+++ b/src/main/java/WayofTime/bloodmagic/potion/item/ItemPotionFlask.java
@@ -94,7 +94,7 @@ public class ItemPotionFlask extends Item implements IVariantProvider
     {
         PotionUtils.addPotionTooltip(stack, tooltip, 1.0F);
         tooltip.add("");
-        tooltip.add(TextHelper.localizeEffect("tooltip.BloodMagic.potion.uses", stack.getMaxDamage() - stack.getItemDamage()));
+        tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.potion.uses", stack.getMaxDamage() - stack.getItemDamage()));
     }
 
 //    @Override
diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java
index 82a41b2e..576a5ebc 100644
--- a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java
+++ b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java
@@ -511,7 +511,7 @@ public class ModRecipes
 
     public static void addLivingArmourDowngradeRecipes()
     {
-        String messageBase = "ritual.BloodMagic.downgradeRitual.dialogue.";
+        String messageBase = "ritual.bloodmagic.downgradeRitual.dialogue.";
 
         ItemStack bowStack = new ItemStack(Items.BOW);
         ItemStack bottleStack = new ItemStack(Items.POTIONITEM, 1, 0);
diff --git a/src/main/java/WayofTime/bloodmagic/ritual/RitualLivingArmourDowngrade.java b/src/main/java/WayofTime/bloodmagic/ritual/RitualLivingArmourDowngrade.java
index 1895d037..3b144d8e 100644
--- a/src/main/java/WayofTime/bloodmagic/ritual/RitualLivingArmourDowngrade.java
+++ b/src/main/java/WayofTime/bloodmagic/ritual/RitualLivingArmourDowngrade.java
@@ -65,9 +65,8 @@ public class RitualLivingArmourDowngrade extends Ritual
         {
             if (player.getUniqueID().toString().equals(masterRitualStone.getOwner()))
             {
-                isActivatorPresent = true;
                 ItemStack keyStack = getStackFromItemFrame(world, masterPos, masterRitualStone.getDirection());
-                if (keyStack == null)
+                if (keyStack.isEmpty())
                 {
                     return;
                 }
@@ -101,7 +100,7 @@ public class RitualLivingArmourDowngrade extends Ritual
                         for (int i = 0; i < inv.getSlots(); i++)
                         {
                             ItemStack invStack = inv.getStackInSlot(i);
-                            if (invStack != null)
+                            if (!invStack.isEmpty())
                             {
                                 recipeList.add(invStack);
                             }
@@ -176,13 +175,13 @@ public class RitualLivingArmourDowngrade extends Ritual
         List<EntityItemFrame> frames = world.getEntitiesWithinAABB(EntityItemFrame.class, bb);
         for (EntityItemFrame frame : frames)
         {
-            if (frame.getDisplayedItem() != null)
+            if (!frame.getDisplayedItem().isEmpty())
             {
                 return frame.getDisplayedItem();
             }
         }
 
-        return null;
+        return ItemStack.EMPTY;
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/structures/DungeonRoomLoader.java b/src/main/java/WayofTime/bloodmagic/structures/DungeonRoomLoader.java
index 199a4763..05b3f415 100644
--- a/src/main/java/WayofTime/bloodmagic/structures/DungeonRoomLoader.java
+++ b/src/main/java/WayofTime/bloodmagic/structures/DungeonRoomLoader.java
@@ -56,7 +56,7 @@ public class DungeonRoomLoader
     {
         try
         {
-            URL schematicURL = DungeonRoomLoader.class.getResource(resLocToResourcePath(new ResourceLocation("bloodmagic:Schematics")));
+            URL schematicURL = DungeonRoomLoader.class.getResource(resLocToResourcePath(new ResourceLocation("bloodmagic:schematics")));
             List<String> schematics = Serializers.GSON.fromJson(Resources.toString(schematicURL, Charsets.UTF_8), new TypeToken<List<String>>(){}.getType());
             for (String schematicKey : schematics)
             {
diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrucible.java b/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrucible.java
index 61c75ec9..0308178f 100644
--- a/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrucible.java
+++ b/src/main/java/WayofTime/bloodmagic/tile/TileDemonCrucible.java
@@ -41,27 +41,24 @@ public class TileDemonCrucible extends TileInventory implements ITickable, IDemo
         {
             //TODO: Fill the contained gem if it is there.
             ItemStack stack = this.getStackInSlot(0);
-            if (stack != null)
+            if (stack.getItem() instanceof IDemonWillGem)
             {
-                if (stack.getItem() instanceof IDemonWillGem)
+                IDemonWillGem gemItem = (IDemonWillGem) stack.getItem();
+                for (EnumDemonWillType type : EnumDemonWillType.values())
                 {
-                    IDemonWillGem gemItem = (IDemonWillGem) stack.getItem();
-                    for (EnumDemonWillType type : EnumDemonWillType.values())
+                    if (willMap.containsKey(type))
                     {
-                        if (willMap.containsKey(type))
+                        double current = willMap.get(type);
+                        double fillAmount = Math.min(gemDrainRate, current);
+                        if (fillAmount > 0)
                         {
-                            double current = willMap.get(type);
-                            double fillAmount = Math.min(gemDrainRate, current);
-                            if (fillAmount > 0)
+                            fillAmount = gemItem.fillWill(type, stack, fillAmount, true);
+                            if (willMap.get(type) - fillAmount <= 0)
                             {
-                                fillAmount = gemItem.fillWill(type, stack, fillAmount, true);
-                                if (willMap.get(type) - fillAmount <= 0)
-                                {
-                                    willMap.remove(type);
-                                } else
-                                {
-                                    willMap.put(type, willMap.get(type) - fillAmount);
-                                }
+                                willMap.remove(type);
+                            } else
+                            {
+                                willMap.put(type, willMap.get(type) - fillAmount);
                             }
                         }
                     }
diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileInventory.java b/src/main/java/WayofTime/bloodmagic/tile/TileInventory.java
index 2480bb68..e99970e5 100644
--- a/src/main/java/WayofTime/bloodmagic/tile/TileInventory.java
+++ b/src/main/java/WayofTime/bloodmagic/tile/TileInventory.java
@@ -9,6 +9,7 @@ import net.minecraft.item.ItemStack;
 import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.nbt.NBTTagList;
 import net.minecraft.util.EnumFacing;
+import net.minecraft.util.NonNullList;
 import net.minecraft.util.text.ITextComponent;
 import net.minecraft.util.text.TextComponentString;
 import net.minecraftforge.common.capabilities.Capability;
@@ -21,13 +22,13 @@ import WayofTime.bloodmagic.util.helper.TextHelper;
 public class TileInventory extends TileBase implements IInventory
 {
     protected int[] syncedSlots = new int[0];
-    protected ItemStack[] inventory;
+    protected NonNullList<ItemStack> inventory;
     private int size;
     private String name;
 
     public TileInventory(int size, String name)
     {
-        this.inventory = new ItemStack[size];
+        this.inventory = NonNullList.withSize(size, ItemStack.EMPTY);
         this.size = size;
         this.name = name;
         initializeItemHandlers();
@@ -50,7 +51,7 @@ public class TileInventory extends TileBase implements IInventory
     {
         super.deserialize(tagCompound);
         NBTTagList tags = tagCompound.getTagList("Items", 10);
-        inventory = new ItemStack[getSizeInventory()];
+        inventory = NonNullList.withSize(size, ItemStack.EMPTY);
 
         for (int i = 0; i < tags.tagCount(); i++)
         {
@@ -59,9 +60,9 @@ public class TileInventory extends TileBase implements IInventory
                 NBTTagCompound data = tags.getCompoundTagAt(i);
                 byte j = data.getByte("Slot");
 
-                if (j >= 0 && j < inventory.length)
+                if (j >= 0 && j < inventory.size())
                 {
-                    inventory[j] = new ItemStack(data);
+                    inventory.set(i, new ItemStack(data));
                 }
             }
         }
@@ -73,13 +74,13 @@ public class TileInventory extends TileBase implements IInventory
         super.serialize(tagCompound);
         NBTTagList tags = new NBTTagList();
 
-        for (int i = 0; i < inventory.length; i++)
+        for (int i = 0; i < inventory.size(); i++)
         {
-            if ((!inventory[i].isEmpty()) && !isSyncedSlot(i))
+            if ((!inventory.get(i).isEmpty()) && !isSyncedSlot(i))
             {
                 NBTTagCompound data = new NBTTagCompound();
                 data.setByte("Slot", (byte) i);
-                inventory[i].writeToNBT(data);
+                inventory.get(i).writeToNBT(data);
                 tags.appendTag(data);
             }
         }
@@ -104,52 +105,49 @@ public class TileInventory extends TileBase implements IInventory
     @Override
     public ItemStack getStackInSlot(int index)
     {
-        return inventory[index];
+        return inventory.get(index);
     }
 
     @Override
     public ItemStack decrStackSize(int index, int count)
     {
-        if (inventory[index] != null)
+        if (!getStackInSlot(index).isEmpty())
         {
             if (!getWorld().isRemote)
                 getWorld().notifyBlockUpdate(getPos(), getWorld().getBlockState(getPos()), getWorld().getBlockState(getPos()), 3);
 
-            if (inventory[index].getCount() <= count)
+            if (getStackInSlot(index).getCount() <= count)
             {
-                ItemStack itemStack = inventory[index];
-                inventory[index] = null;
+                ItemStack itemStack = inventory.get(index);
+                inventory.set(index, ItemStack.EMPTY);
                 markDirty();
                 return itemStack;
             }
 
-            ItemStack itemStack = inventory[index].splitStack(count);
-            if (inventory[index].getCount() == 0)
-                inventory[index] = null;
-
+            ItemStack itemStack = inventory.get(index).splitStack(count);
             markDirty();
             return itemStack;
         }
 
-        return null;
+        return ItemStack.EMPTY;
     }
 
     @Override
     public ItemStack removeStackFromSlot(int slot)
     {
-        if (inventory[slot] != null)
+        if (!inventory.get(slot).isEmpty())
         {
-            ItemStack itemStack = inventory[slot];
-            setInventorySlotContents(slot, null);
+            ItemStack itemStack = inventory.get(slot);
+            setInventorySlotContents(slot, ItemStack.EMPTY);
             return itemStack;
         }
-        return null;
+        return ItemStack.EMPTY;
     }
 
     @Override
     public void setInventorySlotContents(int slot, ItemStack stack)
     {
-        inventory[slot] = stack;
+        inventory.set(slot, stack);
         if (!stack.isEmpty() && stack.getCount() > getInventoryStackLimit())
             stack.setCount(getInventoryStackLimit());
         markDirty();
@@ -202,7 +200,7 @@ public class TileInventory extends TileBase implements IInventory
     @Override
     public void clear()
     {
-        this.inventory = new ItemStack[size];
+        this.inventory = NonNullList.withSize(size, ItemStack.EMPTY);
     }
 
     @Override
@@ -224,7 +222,7 @@ public class TileInventory extends TileBase implements IInventory
     @Override
     public String getName()
     {
-        return TextHelper.localize("tile.BloodMagic." + name + ".name");
+        return TextHelper.localize("tile.bloodmagic." + name + ".name");
     }
 
     @Override
diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileMasterRitualStone.java b/src/main/java/WayofTime/bloodmagic/tile/TileMasterRitualStone.java
index f5167081..dba2eb2a 100644
--- a/src/main/java/WayofTime/bloodmagic/tile/TileMasterRitualStone.java
+++ b/src/main/java/WayofTime/bloodmagic/tile/TileMasterRitualStone.java
@@ -155,7 +155,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
 
                         if (!isRedstoned() && network.getCurrentEssence() < ritual.getActivationCost() && !activator.capabilities.isCreativeMode)
                         {
-                            ChatUtil.sendNoSpamUnloc(activator, "chat.BloodMagic.ritual.weak");
+                            ChatUtil.sendNoSpamUnloc(activator, "chat.bloodmagic.ritual.weak");
                             return false;
                         }
 
@@ -166,7 +166,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
 
                         if (MinecraftForge.EVENT_BUS.post(event) || event.getResult() == Event.Result.DENY)
                         {
-                            ChatUtil.sendNoSpamUnloc(activator, "chat.BloodMagic.ritual.prevent");
+                            ChatUtil.sendNoSpamUnloc(activator, "chat.bloodmagic.ritual.prevent");
                             return false;
                         }
 
@@ -175,7 +175,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
                             if (!isRedstoned() && !activator.capabilities.isCreativeMode)
                                 network.syphon(ritual.getActivationCost());
 
-                            ChatUtil.sendNoSpamUnloc(activator, "chat.BloodMagic.ritual.activate");
+                            ChatUtil.sendNoSpamUnloc(activator, "chat.bloodmagic.ritual.activate");
 
                             this.active = true;
                             this.owner = crystalOwner;
@@ -192,7 +192,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
             }
         } else
         {
-            ChatUtil.sendNoSpamUnloc(activator, "chat.BloodMagic.ritual.notValid");
+            ChatUtil.sendNoSpamUnloc(activator, "chat.bloodmagic.ritual.notValid");
         }
 
         return false;
@@ -351,7 +351,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
                 ChatUtil.sendNoSpam(player, this.currentRitual.getErrorForBlockRangeOnFail(player, range, this, offset1, offset2));
             } else
             {
-                ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.BloodMagic.blockRange.success"));
+                ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.bloodmagic.blockRange.success"));
             }
 
             return allowed;
@@ -359,7 +359,7 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
 
         if (player != null)
         {
-            ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.BloodMagic.blockRange.inactive"));
+            ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.bloodmagic.blockRange.inactive"));
         }
 
         return false;
@@ -387,13 +387,13 @@ public class TileMasterRitualStone extends TileTicking implements IMasterRitualS
 
             for (int i = 0; i < typeList.size(); i++)
             {
-                translations[i] = new TextComponentTranslation("tooltip.BloodMagic.currentBaseType." + typeList.get(i).name.toLowerCase());
+                translations[i] = new TextComponentTranslation("tooltip.bloodmagic.currentBaseType." + typeList.get(i).name.toLowerCase());
             }
 
-            ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.BloodMagic.willConfig.set", new TextComponentTranslation(constructedString, translations)));
+            ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.bloodmagic.willConfig.set", new TextComponentTranslation(constructedString, translations)));
         } else
         {
-            ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.BloodMagic.willConfig.void"));
+            ChatUtil.sendNoSpam(player, new TextComponentTranslation("ritual.bloodmagic.willConfig.void"));
         }
     }
 }
diff --git a/src/main/java/WayofTime/bloodmagic/tile/TileMimic.java b/src/main/java/WayofTime/bloodmagic/tile/TileMimic.java
index b36f1e8d..a8257058 100644
--- a/src/main/java/WayofTime/bloodmagic/tile/TileMimic.java
+++ b/src/main/java/WayofTime/bloodmagic/tile/TileMimic.java
@@ -119,7 +119,7 @@ public class TileMimic extends TileInventory implements ITickable
                 {
                     setInventorySlotContents(1, heldItem.copy());
                     world.notifyBlockUpdate(pos, state, state, 3);
-                    ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.BloodMagic.mimic.potionSet"));
+                    ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.potionSet"));
                 }
                 return true;
             } else if (heldItem.getItem() == ModItems.POTION_FLASK)
@@ -129,7 +129,7 @@ public class TileMimic extends TileInventory implements ITickable
                 {
                     setInventorySlotContents(1, null);
                     world.notifyBlockUpdate(pos, state, state, 3);
-                    ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.BloodMagic.mimic.potionRemove"));
+                    ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.potionRemove"));
                 }
                 return true;
             }
@@ -174,11 +174,11 @@ public class TileMimic extends TileInventory implements ITickable
                 if (player.isSneaking())
                 {
                     playerCheckRadius = Math.max(playerCheckRadius - 1, 0);
-                    ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.BloodMagic.mimic.detectRadius.down", playerCheckRadius));
+                    ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.detectRadius.down", playerCheckRadius));
                 } else
                 {
                     playerCheckRadius++;
-                    ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.BloodMagic.mimic.detectRadius.up", playerCheckRadius));
+                    ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.detectRadius.up", playerCheckRadius));
                 }
 
                 return false;
@@ -200,11 +200,11 @@ public class TileMimic extends TileInventory implements ITickable
                     if (player.isSneaking())
                     {
                         potionSpawnRadius = Math.max(potionSpawnRadius - 1, 0);
-                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.BloodMagic.mimic.potionSpawnRadius.down", potionSpawnRadius));
+                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.potionSpawnRadius.down", potionSpawnRadius));
                     } else
                     {
                         potionSpawnRadius++;
-                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.BloodMagic.mimic.potionSpawnRadius.up", potionSpawnRadius));
+                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.potionSpawnRadius.up", potionSpawnRadius));
                     }
                     break;
                 case NORTH: //When the block is clicked on the NORTH or SOUTH side, detectRadius is edited.
@@ -212,11 +212,11 @@ public class TileMimic extends TileInventory implements ITickable
                     if (player.isSneaking())
                     {
                         playerCheckRadius = Math.max(playerCheckRadius - 1, 0);
-                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.BloodMagic.mimic.detectRadius.down", playerCheckRadius));
+                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.detectRadius.down", playerCheckRadius));
                     } else
                     {
                         playerCheckRadius++;
-                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.BloodMagic.mimic.detectRadius.up", playerCheckRadius));
+                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.detectRadius.up", playerCheckRadius));
                     }
                     break;
                 case UP: //When the block is clicked on the UP or DOWN side, potionSpawnInterval is edited.
@@ -224,11 +224,11 @@ public class TileMimic extends TileInventory implements ITickable
                     if (player.isSneaking())
                     {
                         potionSpawnInterval = Math.max(potionSpawnInterval - 1, 1);
-                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.BloodMagic.mimic.potionInterval.down", potionSpawnInterval));
+                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.potionInterval.down", potionSpawnInterval));
                     } else
                     {
                         potionSpawnInterval++;
-                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.BloodMagic.mimic.potionInterval.up", potionSpawnInterval));
+                        ChatUtil.sendNoSpam(player, new TextComponentTranslation("chat.bloodmagic.mimic.potionInterval.up", potionSpawnInterval));
                     }
                     break;
                 default:
diff --git a/src/main/java/WayofTime/bloodmagic/tile/routing/TileFilteredRoutingNode.java b/src/main/java/WayofTime/bloodmagic/tile/routing/TileFilteredRoutingNode.java
index ba4ac2be..2fde0510 100644
--- a/src/main/java/WayofTime/bloodmagic/tile/routing/TileFilteredRoutingNode.java
+++ b/src/main/java/WayofTime/bloodmagic/tile/routing/TileFilteredRoutingNode.java
@@ -9,6 +9,7 @@ import net.minecraft.util.EnumFacing;
 import WayofTime.bloodmagic.api.Constants;
 import WayofTime.bloodmagic.item.inventory.ItemInventory;
 import WayofTime.bloodmagic.util.GhostItemHelper;
+import net.minecraft.util.NonNullList;
 
 public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedInventory
 {
@@ -60,7 +61,7 @@ public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedIn
         if (!tag.getBoolean("updated"))
         {
             NBTTagList tags = tag.getTagList("Items", 10);
-            inventory = new ItemStack[getSizeInventory()];
+            inventory = NonNullList.withSize(getSizeInventory(), ItemStack.EMPTY);
             for (int i = 0; i < tags.tagCount(); i++)
             {
                 if (!isSyncedSlot(i))
@@ -70,10 +71,10 @@ public class TileFilteredRoutingNode extends TileRoutingNode implements ISidedIn
 
                     if (j == 0)
                     {
-                        inventory[currentActiveSlot] = new ItemStack(data);
-                    } else if (j >= 1 && j < inventory.length + 1)
+                        inventory.set(i, new ItemStack(data));
+                    } else if (j >= 1 && j < inventory.size() + 1)
                     {
-                        inventory[j - 1] = new ItemStack(data);
+                        inventory.set(j - 1, new ItemStack(data));
                     }
                 }
             }
diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/event/ClientHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/event/ClientHandler.java
index af60ddc4..84b699ea 100644
--- a/src/main/java/WayofTime/bloodmagic/util/handler/event/ClientHandler.java
+++ b/src/main/java/WayofTime/bloodmagic/util/handler/event/ClientHandler.java
@@ -105,10 +105,10 @@ public class ClientHandler
             int amount = GhostItemHelper.getItemGhostAmount(stack);
             if (amount == 0)
             {
-                event.getToolTip().add(TextHelper.localize("tooltip.BloodMagic.ghost.everything"));
+                event.getToolTip().add(TextHelper.localize("tooltip.bloodmagic.ghost.everything"));
             } else
             {
-                event.getToolTip().add(TextHelper.localize("tooltip.BloodMagic.ghost.amount", amount));
+                event.getToolTip().add(TextHelper.localize("tooltip.bloodmagic.ghost.amount", amount));
             }
         }
     }
diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java
index 0865ab77..a361f563 100644
--- a/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java
+++ b/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java
@@ -357,7 +357,7 @@ public class GenericHandler
         if (block instanceof BlockAltar && event.getEntityPlayer() != null && event.getEntityPlayer() instanceof EntityPlayerMP && !event.getEntityPlayer().getHeldItemMainhand().isEmpty() && event.getEntityPlayer().getHeldItemMainhand().getItem() instanceof ItemAltarMaker)
         {
             ItemAltarMaker altarMaker = (ItemAltarMaker) event.getEntityPlayer().getHeldItemMainhand().getItem();
-            ChatUtil.sendNoSpam(event.getEntityPlayer(), TextHelper.localizeEffect("chat.BloodMagic.altarMaker.destroy", altarMaker.destroyAltar(event.getEntityPlayer())));
+            ChatUtil.sendNoSpam(event.getEntityPlayer(), TextHelper.localizeEffect("chat.bloodmagic.altarMaker.destroy", altarMaker.destroyAltar(event.getEntityPlayer())));
         }
     }
 
diff --git a/src/main/resources/assets/bloodmagic/schematics/schematics.json b/src/main/resources/assets/bloodmagic/schematics/schematics.json
new file mode 100644
index 00000000..2f91ff04
--- /dev/null
+++ b/src/main/resources/assets/bloodmagic/schematics/schematics.json
@@ -0,0 +1,5 @@
+[
+  "bloodmagic:corridor1",
+  "bloodmagic:hallchest1",
+  "bloodmagic:rawbuilding1"
+]
\ No newline at end of file