Fixes #2398 by switching to use of the auto rotation

This commit is contained in:
Sebastian Hartte 2016-10-02 13:27:38 +02:00
parent c19d9d49f9
commit 18ea568e2a
4 changed files with 15 additions and 22 deletions

View file

@ -45,8 +45,6 @@ public class BlockCraftingMonitor extends BlockCraftingUnit
public static final UnlistedProperty<AEColor> COLOR = new UnlistedProperty<>( "color", AEColor.class ); public static final UnlistedProperty<AEColor> COLOR = new UnlistedProperty<>( "color", AEColor.class );
public static final UnlistedProperty<EnumFacing> FORWARD = new UnlistedProperty<>( "forward", EnumFacing.class );
public BlockCraftingMonitor() public BlockCraftingMonitor()
{ {
super( CraftingUnitType.MONITOR ); super( CraftingUnitType.MONITOR );
@ -59,7 +57,8 @@ public class BlockCraftingMonitor extends BlockCraftingUnit
return new ExtendedBlockState( this, getAEStates(), new IUnlistedProperty[] { return new ExtendedBlockState( this, getAEStates(), new IUnlistedProperty[] {
STATE, STATE,
COLOR, COLOR,
FORWARD FORWARD,
UP
} ); } );
} }
@ -68,15 +67,20 @@ public class BlockCraftingMonitor extends BlockCraftingUnit
{ {
AEColor color = AEColor.TRANSPARENT; AEColor color = AEColor.TRANSPARENT;
EnumFacing forward = EnumFacing.NORTH; EnumFacing forward = EnumFacing.NORTH;
EnumFacing up = EnumFacing.UP;
TileCraftingMonitorTile te = getTileEntity( world, pos ); TileCraftingMonitorTile te = getTileEntity( world, pos );
if( te != null ) if( te != null )
{ {
color = te.getColor(); color = te.getColor();
forward = te.getForward(); forward = te.getForward();
up = te.getUp();
} }
return super.getExtendedState( state, world, pos ).withProperty( COLOR, color ).withProperty( FORWARD, forward ); return super.getExtendedState( state, world, pos )
.withProperty( COLOR, color )
.withProperty( FORWARD, forward )
.withProperty( UP, up );
} }
@Override @Override

View file

@ -59,7 +59,10 @@ public class CraftingCubeRendering extends BlockRenderingCustomizer
ResourceLocation baseName = new ResourceLocation( AppEng.MOD_ID, registryName ); ResourceLocation baseName = new ResourceLocation( AppEng.MOD_ID, registryName );
// Disable auto-rotation // Disable auto-rotation
rendering.modelCustomizer( ( loc, model ) -> model ); if( type != BlockCraftingUnit.CraftingUnitType.MONITOR )
{
rendering.modelCustomizer( ( loc, model ) -> model );
}
// This is the standard blockstate model // This is the standard blockstate model
ModelResourceLocation defaultModel = new ModelResourceLocation( baseName, "normal" ); ModelResourceLocation defaultModel = new ModelResourceLocation( baseName, "normal" );

View file

@ -63,10 +63,9 @@ class MonitorBakedModel extends CraftingCubeBakedModel
@Override @Override
protected void addInnerCube( EnumFacing side, IBlockState state, CubeBuilder builder, float x1, float y1, float z1, float x2, float y2, float z2 ) protected void addInnerCube( EnumFacing side, IBlockState state, CubeBuilder builder, float x1, float y1, float z1, float x2, float y2, float z2 )
{ {
EnumFacing forward = getForward( state );
// For sides other than the front, use the chassis texture // For sides other than the front, use the chassis texture
if( side != forward ) // The actual rotation of the cube is handled by the auto rotation as usual
if( side != EnumFacing.NORTH )
{ {
builder.setTexture( chassisTexture ); builder.setTexture( chassisTexture );
builder.addCube( x1, y1, z1, x2, y2, z2 ); builder.addCube( x1, y1, z1, x2, y2, z2 );
@ -111,18 +110,4 @@ class MonitorBakedModel extends CraftingCubeBakedModel
return AEColor.TRANSPARENT; return AEColor.TRANSPARENT;
} }
private static EnumFacing getForward( IBlockState state )
{
if( state instanceof IExtendedBlockState )
{
IExtendedBlockState extState = (IExtendedBlockState) state;
EnumFacing forward = extState.getValue( BlockCraftingMonitor.FORWARD );
if( forward != null )
{
return forward;
}
}
return EnumFacing.NORTH;
}
} }

View file

@ -1,6 +1,7 @@
{ {
"parent": "block/cube", "parent": "block/cube",
"textures": { "textures": {
"particle": "appliedenergistics2:blocks/crafting/monitor",
"north": "appliedenergistics2:blocks/crafting/monitor", "north": "appliedenergistics2:blocks/crafting/monitor",
"east": "appliedenergistics2:blocks/crafting/unit", "east": "appliedenergistics2:blocks/crafting/unit",
"west": "appliedenergistics2:blocks/crafting/unit", "west": "appliedenergistics2:blocks/crafting/unit",