From 22c1f0db55d29c815f04ed08ab8bf47a2abab694 Mon Sep 17 00:00:00 2001
From: Nicholas Ignoffo <speedynutty68@gmail.com>
Date: Tue, 28 Jun 2016 15:18:35 -0700
Subject: [PATCH] Add a getter for the LE bucket to the API

---
 .../WayofTime/bloodmagic/api/BloodMagicAPI.java     | 13 +++++++++++++
 .../compat/jei/altar/AltarRecipeMaker.java          |  2 +-
 .../util/handler/event/CraftingHandler.java         |  2 +-
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/main/java/WayofTime/bloodmagic/api/BloodMagicAPI.java b/src/main/java/WayofTime/bloodmagic/api/BloodMagicAPI.java
index edfa8e02..62593b60 100644
--- a/src/main/java/WayofTime/bloodmagic/api/BloodMagicAPI.java
+++ b/src/main/java/WayofTime/bloodmagic/api/BloodMagicAPI.java
@@ -6,9 +6,12 @@ import lombok.Setter;
 import net.minecraft.block.Block;
 import net.minecraft.entity.EntityLivingBase;
 import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
 import net.minecraft.util.DamageSource;
 import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.common.ForgeModContainer;
 import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.UniversalBucket;
 import net.minecraftforge.fml.common.registry.ForgeRegistries;
 
 import java.util.ArrayList;
@@ -51,6 +54,16 @@ public class BloodMagicAPI
     @Getter
     @Setter
     private static Fluid lifeEssence;
+    private static ItemStack lifeEssenceBucket;
+
+    public static ItemStack getLifeEssenceBucket()
+    {
+        if (lifeEssenceBucket != null)
+            return lifeEssenceBucket;
+
+        lifeEssenceBucket = UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, getLifeEssence());
+        return lifeEssenceBucket;
+    }
 
     /**
      * Used to obtain Items from BloodMagic. Use
diff --git a/src/main/java/WayofTime/bloodmagic/compat/jei/altar/AltarRecipeMaker.java b/src/main/java/WayofTime/bloodmagic/compat/jei/altar/AltarRecipeMaker.java
index bea8c14b..c1a43a04 100644
--- a/src/main/java/WayofTime/bloodmagic/compat/jei/altar/AltarRecipeMaker.java
+++ b/src/main/java/WayofTime/bloodmagic/compat/jei/altar/AltarRecipeMaker.java
@@ -35,7 +35,7 @@ public class AltarRecipeMaker
                 int drainRate = itemStackAltarRecipeEntry.getValue().getDrainRate();
 
                 if (output.getItem() == ForgeModContainer.getInstance().universalBucket && requiredLP == 1000)
-                    output = UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, BloodMagicAPI.getLifeEssence());
+                    output = BloodMagicAPI.getLifeEssenceBucket();
 
                 AltarRecipeJEI recipe = new AltarRecipeJEI(input, output, requiredTier, requiredLP, consumptionRate, drainRate);
                 recipes.add(recipe);
diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/event/CraftingHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/event/CraftingHandler.java
index 55bdae94..400f9298 100644
--- a/src/main/java/WayofTime/bloodmagic/util/handler/event/CraftingHandler.java
+++ b/src/main/java/WayofTime/bloodmagic/util/handler/event/CraftingHandler.java
@@ -45,7 +45,7 @@ public class CraftingHandler
 
         if (event.getOutput().getItem() == ForgeModContainer.getInstance().universalBucket && event.getAltarRecipe().getSyphon() == 1000)
         {
-            NBTTagCompound bucketTags = UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, BloodMagicAPI.getLifeEssence()).getTagCompound();
+            NBTTagCompound bucketTags = BloodMagicAPI.getLifeEssenceBucket().getTagCompound();
             event.getOutput().setTagCompound(bucketTags);
         }
     }