Проходимость, прозрачность, выделение блока

Версия Minecraft
1.7.10
83
3
Видел статью (не помню на форуме или в сети), найти снова никак не могу, там описывалось как сделать следующие фичи:

1) Блок прозрачен (не полностью). По типу воды или слизи (через них мы можем что-то разглядеть).
2) Блок проходим (как воздух, паутина, вода, лава).
3) Блок не выделяется (при наведении черной рамки нет). Аналогично воздуху, барьеру.


Как это делается? (ссылка/ответ)
 
Решение
1)Посмотри слизь
(блока слизи в 1.7.10 нет, вроде это)
Код:
@SideOnly(Side.CLIENT)
    public BlockRenderLayer getBlockLayer()
    {
        return BlockRenderLayer.TRANSLUCENT;
    }

2)Посмотри патину(все жидкости проходимы)
(вроде это)
Код:
public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_)
    {
        return null;
    }

3)Посмотри барьер
(барьера в 1.7.10 нет, вроде это)
Код:
public EnumBlockRenderType getRenderType(IBlockState state)
    {
        return EnumBlockRenderType.INVISIBLE;
    }
1)Посмотри слизь
(блока слизи в 1.7.10 нет, вроде это)
Код:
@SideOnly(Side.CLIENT)
    public BlockRenderLayer getBlockLayer()
    {
        return BlockRenderLayer.TRANSLUCENT;
    }

2)Посмотри патину(все жидкости проходимы)
(вроде это)
Код:
public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_)
    {
        return null;
    }

3)Посмотри барьер
(барьера в 1.7.10 нет, вроде это)
Код:
public EnumBlockRenderType getRenderType(IBlockState state)
    {
        return EnumBlockRenderType.INVISIBLE;
    }
 
1,976
68
220
Ну почти.
1:
Код:
/**
* Returns which pass should this block be rendered on. 0 for solids and 1 for alpha
*/
@SideOnly(Side.CLIENT)
public int getRenderBlockPass() {
    return 1;
}
2+

3:
Код:
@Override
 public boolean canCollideCheck(int par1, boolean par2) {
    return false;
}
// Или вот это в конструктор:
 this.setBlockBounds(0, 0, 0, 0, 0, 0);
 
Enotus написал(а):
WhiteWaeeior написал(а):
Код:
this.setBlockBounds(0, 0, 0, 0, 0, 0);

Убирает все границы блока, а не только обводку

Не понял, как это все границы, а не только обводку?
У блока нет границ, на него нельзя встать, сломать, взаимодействовать с ним, можно проходить через него. Просто текстурка.
 
83
3
WhiteWaeeior написал(а):
Enotus написал(а):
WhiteWaeeior написал(а):
Код:
this.setBlockBounds(0, 0, 0, 0, 0, 0);

Убирает все границы блока, а не только обводку

Не понял, как это все границы, а не только обводку?
У блока нет границ, на него нельзя встать, сломать, взаимодействовать с ним, можно проходить через него. Просто текстурка.

Аааа, т.е. это 2в1.
 
1,976
68
220
WhiteWaeeior написал(а):
BlockRenderLayer
EnumBlockRenderType

Ты хоть на версию смотри -_-
ни того, ни другого на 1.7.10 нет.


Enotus написал(а):
Ок, а чтобы можно было взаимодействовать, но при этом проходить сквозь. Какие параметры менять нужно?

Уже сказали.
Код:
public AxisAlignedBB getCollisionBoundingBoxFromPool(World p_149668_1_, int p_149668_2_, int p_149668_3_, int p_149668_4_) {
    return null;
}
 
Сверху