Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Ну во-первых, может быть более 10 вариантов соединения, если только по вертикали.... а во-вторых да, точно, метадата действительно не лучший вариант...Asd73 написал(а):Метадата не подойдет, потому что один блок кабеля может иметь 6 соединений с соседними блоками. То есть требуется 6 двоичных разрядов.
Примеров полно - есть множество модов с открытыми/видимыми исходниками.
Хотя бы мое поделие: https://bitbucket.org/Shuleshkin/nedocomputers
Oldestkon написал(а):RenderBlocks.java
Метод renderBlockFence:
Код:boolean flag3 = par1BlockFence.canConnectFenceTo(this.blockAccess, par2 - 1, par3, par4); boolean flag4 = par1BlockFence.canConnectFenceTo(this.blockAccess, par2 + 1, par3, par4); boolean flag5 = par1BlockFence.canConnectFenceTo(this.blockAccess, par2, par3, par4 - 1); boolean flag6 = par1BlockFence.canConnectFenceTo(this.blockAccess, par2, par3, par4 + 1);
4 флага на 4 стороны - проверяют соединены ли с тех сторон с другим забором. Дальше рендер:
Код:float f4 = flag3 ? 0.0F : f; float f5 = flag4 ? 1.0F : f1; float f6 = flag5 ? 0.0F : f; float f7 = flag6 ? 1.0F : f1; if (flag1) { this.setRenderBounds((double)f4, (double)f2, (double)f, (double)f5, (double)f3, (double)f1); this.renderStandardBlock(par1BlockFence, par2, par3, par4); flag = true; } if (flag2) { this.setRenderBounds((double)f, (double)f2, (double)f6, (double)f1, (double)f3, (double)f7); this.renderStandardBlock(par1BlockFence, par2, par3, par4); flag = true; } f2 = 0.375F; f3 = 0.5625F; if (flag1) { this.setRenderBounds((double)f4, (double)f2, (double)f, (double)f5, (double)f3, (double)f1); this.renderStandardBlock(par1BlockFence, par2, par3, par4); flag = true; } if (flag2) { this.setRenderBounds((double)f, (double)f2, (double)f6, (double)f1, (double)f3, (double)f7); this.renderStandardBlock(par1BlockFence, par2, par3, par4); flag = true; }
Где как раз используются данные флаги и рендерятся остальные части забора.