Move Bucket over to Forge system

This commit is contained in:
Nicholas Ignoffo 2016-06-05 12:31:35 -07:00
parent 9e7517459e
commit 4af15fc059
7 changed files with 14 additions and 48 deletions

View file

@ -15,6 +15,7 @@ import lombok.Getter;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.launchwrapper.Launch; import net.minecraft.launchwrapper.Launch;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.*; import net.minecraftforge.fml.common.event.*;
@ -51,6 +52,11 @@ public class BloodMagic
} }
}; };
static
{
FluidRegistry.enableUniversalBucket();
}
@Getter @Getter
private static boolean isDev = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment"); private static boolean isDev = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");

View file

@ -12,6 +12,7 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.fluids.BlockFluidClassic; import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import WayofTime.bloodmagic.api.BloodMagicAPI; import WayofTime.bloodmagic.api.BloodMagicAPI;
import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.Constants;
@ -27,8 +28,8 @@ public class BlockLifeEssence extends BlockFluidClassic
super(lifeEssence, Material.WATER); super(lifeEssence, Material.WATER);
setUnlocalizedName(Constants.Mod.MODID + ".fluid.lifeEssence"); setUnlocalizedName(Constants.Mod.MODID + ".fluid.lifeEssence");
lifeEssence.setBlock(this); getLifeEssence().setBlock(this);
BloodMagicAPI.setLifeEssence(lifeEssence); BloodMagicAPI.setLifeEssence(getLifeEssence());
} }
@Override @Override

View file

@ -109,6 +109,7 @@ public class ModBlocks
public static void init() public static void init()
{ {
FluidRegistry.registerFluid(BlockLifeEssence.getLifeEssence()); FluidRegistry.registerFluid(BlockLifeEssence.getLifeEssence());
FluidRegistry.addBucketForFluid(BlockLifeEssence.getLifeEssence());
lifeEssence = registerBlock(new BlockLifeEssence(), Constants.BloodMagicBlock.LIFE_ESSENCE.getRegName()); lifeEssence = registerBlock(new BlockLifeEssence(), Constants.BloodMagicBlock.LIFE_ESSENCE.getRegName());
altar = registerBlock(new BlockAltar(), Constants.BloodMagicBlock.ALTAR.getRegName()); altar = registerBlock(new BlockAltar(), Constants.BloodMagicBlock.ALTAR.getRegName());

View file

@ -20,7 +20,6 @@ import WayofTime.bloodmagic.item.ItemBoundAxe;
import WayofTime.bloodmagic.item.ItemBoundPickaxe; import WayofTime.bloodmagic.item.ItemBoundPickaxe;
import WayofTime.bloodmagic.item.ItemBoundShovel; import WayofTime.bloodmagic.item.ItemBoundShovel;
import WayofTime.bloodmagic.item.ItemBoundSword; import WayofTime.bloodmagic.item.ItemBoundSword;
import WayofTime.bloodmagic.item.ItemBucketEssence;
import WayofTime.bloodmagic.item.ItemComponent; import WayofTime.bloodmagic.item.ItemComponent;
import WayofTime.bloodmagic.item.ItemDaggerOfSacrifice; import WayofTime.bloodmagic.item.ItemDaggerOfSacrifice;
import WayofTime.bloodmagic.item.ItemDemonCrystal; import WayofTime.bloodmagic.item.ItemDemonCrystal;
@ -79,8 +78,6 @@ public class ModItems
public static BloodOrb orbArchmage; public static BloodOrb orbArchmage;
public static BloodOrb orbTranscendent; public static BloodOrb orbTranscendent;
public static Item bucketEssence;
public static Item activationCrystal; public static Item activationCrystal;
public static Item slate; public static Item slate;
public static Item inscriptionTool; public static Item inscriptionTool;
@ -176,8 +173,6 @@ public class ModItems
orbTranscendent = new BloodOrb("transcendent", 6, 30000000); orbTranscendent = new BloodOrb("transcendent", 6, 30000000);
OrbRegistry.registerOrb(orbTranscendent); OrbRegistry.registerOrb(orbTranscendent);
bucketEssence = registerItem(new ItemBucketEssence(), Constants.BloodMagicItem.BUCKET_ESSENCE.getRegName());
activationCrystal = registerItem(new ItemActivationCrystal(), Constants.BloodMagicItem.ACTIVATION_CRYSTAL.getRegName()); activationCrystal = registerItem(new ItemActivationCrystal(), Constants.BloodMagicItem.ACTIVATION_CRYSTAL.getRegName());
slate = registerItem(new ItemSlate(), Constants.BloodMagicItem.SLATE.getRegName()); slate = registerItem(new ItemSlate(), Constants.BloodMagicItem.SLATE.getRegName());
inscriptionTool = registerItem(new ItemInscriptionTool(), Constants.BloodMagicItem.INSCRIPTION_TOOL.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(orbArchmage, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbArchmage"));
OrbRegistry.registerOrbTexture(orbTranscendent, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbTranscendent")); OrbRegistry.registerOrbTexture(orbTranscendent, new ResourceLocation(Constants.Mod.DOMAIN + "ItemBloodOrbTranscendent"));
renderHelper.itemRender(bucketEssence);
renderHelper.itemRender(sentientBow, 0, "ItemSentientBow"); renderHelper.itemRender(sentientBow, 0, "ItemSentientBow");
// renderHelper.itemRender(sentientBow, 1, "ItemSentientBow_pulling_0"); // renderHelper.itemRender(sentientBow, 1, "ItemSentientBow_pulling_0");
// renderHelper.itemRender(sentientBow, 2, "ItemSentientBow_pulling_1"); // renderHelper.itemRender(sentientBow, 2, "ItemSentientBow_pulling_1");

View file

@ -1,10 +1,13 @@
package WayofTime.bloodmagic.registry; package WayofTime.bloodmagic.registry;
import WayofTime.bloodmagic.api.BloodMagicAPI;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.util.ResourceLocation; 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.fml.common.registry.GameRegistry;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.RecipeSorter; 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.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(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(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 // TWO
AltarRecipeRegistry.registerFillRecipe(OrbRegistry.getOrbStack(ModItems.orbApprentice), EnumAltarTier.TWO, ModItems.orbApprentice.getCapacity(), 5, 5); AltarRecipeRegistry.registerFillRecipe(OrbRegistry.getOrbStack(ModItems.orbApprentice), EnumAltarTier.TWO, ModItems.orbApprentice.getCapacity(), 5, 5);

View file

@ -11,18 +11,15 @@ import net.minecraft.entity.passive.EntityAnimal;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Enchantments; import net.minecraft.init.Enchantments;
import net.minecraft.init.Items;
import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.living.LivingDropsEvent; import net.minecraftforge.event.entity.living.LivingDropsEvent;
import net.minecraftforge.event.entity.living.LivingHurtEvent; 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.PlayerEvent;
import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent;
import net.minecraftforge.event.entity.player.PlayerPickupXpEvent; 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.Event.Result;
import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; 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.LivingArmour;
import WayofTime.bloodmagic.livingArmour.tracker.StatTrackerSelfSacrifice; import WayofTime.bloodmagic.livingArmour.tracker.StatTrackerSelfSacrifice;
import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeSelfSacrifice; import WayofTime.bloodmagic.livingArmour.upgrade.LivingArmourUpgradeSelfSacrifice;
import WayofTime.bloodmagic.registry.ModBlocks;
import WayofTime.bloodmagic.registry.ModItems; import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.util.ChatUtil; import WayofTime.bloodmagic.util.ChatUtil;
import WayofTime.bloodmagic.util.helper.TextHelper; 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 // Handles destroying altar
@SubscribeEvent @SubscribeEvent
public void harvestEvent(PlayerEvent.HarvestCheck event) public void harvestEvent(PlayerEvent.HarvestCheck event)

View file

@ -1,6 +0,0 @@
{
"parent":"bloodmagic:item/ItemModelBase",
"textures": {
"layer0":"bloodmagic:items/LifeBucket"
}
}