diff --git a/src/main/java/WayofTime/bloodmagic/BloodMagic.java b/src/main/java/WayofTime/bloodmagic/BloodMagic.java index 3001e297..5d598f21 100644 --- a/src/main/java/WayofTime/bloodmagic/BloodMagic.java +++ b/src/main/java/WayofTime/bloodmagic/BloodMagic.java @@ -15,6 +15,7 @@ import lombok.Getter; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.launchwrapper.Launch; +import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.*; @@ -51,6 +52,11 @@ public class BloodMagic } }; + static + { + FluidRegistry.enableUniversalBucket(); + } + @Getter private static boolean isDev = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment"); diff --git a/src/main/java/WayofTime/bloodmagic/block/BlockLifeEssence.java b/src/main/java/WayofTime/bloodmagic/block/BlockLifeEssence.java index b9a93cc7..e33ec7af 100644 --- a/src/main/java/WayofTime/bloodmagic/block/BlockLifeEssence.java +++ b/src/main/java/WayofTime/bloodmagic/block/BlockLifeEssence.java @@ -12,6 +12,7 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fluids.BlockFluidClassic; import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import WayofTime.bloodmagic.api.BloodMagicAPI; import WayofTime.bloodmagic.api.Constants; @@ -27,8 +28,8 @@ public class BlockLifeEssence extends BlockFluidClassic super(lifeEssence, Material.WATER); setUnlocalizedName(Constants.Mod.MODID + ".fluid.lifeEssence"); - lifeEssence.setBlock(this); - BloodMagicAPI.setLifeEssence(lifeEssence); + getLifeEssence().setBlock(this); + BloodMagicAPI.setLifeEssence(getLifeEssence()); } @Override diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java b/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java index 4cdc2f5b..f4a01d86 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java @@ -109,6 +109,7 @@ public class ModBlocks public static void init() { FluidRegistry.registerFluid(BlockLifeEssence.getLifeEssence()); + FluidRegistry.addBucketForFluid(BlockLifeEssence.getLifeEssence()); lifeEssence = registerBlock(new BlockLifeEssence(), Constants.BloodMagicBlock.LIFE_ESSENCE.getRegName()); altar = registerBlock(new BlockAltar(), Constants.BloodMagicBlock.ALTAR.getRegName()); diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModItems.java b/src/main/java/WayofTime/bloodmagic/registry/ModItems.java index 14116a05..9c89d70b 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModItems.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModItems.java @@ -20,7 +20,6 @@ import WayofTime.bloodmagic.item.ItemBoundAxe; import WayofTime.bloodmagic.item.ItemBoundPickaxe; import WayofTime.bloodmagic.item.ItemBoundShovel; import WayofTime.bloodmagic.item.ItemBoundSword; -import WayofTime.bloodmagic.item.ItemBucketEssence; import WayofTime.bloodmagic.item.ItemComponent; import WayofTime.bloodmagic.item.ItemDaggerOfSacrifice; import WayofTime.bloodmagic.item.ItemDemonCrystal; @@ -79,8 +78,6 @@ public class ModItems public static BloodOrb orbArchmage; public static BloodOrb orbTranscendent; - public static Item bucketEssence; - public static Item activationCrystal; public static Item slate; public static Item inscriptionTool; @@ -176,8 +173,6 @@ public class ModItems orbTranscendent = new BloodOrb("transcendent", 6, 30000000); OrbRegistry.registerOrb(orbTranscendent); - bucketEssence = registerItem(new ItemBucketEssence(), Constants.BloodMagicItem.BUCKET_ESSENCE.getRegName()); - activationCrystal = registerItem(new ItemActivationCrystal(), Constants.BloodMagicItem.ACTIVATION_CRYSTAL.getRegName()); slate = registerItem(new ItemSlate(), Constants.BloodMagicItem.SLATE.getRegName()); inscriptionTool = registerItem(new ItemInscriptionTool(), Constants.BloodMagicItem.INSCRIPTION_TOOL.getRegName()); @@ -269,8 +264,6 @@ public class ModItems OrbRegistry.registerOrbTexture(orbArchmage, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbArchmage")); OrbRegistry.registerOrbTexture(orbTranscendent, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbTranscendent")); - renderHelper.itemRender(bucketEssence); - renderHelper.itemRender(sentientBow, 0, "ItemSentientBow"); // renderHelper.itemRender(sentientBow, 1, "ItemSentientBow_pulling_0"); // renderHelper.itemRender(sentientBow, 2, "ItemSentientBow_pulling_1"); diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java index a8d05535..b6e71264 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModRecipes.java @@ -1,10 +1,13 @@ package WayofTime.bloodmagic.registry; +import WayofTime.bloodmagic.api.BloodMagicAPI; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.util.ResourceLocation; +import net.minecraftforge.common.ForgeModContainer; +import net.minecraftforge.fluids.UniversalBucket; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.RecipeSorter; @@ -144,7 +147,7 @@ public class ModRecipes AltarRecipeRegistry.registerFillRecipe(OrbRegistry.getOrbStack(ModItems.orbWeak), EnumAltarTier.ONE, ModItems.orbWeak.getCapacity(), 2, 1); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.DIAMOND), OrbRegistry.getOrbStack(ModItems.orbWeak), EnumAltarTier.ONE, 2000, 2, 1)); AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Blocks.STONE), new ItemStack(ModItems.slate), EnumAltarTier.ONE, 1000, 5, 5)); - AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.BUCKET), new ItemStack(ModItems.bucketEssence), EnumAltarTier.ONE, 1000, 5, 0)); + AltarRecipeRegistry.registerRecipe(new AltarRecipeRegistry.AltarRecipe(new ItemStack(Items.BUCKET), UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, BloodMagicAPI.getLifeEssence()), EnumAltarTier.ONE, 1000, 5, 0)); // TWO AltarRecipeRegistry.registerFillRecipe(OrbRegistry.getOrbStack(ModItems.orbApprentice), EnumAltarTier.TWO, ModItems.orbApprentice.getCapacity(), 5, 5); 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 850ef14a..9a191059 100644 --- a/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java +++ b/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java @@ -11,18 +11,15 @@ import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Enchantments; -import net.minecraft.init.Items; import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.living.LivingDropsEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; -import net.minecraftforge.event.entity.player.FillBucketEvent; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.entity.player.PlayerPickupXpEvent; -import net.minecraftforge.fml.common.eventhandler.Event; import net.minecraftforge.fml.common.eventhandler.Event.Result; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @@ -45,7 +42,6 @@ import WayofTime.bloodmagic.item.gear.ItemPackSacrifice; import WayofTime.bloodmagic.livingArmour.LivingArmour; import WayofTime.bloodmagic.livingArmour.tracker.StatTrackerSelfSacrifice; import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeSelfSacrifice; -import WayofTime.bloodmagic.registry.ModBlocks; import WayofTime.bloodmagic.registry.ModItems; import WayofTime.bloodmagic.util.ChatUtil; import WayofTime.bloodmagic.util.helper.TextHelper; @@ -79,34 +75,6 @@ public class GenericHandler } } - @SubscribeEvent - public void onBucketFill(FillBucketEvent event) - { - if (event.getEmptyBucket().getItem() != Items.BUCKET) - return; - - ItemStack result = null; - - if (event.getTarget() == null || event.getTarget().getBlockPos() == null) - { - return; - } - - Block block = event.getWorld().getBlockState(event.getTarget().getBlockPos()).getBlock(); - - if (block != null && (block.equals(ModBlocks.lifeEssence)) && block.getMetaFromState(event.getWorld().getBlockState(event.getTarget().getBlockPos())) == 0) - { - event.getWorld().setBlockToAir(event.getTarget().getBlockPos()); - result = new ItemStack(ModItems.bucketEssence); - } - - if (result == null) - return; - - event.setFilledBucket(result); - event.setResult(Event.Result.ALLOW); - } - // Handles destroying altar @SubscribeEvent public void harvestEvent(PlayerEvent.HarvestCheck event) diff --git a/src/main/resources/assets/bloodmagic/models/item/ItemBucketEssence.json b/src/main/resources/assets/bloodmagic/models/item/ItemBucketEssence.json deleted file mode 100644 index 75459039..00000000 --- a/src/main/resources/assets/bloodmagic/models/item/ItemBucketEssence.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent":"bloodmagic:item/ItemModelBase", - "textures": { - "layer0":"bloodmagic:items/LifeBucket" - } -}