Сделал блок с моделью, всё идеально модель есть, решил добавить этому блоку поворот модели. Стал глядеть как это сделано в ваниле, оформил как надо blockstates, потом посмотрел в сундуке, что отвечает за поворот, но столкнулся с такой проблемой что, у блоков пропала модель, текстура. Они выглядят просто как обычный блок без текстуры.
Класс блока:
blockstates:
Класс блока:
Код:
public class BlockHead extends Block {
public static final PropertyDirection FACING = BlockHorizontal.FACING;
public BlockHead() {
super(Material.WOOD);
setRegistryName("Head");
setUnlocalizedName("head");
setCreativeTab(DECreativeTab.DE_tabBlocks);
GameRegistry.register(this);
GameRegistry.register(new ItemBlock(this), this.getRegistryName());
}
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
{
EnumFacing enumfacing = EnumFacing.getHorizontal(MathHelper.floor_double((double)(placer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3).getOpposite();
BlockPos blockpos = pos.north();
BlockPos blockpos1 = pos.south();
BlockPos blockpos2 = pos.west();
BlockPos blockpos3 = pos.east();
boolean flag = this == worldIn.getBlockState(blockpos).getBlock();
boolean flag1 = this == worldIn.getBlockState(blockpos1).getBlock();
boolean flag2 = this == worldIn.getBlockState(blockpos2).getBlock();
boolean flag3 = this == worldIn.getBlockState(blockpos3).getBlock();
if (!flag && !flag1 && !flag2 && !flag3)
{
worldIn.setBlockState(pos, state, 3);
}
else if (enumfacing.getAxis() != EnumFacing.Axis.X || !flag && !flag1)
{
if (enumfacing.getAxis() == EnumFacing.Axis.Z && (flag2 || flag3))
{
if (flag2)
{
worldIn.setBlockState(blockpos2, state, 3);
}
else
{
worldIn.setBlockState(blockpos3, state, 3);
}
worldIn.setBlockState(pos, state, 3);
}
}
else
{
if (flag)
{
worldIn.setBlockState(blockpos, state, 3);
}
else
{
worldIn.setBlockState(blockpos1, state, 3);
}
worldIn.setBlockState(pos, state, 3);
}
if (stack.hasDisplayName())
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileEntityChest)
{
((TileEntityChest)tileentity).setCustomName(stack.getDisplayName());
}
}
}
}
Код:
{
"variants": {
"facing=south": { "model": "DecorativeExpansion:Head"},
"facing=west": { "model": "DecorativeExpansion:Head"},
"facing=north": { "model": "DecorativeExpansion:Head"},
"facing=east": { "model": "DecorativeExpansion:Head"}
}
}