Как сделать обводку под размер блока?

Версия Minecraft
1.12.2

ReyMagos

Тег-бомбастер
412
7
121
У меня есть блок с размерами меньше, чем у обычного, но обводка идёт на весь блок. При подключении кастомного AxisAlignedBB обводка вообще исчезает. Что делать?
 

Вложения

  • 2019-01-26_19.46.47.png
    2019-01-26_19.46.47.png
    183.8 KB · Просмотры: 41
Решение
Код:
private static final AxisAlignedBB AABB = new AxisAlignedBB(0F,0F,0F,1F,0.25F,1F);

@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
    return AABB;
}
В класс блока поставь.
Потом у тебя бокс появится не в целый блок, а в высоту на 1/4.
Потом пытаешься "играться" с числами в AABB.
~
@Sasha68 Держу в курсе, в 1.12 нету такого метода.. Держу в курсе..
126
6
33
Как пример
Java:
public BlockADoorBorder()
    {
        super("blockadoorborder", Material.circuits, true);
        setBlockUnbreakable();
        setCreativeTab(CreativeTabs.tabCombat);
        setStepSound(soundTypeMetal);
        setResistance(Float.MAX_VALUE);
        setBlockTextureName("iron_block");
        setBlockName("blockADoorBorder");
        setBlockBounds(0.25F, 0.0F, 0.0F, 0.75F, 1.0F, 1.0F);
    }
 
3,005
192
592
Код:
private static final AxisAlignedBB AABB = new AxisAlignedBB(0F,0F,0F,1F,0.25F,1F);

@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
    return AABB;
}
В класс блока поставь.
Потом у тебя бокс появится не в целый блок, а в высоту на 1/4.
Потом пытаешься "играться" с числами в AABB.
~
@Sasha68 Держу в курсе, в 1.12 нету такого метода.. Держу в курсе..
 

ReyMagos

Тег-бомбастер
412
7
121
Java:
public class BlockMine extends BaseBlock {
    public BlockMine(String name, float hardness, Material material) {
        super(name, hardness, material);
        setBlockBounds(0.25F, 0.0F, 0.0F, 0.75F, 1.0F, 1.0F);
    }
}
setBlockBounds(0.25F, 0.0F, 0.0F, 0.75F, 1.0F, 1.0F); на эту строку ругается, мол, не такого метода.
 

ReyMagos

Тег-бомбастер
412
7
121
Java:
private static final AxisAlignedBB MINE_AABB =  new AxisAlignedBB(0.1875, 0, 0.1875, 0.1875, 0.125, 0.1875);
public AxisAlignedBB getBoundingBox(IBlockState blockState, IBlockAccess source, BlockPos position) {
    return MINE_AABB;
}
Такая строка была в коде. Обводка исчезает совсем.
 

ReyMagos

Тег-бомбастер
412
7
121
Весь класс
Java:
package luckyblock.redmod.blocks;

public class BlockMine extends BaseBlock {
    public BlockMine(String name, float hardness, Material material) {
        super(name, hardness, material);
    }
    private EntityLivingBase placer;
    private static final AxisAlignedBB MINE_AABB =  new AxisAlignedBB(0.1875, 0, 0.1875, 0.1875, 0.125, 0.1875);

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

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

    public AxisAlignedBB getBoundingBox(IBlockState blockState, IBlockAccess source, BlockPos position) {
        return MINE_AABB;
    }

    @Override
    public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placerIn, ItemStack stack) {
        placer = placerIn;
    }
    private boolean canBePlacedOn(World worldIn, BlockPos pos)
    {
        return worldIn.getBlockState(pos).isTopSolid();
    }
    public boolean canPlaceBlockAt(World worldIn, BlockPos pos)
    {
        return this.canBePlacedOn(worldIn, pos.down());
    }
}
 
3,005
192
592
Сверху