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); } }