阻止了边界框的奇怪故障

时间:2016-12-11 21:57:41

标签: java minecraft minecraft-forge

我有点什么

private AxisAlignedBB boundingBox = new AxisAlignedBB(-0.34D, 0D, -0.34D, 1.34D, 3.24D, 1.34D);

@Override
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, World worldIn, BlockPos pos)
{
    return boundingBox;
}

@Override
public AxisAlignedBB getSelectedBoundingBox(IBlockState state, World worldIn, BlockPos pos)
{
    return boundingBox.offset(pos);
}

@Override
public boolean isFullCube(IBlockState state) {
    return false;
}

@Override
public boolean isOpaqueCube(IBlockState state) {
    return false;
}

在我的tile实体的类中。当我试图穿过阻挡中间时,碰撞边界框的工作正常,但是当我试图跳过障碍物时,我会卡在其中,试图摔倒。如果我试图从角落走进街区或试图站在整个建筑上,我也陷入了同一个街区:我一直到达2D的高度,然后开始出现故障。块的角落表现为角落没有边界框。是否可以使块边界框正常工作?

The block and its bounding box.

Actual working (or partially working) area.

1 个答案:

答案 0 :(得分:0)

我建议使用虚拟块。放置块时,在所需区域中生成虚拟块。当你的块或虚拟块被打破时,打破假人和真正块的整个结构。