Fixes #2398 by switching to use of the auto rotation
This commit is contained in:
parent
c19d9d49f9
commit
18ea568e2a
|
@ -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
|
||||||
|
|
|
@ -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" );
|
||||||
|
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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",
|
||||||
|
|
Loading…
Reference in a new issue