Re-introduce RenderBlockOverlayEvent, seems to have been missed during 1.8 update

This commit is contained in:
diesieben07 committed 2015-06-25 19:09:32 +02:00
1 parent b2033d642c
commit ebef4553f3
3 files changed
+74 -13

No files matched your search

@@ -1,8 +1,10 @@
package net.minecraftforge.client.event;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.util.BlockPos;
import net.minecraftforge.fml.common.eventhandler.Cancelable;
import net.minecraftforge.fml.common.eventhandler.Event;
@@ -28,23 +30,22 @@ public class RenderBlockOverlayEvent extends Event {
/**
* If the overlay type is BLOCK, then this is the block which the overlay is getting it's icon from
*/
public final Block blockForOverlay;
public final int blockX;
public final int blockY;
public final int blockZ;
public final IBlockState blockForOverlay;
public final BlockPos blockPos;
public RenderBlockOverlayEvent(EntityPlayer player, float renderPartialTicks, OverlayType type, Block block, int blockX, int blockY, int blockZ)
@Deprecated
public RenderBlockOverlayEvent(EntityPlayer player, float renderPartialTicks, OverlayType type, Block block, int x, int y, int z)
{
this(player, renderPartialTicks, type, block.getDefaultState(), new BlockPos(x, y, z));
}
public RenderBlockOverlayEvent(EntityPlayer player, float renderPartialTicks, OverlayType type, IBlockState block, BlockPos blockPos)
{
this.player = player;
this.renderPartialTicks = renderPartialTicks;
this.overlayType = type;
if (this.overlayType == OverlayType.BLOCK)
this.blockForOverlay = block;
else
this.blockForOverlay = null;
this.blockX = blockX;
this.blockY = blockY;
this.blockZ = blockZ;
this.blockForOverlay = block;
this.blockPos = blockPos;
}
@@ -18,6 +18,7 @@ import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayer.EnumStatus;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.util.DamageSource;
@@ -33,6 +34,8 @@ import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.storage.IPlayerFileData;
import net.minecraft.world.storage.SaveHandler;
import net.minecraftforge.client.event.ClientChatReceivedEvent;
import net.minecraftforge.client.event.RenderBlockOverlayEvent;
import net.minecraftforge.client.event.RenderBlockOverlayEvent.OverlayType;
import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.common.IExtendedEntityProperties;
import net.minecraftforge.common.MinecraftForge;
@@ -458,4 +461,20 @@ public class ForgeEventFactory
{
MinecraftForge.EVENT_BUS.post(new PotionBrewEvent.Post(brewingItemStacks));
}
public static boolean renderFireOverlay(EntityPlayer player, float renderPartialTicks)
{
return renderBlockOverlay(player, renderPartialTicks, OverlayType.FIRE, Blocks.fire.getDefaultState(), new BlockPos(player));
}
public static boolean renderWaterOverlay(EntityPlayer player, float renderPartialTicks)
{
return renderBlockOverlay(player, renderPartialTicks, OverlayType.WATER, Blocks.water.getDefaultState(), new BlockPos(player));
}
public static boolean renderBlockOverlay(EntityPlayer player, float renderPartialTicks, OverlayType type, IBlockState block, BlockPos pos)
{
return MinecraftForge.EVENT_BUS.post(new RenderBlockOverlayEvent(player, renderPartialTicks, type, block, pos));
}
}