Life Essence

This commit is contained in:
Nick 2015-10-29 22:22:08 -07:00
parent cb3412bc84
commit 09ff96fe03
11 changed files with 134 additions and 12 deletions

View file

@ -0,0 +1,34 @@
package WayofTime.alchemicalWizardry.util.handler;
import WayofTime.alchemicalWizardry.registry.ModBlocks;
import WayofTime.alchemicalWizardry.registry.ModItems;
import net.minecraft.block.Block;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraftforge.event.entity.player.FillBucketEvent;
import net.minecraftforge.fml.common.eventhandler.Event;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class EventHandler {
@SubscribeEvent
public void onBucketFill(FillBucketEvent event) {
if (event.current.getItem() != Items.bucket)
return;
ItemStack result = null;
Block block = event.world.getBlockState(event.target.getBlockPos()).getBlock();
if (block != null && (block.equals(ModBlocks.lifeEssence)) && block.getMetaFromState(event.world.getBlockState(event.target.getBlockPos())) == 0) {
event.world.setBlockToAir(event.target.getBlockPos());
result = new ItemStack(ModItems.bucketEssence);
}
if (result == null)
return;
event.result = result;
event.setResult(Event.Result.ALLOW);
}
}

View file

@ -1,13 +1,17 @@
package WayofTime.alchemicalWizardry.util.helper;
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.ItemMeshDefinition;
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fluids.Fluid;
/**
* @author <a href="https://github.com/TehNut">TehNut</a>
@ -85,6 +89,30 @@ public class InventoryRenderHelper {
});
}
public void itemRenderToggle(Item item, String name) {
itemRender(item, 0, name + "_deactivated");
itemRender(item, 1, name + "_activated");
}
public void fluidRender(Block block) {
final Block toRender = block;
ModelBakery.addVariantName(InventoryRenderHelper.getItemFromBlock(block));
ModelLoader.setCustomMeshDefinition(InventoryRenderHelper.getItemFromBlock(block), new ItemMeshDefinition() {
@Override
public ModelResourceLocation getModelLocation(ItemStack stack) {
return new ModelResourceLocation(AlchemicalWizardry.DOMAIN + toRender.getClass().getSimpleName(), "fluid");
}
});
ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
@Override
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
return new ModelResourceLocation(domain + toRender.getClass().getSimpleName(), "fluid");
}
});
}
/**
*
* @param block - Block to get Item of