Как сделать прозрачный блок-барьер и блок, через который можно пройти.

Версия Minecraft
1.7.10
Я в моддинге новичек, и только учусь, поэтому пришел сюда с просьбой о помощи. Мне нужно создать два типа блоков:
Барьер(невидимый блок, через который нельзя пройти, как в minecraft 1.8) и блоки, с ванильными текстурами(кирпичи, булыга и т.д.), через которые можно спокойно пройти, нужно для лабиринтов и данджей.
Надеюсь, что мне здесь помогут с моей проблемой. 
Спасибо, за то, что потратили на меня время.
Мод делаю на forge
 
Насчет второго - есть boolean isCollidable(). Если возвращает фолс - то через блок можно проходить.


Барьер - просто текстуру прозрачную сделай

Ванильные текстуры?

В классе блока опиши:


Код:
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) // На самом деле p_149691_1_ и p_149691_2_
                                         // - у меня майн не деобфусцирован
{
return Blocks.(((нужная текстура))).getBlockTextureFromSide(side);
}



П.с. для стонебрика - .getIcon(side, meta).
 

timaxa007

Модератор
5,831
409
672
1.
Код:
public class BlockBarrier extends Block {

	public BlockBarrier() {
		super(Material.glass);
		setBlockUnbreakable();
		setResistance(6000001.0F);
		disableStats();
	}

	@Override
	public int getRenderType() {
		return -1;
	}

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

	@Override
	public int quantityDropped(Random random) {
		return 0;
	}

	@SideOnly(Side.CLIENT)
	@Override
	public float getAmbientOcclusionLightValue() {
		return 1.0F;
	}

}
 
Craftist написал(а):
Насчет второго - есть boolean isCollidable(). Если возвращает фолс - то через блок можно проходить.


Барьер - просто текстуру прозрачную сделай

Ванильные текстуры?

В классе блока опиши:


Код:
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta) // На самом деле p_149691_1_ и p_149691_2_
                                         // - у меня майн не деобфусцирован
{
return Blocks.(((нужная текстура))).getBlockTextureFromSide(side);
}



П.с. для стонебрика - .getIcon(side, meta).


Не могли бы вы поподробней рассказать про  boolean isCollidable()? При попытке его использовать у блока пропадает выделение, он как воздух, не ломается, можно через него поставить блок, но я пройти не могу
 

timaxa007

Модератор
5,831
409
672
2.
Код:
public class BlockFake extends Block {

	public BlockFake() {
		super(Material.plants);
	}

	@Override
	public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) {
		return null;
	}

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

	@SideOnly(Side.CLIENT)
	@Override
	public IIcon getIcon(int side, int meta) {
		return Blocks.brick_block.getIcon(side, meta);
	}

}
 
Сверху