- 5,018
- 47
- 783
Привет! Меня попросили некоторые субъекты, типо когда закончишь с текстурой, выложи код.Методом научиного ты ка сталов понятно, что аккуратно с помощью массива и цикла тут сделать не удастся, поэтому пришлось поиндусокодить. Если кто знает как еще - пишите, я с удовольствием исправлю! Ну, я боюсь что вы испугаетесь немного, а кто то ужаснется, но вот:
Однако код не совсем доделан, ибо по "y" он никак друг с другом не взаимодействует. Но я думаю принцип работы понятен.Пользуемся!
В итоге мы получаем -->
Код:
public class PolishedMarsStone extends Block {
//my super Hindu code(Мой суперский индусский код)
//К сожалению, опытным путем было выяснено, что цикл и массив тут не подходят.
public static IIcon iconDown1,iconDown2,iconDown3,iconDown4,
iconDownA1,iconDownA2,iconDownA3,iconDownA4,iconDownW1,iconDownW2,iconDownFull,iconDownB1,iconDownB2,iconDownB3,iconDownB4;
public IIcon iconDown;
public PolishedMarsStone() {
super(Material.rock);
this.setHardness(10F);
this.setResistance(1F);
this.setCreativeTab(SpaceAdvanced.tabMainSA);
this.setBlockName("PolishedMarsStone");
this.setHarvestLevel("pickaxe", 1);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconReg)
{
this.iconDownFull = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownFull");
this.iconDown = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDown");
this.iconDown1 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDown1");
this.iconDown2 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDown2");
this.iconDown3 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDown3");
this.iconDown4 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDown4");
this.iconDownA1 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownA1");
this.iconDownA2 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownA2");
this.iconDownA3 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownA3");
this.iconDownA4 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownA4");
this.iconDownB1 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownB1");
this.iconDownB2 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownB2");
this.iconDownB3 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownB3");
this.iconDownB4 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownB4");
this.iconDownW1 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownW1");
this.iconDownW2 = iconReg.registerIcon(SpaceAdvanced.MODID + ":iconDownW2");
}
@Override
public IIcon getIcon(int side, int meta) {
if(side == 0) return this.iconDown;
if(side == 1) return this.iconDown;
if(side == 2) return this.iconDown;
if(side == 3) return this.iconDown;
if(side == 4) return this.iconDown;
if(side == 5) return this.iconDown;
return this.iconDown;
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side)
{
//Центр(Center)
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone
&& world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone && world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDownFull;
}
//x+1 and z-1 and x - 1
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone
&& world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDownB4;
}
//x+1 and z+1 and x - 1
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone
&& world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDownB2;
}
//z+1 and x+1 and z - 1
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone
&& world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDownB1;
}
//z+1 and x-1 and z - 1
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone
&& world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDownB3;
}
//x+1 and z+1
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDownA3;
}
//x-1 and z-1
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone && world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDownA1;
}
//x-1 and z+1
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDownA4;
}
//x+1 and z-1
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDownA2;
}
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone ){
if(side == 0) return this.iconDownW2;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDownW1;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDown1;
}
if (world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDown3;
}
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDown2;
}
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDown4;
}
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone){
if(side == 0) return this.iconDown4;
}
if(side == 0) return this.iconDown;
//Центр(Center)
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone
&& world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone && world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDownFull;
}
//x+1 and z-1 and x - 1
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone
&& world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDownB4;
}
//x+1 and z+1 and x - 1
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone
&& world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDownB2;
}
//z+1 and x+1 and z - 1
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone
&& world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDownB1;
}
//z+1 and x-1 and z - 1
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone
&& world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDownB3;
}
//x+1 and z+1
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDownA3;
}
//x-1 and z-1
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone && world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDownA1;
}
//x-1 and z+1
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDownA4;
}
//x+1 and z-1
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDownA2;
}
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone ){
if(side == 1) return this.iconDownW2;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDownW1;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDown1;
}
if (world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDown3;
}
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDown2;
}
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone){
if(side == 1) return this.iconDown4;
}
if(side == 1) return this.iconDown;
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone ){
if(side == 2) return this.iconDownW2;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 2) return this.iconDownW1;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 2) return this.iconDown3;//1
}
if (world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 2) return this.iconDown1;
}
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone){
if(side == 2) return this.iconDown2;
}
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone){
if(side == 2) return this.iconDown4;
}
if(side == 2) return this.iconDown;
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone ){
if(side == 3) return this.iconDownW2;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 3) return this.iconDownW1;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 3) return this.iconDown1;//1
}
if (world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 3) return this.iconDown3;
}
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone){
if(side == 3) return this.iconDown2;
}
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone){
if(side == 3) return this.iconDown4;
}
if(side == 3) return this.iconDown;
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone ){
if(side == 4) return this.iconDownW1;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 4) return this.iconDownW2;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 4) return this.iconDown4;//1
}
if (world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 4) return this.iconDown3;
}
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone){
if(side == 4) return this.iconDown1;
}
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone){
if(side == 4) return this.iconDown3;
}
if(side == 4) return this.iconDown;
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone && world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone ){
if(side == 5) return this.iconDownW1;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone && world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 5) return this.iconDownW2;
}
if (world.getBlock(x - 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 5) return this.iconDown3;//1
}
if (world.getBlock(x + 1, y, z) == BlocksSA.polishedMarsStone){
if(side == 5) return this.iconDown4;
}
if (world.getBlock(x, y, z - 1) == BlocksSA.polishedMarsStone){
if(side == 5) return this.iconDown3;
}
if (world.getBlock(x, y, z + 1) == BlocksSA.polishedMarsStone){
if(side == 5) return this.iconDown1;
}
if(side == 5) return this.iconDown;
return this.iconDown;
}
}
В итоге мы получаем -->