//В теле класса перед конструктором
protected static final AxisAlignedBB GRASS_AABB = new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D);
//Сам метод
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
return GRASS_AABB;
}
А как по твоему должно быть? (Желательно скрин и код + распиши подробно что тебе нужно)выделение накладывается как на цельный блок.
//В теле класса перед конструктором
protected static final AxisAlignedBB GRASS_AABB = new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D);
//Сам метод
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
return GRASS_AABB;
}
То, что идёт после AxisAlignedBB в скобках, это координаты вида "x1, y1, z1, x2, y2, z2", где 0,0625D — 1 пиксель? И это и будет определять границы выделения?Это как пример, но первую строчку, ты можешь сделать так же, как здесь...Java://В теле класса перед конструктором protected static final AxisAlignedBB GRASS_AABB = new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.800000011920929D, 0.8999999761581421D); //Сам метод @Override public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) { return GRASS_AABB; }
Всё работает, спасибо большое.Да. Считай что, допустим, x1 = 30 по оси x, а x2 = 31. А если мы равномерно уменьшим толщину по этой же оси, то получится, что x1 = 30.2, а x2 = 30.8. К примеру.
А что касается 2-ого вопроса, то подобную строку, ты можешь использовать и для создания рамки выделения и для коллизии. Но если ты хочешь чтобы твоя рамка выделения соответствовала модели, нужен другой метод. Посмотри в ванильных блоках, ибо я не помню.