Копируем данный код, он должен уже быть ясен вам. Если нет, то бегом зубрить предыдущие главы.
Cоздаем файл с именем mod_tex.java дабы не портить mod_gcc и не запутаться.
Code
package net.minecraft.src;
import java.util.Random;
public class mod_tex extends BaseMod
{
public static Block Tex = new BlockTex(110, 0).setHardness(1.0F).setResistance(6000.0F).setBlockName("Tex");
}
public String Version()
{
return "1.8.1";
}
public mod_tex()
{
ModLoader.RegisterBlock(Tex);
Tex.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/textures/Tex.png");
ModLoader.AddName(Tex, "Tex");
ModLoader.AddRecipe(new ItemStack(Tex, 1), new Object[]{ "#", Character.valueOf('#'), Block.dirt,});
}
}
Далее пишем под публичной блока:
Публичная текстуры с бока:
Code
public static int TexSide;
Публичная текстуры с лица:
Code
public static int TexFront;
Сделали? Отлично! Теперь нам нужно указать TexSide и TexFront куда им ходить за текстурой. Пишем после рецепта:
Путь к текстуре, которя будет боковой:
Code
TexSide = ModLoader.addOverride("/terrain.png", "/textures/TexSide.png");
Путь к текстуре, которя будет лицевой:
Code
TexFront = ModLoader.addOverride("/terrain.png", "/textures/TexFront.png");
Front.
http://savepic.ru/2985844.htm
Side.
http://savepic.net/1891524.htm
Обычная Tex.
http://savepic.net/1837253.htm
Проверяем.
http://savepic.ru/3004276.htm
Двинемся далее. Cоздаем файл с именем BlockTex.java.
Вот код для отображении текстуры на нашем блоке. Думаю, что потом вам не составит труда отредактировать его для своего следующего блока. В общих словах, вся эта махина создает блок с текстурой Tex. Потом присваивает всем сторонам текстуру TexSide, а уже потом только лицевой стороне присваивается текстура TexFront.
Code
package net.minecraft.src;
import java.util.Random;
public class BlockTex extends Block
{
public BlockTex(int i, int j)
{
super(i, j, Material.rock);
blockIndexInTexture = j;
}
public int idDropped(int i, int j)
{
return mod_tex.Tex.blockID;
}
public int quantityDropped(Random random)
{
return 2;
}
public int getBlockTextureFromSideAndMetadata(int i, int j)
{
if(i == 1)
{
return blockIndexInTexture;
}
if(i == 0)
{
return blockIndexInTexture;
}
int k = mod_tex.TexFront;
if(j == 2 && i == 2)
{
return k;
}
if(j == 3 && i == 5)
{
return k;
}
if(j == 0 && i == 3)
{
return k;
}
if(j == 1 && i == 4)
{
return k;
} else
{
return mod_tex.TexSide;
}
}
public int getBlockTextureFromSide(int i)
{
if(i == 1)
{
return blockIndexInTexture;
}
if(i == 0)
{
return blockIndexInTexture;
}
if(i == 3)
{
return mod_tex.TexFront;
} else
{
return mod_tex.TexSide;
}
}
}
Ну и как бы бонус. Вот эти пару строчек будут ставить блок к вам лицом. Если это нужно, то впишите их в конце.
Code
public void onBlockPlacedBy(World world, int i, int j, int k, EntityLiving entityliving)
{
int l = MathHelper.floor_double((double)((entityliving.rotationYaw * 4F) / 360F) + 2.5D) & 3;
world.setBlockMetadataWithNotify(i, j, k, l);
}
Скриншот из игры: