- 55
- 1
- 1
Здравствуйте! Делаю мод с OBJ блоком, возникла проблема, думаю из названия темы понятно. Вот код
Так же блокстэйт
Да , вроде бы работает, но потом все слетает
Block class:
public class BlockResearchWorkbench extends Block implements IHasModel
{
public static final PropertyDirection FACING = BlockHorizontal.FACING;
public BlockResearchWorkbench() {
super(Material.IRON);
setRegistryName("block_research_workbench");
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
this.setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
InitBlocks.BLOCKS.add(this);
InitItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
}
@Override
protected BlockStateContainer createBlockState() {
return new BlockStateContainer(this, new IProperty[] { FACING});
}
@Override
public IBlockState getStateForPlacement(final World world, final BlockPos pos, final EnumFacing facing, final float hitX, final float hitY, final float hitZ, final int meta, final EntityLivingBase placer, final EnumHand hand) {
return super.getStateForPlacement(world, pos, facing, hitX, hitY, hitZ, meta, placer, hand).withProperty(FACING, placer.getHorizontalFacing().getOpposite());
}
@SuppressWarnings("deprecation")
@Override
public IBlockState getStateFromMeta(int meta) {
EnumFacing enumfacing = EnumFacing.getFront(meta);
if (enumfacing.getAxis() == EnumFacing.Axis.Y) {
enumfacing = EnumFacing.NORTH;
}
return this.getDefaultState().withProperty(FACING, enumfacing);
}
@Override
public int getMetaFromState(final IBlockState state) {
return state.getValue(FACING).getHorizontalIndex();
}
@SuppressWarnings("deprecation")
@Override
public IBlockState withRotation(final IBlockState state, final Rotation rotation) {
return state.withProperty(FACING, rotation.rotate(state.getValue(FACING)));
}
@SuppressWarnings("deprecation")
@Override
public IBlockState withMirror(final IBlockState state, final Mirror mirror) {
return state.withRotation(mirror.toRotation(state.getValue(FACING)));
}
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess worldIn, BlockPos pos, EnumFacing side) {
return false;
}
@Override
public boolean isBlockNormalCube(IBlockState blockState) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState blockState) {
return false;
}
@Override
public void registerModels() {
Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
}
}
blockstate:
{
"forge_marker": 1,
"defaults": {
"custom": { "flip-v": true },
"model": "rworkbench:model_research_workbench.obj",
"uvlock": true
},
"variants": {
"normal": [{
}],
"inventory": [{
}],
"facing": {
"north": {"y": 0},
"south": {"y": 180},
"west": {"y": 270},
"east": {"y": 90}
}
}
}