base mod created
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
package net.minecraft.block;
|
||||
|
||||
import net.minecraft.block.material.MapColor;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockBreakable extends Block
|
||||
{
|
||||
private final boolean ignoreSimilarity;
|
||||
|
||||
protected BlockBreakable(Material materialIn, boolean ignoreSimilarityIn)
|
||||
{
|
||||
this(materialIn, ignoreSimilarityIn, materialIn.getMaterialMapColor());
|
||||
}
|
||||
|
||||
protected BlockBreakable(Material materialIn, boolean ignoreSimilarityIn, MapColor mapColorIn)
|
||||
{
|
||||
super(materialIn, mapColorIn);
|
||||
this.ignoreSimilarity = ignoreSimilarityIn;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to determine ambient occlusion and culling when rebuilding chunks for render
|
||||
*/
|
||||
public boolean isOpaqueCube(IBlockState state)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)
|
||||
{
|
||||
IBlockState iblockstate = blockAccess.getBlockState(pos.offset(side));
|
||||
Block block = iblockstate.getBlock();
|
||||
|
||||
if (this == Blocks.GLASS || this == Blocks.STAINED_GLASS)
|
||||
{
|
||||
if (blockState != iblockstate)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (block == this)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return !this.ignoreSimilarity && block == this ? false : super.shouldSideBeRendered(blockState, blockAccess, pos, side);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user