Как сделать так, чтобы блок выделялся по его хитбоксу?

Версия Minecraft
1.12.2
21
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;
    }
Это как пример, но первую строчку, ты можешь сделать так же, как здесь...
917
22
332
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;
    }
Это как пример, но первую строчку, ты можешь сделать так же, как здесь...
 
21
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;
    }
Это как пример, но первую строчку, ты можешь сделать так же, как здесь...
То, что идёт после AxisAlignedBB в скобках, это координаты вида "x1, y1, z1, x2, y2, z2", где 0,0625D — 1 пиксель? И это и будет определять границы выделения?
 
Последнее редактирование:
917
22
332
Да. Считай что, допустим, x1 = 30 по оси x, а x2 = 31. А если мы равномерно уменьшим толщину по этой же оси, то получится, что x1 = 30.2, а x2 = 30.8. К примеру.
А что касается 2-ого вопроса, то подобную строку, ты можешь использовать и для создания рамки выделения и для коллизии. Но если ты хочешь чтобы твоя рамка выделения соответствовала модели, нужен другой метод. Посмотри в ванильных блоках, ибо я не помню.
 
21
1
Да. Считай что, допустим, x1 = 30 по оси x, а x2 = 31. А если мы равномерно уменьшим толщину по этой же оси, то получится, что x1 = 30.2, а x2 = 30.8. К примеру.
А что касается 2-ого вопроса, то подобную строку, ты можешь использовать и для создания рамки выделения и для коллизии. Но если ты хочешь чтобы твоя рамка выделения соответствовала модели, нужен другой метод. Посмотри в ванильных блоках, ибо я не помню.
Всё работает, спасибо большое.
 
Сверху