Life Essence
This commit is contained in:
parent
cb3412bc84
commit
09ff96fe03
11 changed files with 134 additions and 12 deletions
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue