add ghost block to avoid some broken forge thing

This commit is contained in:
Shadows_of_Fire 2017-07-30 20:46:08 -04:00
parent 5dbd7aa414
commit c6c43fe5a8
2 changed files with 80 additions and 0 deletions

View file

@ -0,0 +1,78 @@
package de.ellpeck.actuallyadditions.mod.blocks;
import javax.annotation.Nullable;
import de.ellpeck.actuallyadditions.mod.RegistryHandler;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockFaceShape;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class BlockFakeAir extends Block
{
public BlockFakeAir(){
super(Material.AIR);
setRegistryName("actuallyadditions:block_oil");
setUnlocalizedName("stop");
RegistryHandler.BLOCKS_TO_REGISTER.add(this);
}
/**
* The type of render function called. MODEL for mixed tesr and static model, MODELBLOCK_ANIMATED for TESR-only,
* LIQUID for vanilla liquids, INVISIBLE to skip all rendering
*/
public EnumBlockRenderType getRenderType(IBlockState state)
{
return EnumBlockRenderType.INVISIBLE;
}
@Nullable
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos)
{
return NULL_AABB;
}
/**
* Used to determine ambient occlusion and culling when rebuilding chunks for render
*/
public boolean isOpaqueCube(IBlockState state)
{
return false;
}
public boolean canCollideCheck(IBlockState state, boolean hitIfLiquid)
{
return false;
}
/**
* Spawns this Block's drops into the World as EntityItems.
*/
public void dropBlockAsItemWithChance(World worldIn, BlockPos pos, IBlockState state, float chance, int fortune)
{
}
/**
* Whether this Block can be replaced directly by other blocks (true for e.g. tall grass)
*/
public boolean isReplaceable(IBlockAccess worldIn, BlockPos pos)
{
return true;
}
public boolean isFullCube(IBlockState state)
{
return false;
}
public BlockFaceShape getBlockFaceShape(IBlockAccess p_193383_1_, IBlockState p_193383_2_, BlockPos p_193383_3_, EnumFacing p_193383_4_)
{
return BlockFaceShape.UNDEFINED;
}
}

View file

@ -18,6 +18,7 @@ import de.ellpeck.actuallyadditions.mod.items.metalists.TheCrystals;
import de.ellpeck.actuallyadditions.mod.util.ModUtil; import de.ellpeck.actuallyadditions.mod.util.ModUtil;
import de.ellpeck.actuallyadditions.mod.util.compat.CompatUtil; import de.ellpeck.actuallyadditions.mod.util.compat.CompatUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockAir;
public final class InitBlocks{ public final class InitBlocks{
@ -116,6 +117,7 @@ public final class InitBlocks{
public static Block blockCrystalClusterCoal; public static Block blockCrystalClusterCoal;
public static Block blockCrystalClusterEmerald; public static Block blockCrystalClusterEmerald;
public static Block blockCrystalClusterIron; public static Block blockCrystalClusterIron;
public static final Block FAKE_AIR_BLOCK = new BlockFakeAir();
public static void init(){ public static void init(){
ModUtil.LOGGER.info("Initializing Blocks..."); ModUtil.LOGGER.info("Initializing Blocks...");