Jump to content

Chokearth

Members
  • Posts

    4
  • Joined

  • Last visited

Chokearth's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. Okay, I found, I was using isFullBlock () instead of isFullCube ().
  2. No I change the value in the constructor.
  3. Yes I looked. package fr.chokearth.dog.object.block.base; import net.minecraft.block.material.Material; import net.minecraft.block.properties.IProperty; import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.state.BlockFaceShape; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.EnumFacing; import net.minecraft.util.IStringSerializable; import net.minecraft.util.NonNullList; import net.minecraft.util.Rotation; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import javax.annotation.Nullable; import java.util.List; public class BlockBase4_4 extends BlockBase { public static final PropertyEnum<EnumFacing> FACING = PropertyEnum.<EnumFacing>create("facing", EnumFacing.class); private boolean fullBlock = true; private double axisAlignedBBTab[] = new double[6]; private NonNullList<double[]> collisionTab = NonNullList.<double[]>withSize(2, new double[6]); public BlockBase4_4(String name, Material material, CreativeTabs tabs) { super(name, material, tabs); this.setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH)); this.collisionTab = null; } public BlockBase4_4(String name, Material material, CreativeTabs tabs, boolean fullBlock, double[] axisAlignedBBTab) { super(name, material, tabs, fullBlock, axisAlignedBBTab); this.setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH)); this.fullBlock = fullBlock; this.axisAlignedBBTab = axisAlignedBBTab; this.collisionTab.set(0, new double[]{0, 0.8125, 0.40625, 1, 1, 0.59375}); this.collisionTab.set(1, new double[]{0.40625, 0, 0.40625, 0.59375, 0.8125, 0.59375}); } public BlockBase4_4(String name, Material material, CreativeTabs tabs, boolean fullBlock, double[] axisAlignedBBTab, NonNullList<double[]> collisionTab) { super(name, material, tabs, fullBlock, axisAlignedBBTab); this.setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH)); this.fullBlock = fullBlock; this.axisAlignedBBTab = axisAlignedBBTab; this.collisionTab = collisionTab; } @Override public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer) { IBlockState iblockstate = super.getStateForPlacement(worldIn, pos, facing, hitX, hitY, hitZ, meta, placer); iblockstate = iblockstate.withProperty(FACING, facing.getOpposite()); System.out.println(iblockstate.getValue(FACING)); return iblockstate; } @Override public IBlockState getStateFromMeta(int meta) { IBlockState iblockstate = this.getDefaultState().withProperty(FACING, EnumFacing.getFront(meta)); return iblockstate; } @Override public int getMetaFromState(IBlockState state) { int i = ((EnumFacing) state.getValue(FACING)).getIndex(); return i; } @Override public IBlockState withRotation(IBlockState state, Rotation rot) { return state.withProperty(FACING, rot.rotate((EnumFacing) state.getValue(FACING))); } @Override protected BlockStateContainer createBlockState() { return new BlockStateContainer(this, new IProperty[]{FACING}); } @Override public boolean isFullBlock(IBlockState state) { return fullBlock; } @Override public boolean isOpaqueCube(IBlockState state) { return fullBlock; } @Override public BlockFaceShape getBlockFaceShape(IBlockAccess worldIn, IBlockState state, BlockPos pos, EnumFacing face) { if (face == EnumFacing.NORTH) return BlockFaceShape.SOLID; return BlockFaceShape.UNDEFINED; } @Override public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) { return new AxisAlignedBB(axisAlignedBBTab[0], axisAlignedBBTab[1], axisAlignedBBTab[2], axisAlignedBBTab[3], axisAlignedBBTab[4], axisAlignedBBTab[5]); } @Override public boolean isSideSolid(IBlockState base_state, IBlockAccess world, BlockPos pos, EnumFacing side) { return false; } @Override public boolean isPassable(IBlockAccess worldIn, BlockPos pos) { return true; } @Override public void addCollisionBoxToList(IBlockState state, World worldIn, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, @Nullable Entity entityIn, boolean isActualState) { for (int i = 0; i < collisionTab.size(); i++) addCollisionBoxToList(pos, entityBox, collidingBoxes, new AxisAlignedBB(collisionTab.get(i)[0], collisionTab.get(i)[1], collisionTab.get(i)[2], collisionTab.get(i)[3], collisionTab.get(i)[4], collisionTab.get(i)[5])); } @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) { return true; } }
  4. Hello, I make a block like a fence, but when I approach, the block pushes me away.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.