diff --git a/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java b/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java index ea2b94d8..31e5149d 100644 --- a/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java +++ b/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java @@ -45,8 +45,6 @@ public class BlockCraftingMonitor extends BlockCraftingUnit public static final UnlistedProperty COLOR = new UnlistedProperty<>( "color", AEColor.class ); - public static final UnlistedProperty FORWARD = new UnlistedProperty<>( "forward", EnumFacing.class ); - public BlockCraftingMonitor() { super( CraftingUnitType.MONITOR ); @@ -59,7 +57,8 @@ public class BlockCraftingMonitor extends BlockCraftingUnit return new ExtendedBlockState( this, getAEStates(), new IUnlistedProperty[] { STATE, COLOR, - FORWARD + FORWARD, + UP } ); } @@ -68,15 +67,20 @@ public class BlockCraftingMonitor extends BlockCraftingUnit { AEColor color = AEColor.TRANSPARENT; EnumFacing forward = EnumFacing.NORTH; + EnumFacing up = EnumFacing.UP; TileCraftingMonitorTile te = getTileEntity( world, pos ); if( te != null ) { color = te.getColor(); 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 diff --git a/src/main/java/appeng/client/render/crafting/CraftingCubeRendering.java b/src/main/java/appeng/client/render/crafting/CraftingCubeRendering.java index 1602b336..fd6e7dce 100644 --- a/src/main/java/appeng/client/render/crafting/CraftingCubeRendering.java +++ b/src/main/java/appeng/client/render/crafting/CraftingCubeRendering.java @@ -59,7 +59,10 @@ public class CraftingCubeRendering extends BlockRenderingCustomizer ResourceLocation baseName = new ResourceLocation( AppEng.MOD_ID, registryName ); // Disable auto-rotation - rendering.modelCustomizer( ( loc, model ) -> model ); + if( type != BlockCraftingUnit.CraftingUnitType.MONITOR ) + { + rendering.modelCustomizer( ( loc, model ) -> model ); + } // This is the standard blockstate model ModelResourceLocation defaultModel = new ModelResourceLocation( baseName, "normal" ); diff --git a/src/main/java/appeng/client/render/crafting/MonitorBakedModel.java b/src/main/java/appeng/client/render/crafting/MonitorBakedModel.java index 6eb42a33..bd680ac5 100644 --- a/src/main/java/appeng/client/render/crafting/MonitorBakedModel.java +++ b/src/main/java/appeng/client/render/crafting/MonitorBakedModel.java @@ -63,10 +63,9 @@ class MonitorBakedModel extends CraftingCubeBakedModel @Override 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 - 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.addCube( x1, y1, z1, x2, y2, z2 ); @@ -111,18 +110,4 @@ class MonitorBakedModel extends CraftingCubeBakedModel 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; - } } diff --git a/src/main/resources/assets/appliedenergistics2/models/block/crafting/monitor.json b/src/main/resources/assets/appliedenergistics2/models/block/crafting/monitor.json index 0f86f452..38fa4e51 100644 --- a/src/main/resources/assets/appliedenergistics2/models/block/crafting/monitor.json +++ b/src/main/resources/assets/appliedenergistics2/models/block/crafting/monitor.json @@ -1,6 +1,7 @@ { "parent": "block/cube", "textures": { + "particle": "appliedenergistics2:blocks/crafting/monitor", "north": "appliedenergistics2:blocks/crafting/monitor", "east": "appliedenergistics2:blocks/crafting/unit", "west": "appliedenergistics2:blocks/crafting/unit",