diff --git a/src/main/java/appeng/block/legacy/BlockCraftMonitor.java b/src/main/java/appeng/block/legacy/BlockCraftMonitor.java new file mode 100644 index 00000000..4576460b --- /dev/null +++ b/src/main/java/appeng/block/legacy/BlockCraftMonitor.java @@ -0,0 +1,37 @@ +package appeng.block.legacy; + +import appeng.block.AEBaseTileBlock; +import appeng.core.features.AEFeature; +import appeng.core.sync.GuiBridge; +import appeng.tile.legacy.TileCraftingMonitor; +import appeng.util.Platform; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import java.util.EnumSet; + +public class BlockCraftMonitor extends AEBaseTileBlock { + + public BlockCraftMonitor() { + super(Material.iron); + this.setTileEntity(TileCraftingMonitor.class); + this.setFeature( EnumSet.of(AEFeature.Legacy) ); + } + + @Override + public boolean onActivated(World w, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { + final TileCraftingMonitor tile = this.getTileEntity(w, x, y, z); + if( tile != null && !player.isSneaking() ) { + if( Platform.isClient() ) + { + return true; + } + Platform.openGUI(player, tile, ForgeDirection.getOrientation(side), GuiBridge.GUI_CRAFTING_STATUS); + return true; + } + return false; + } + +} diff --git a/src/main/java/appeng/core/api/definitions/ApiBlocks.java b/src/main/java/appeng/core/api/definitions/ApiBlocks.java index 1ff7ac58..274ff9f6 100644 --- a/src/main/java/appeng/core/api/definitions/ApiBlocks.java +++ b/src/main/java/appeng/core/api/definitions/ApiBlocks.java @@ -27,6 +27,7 @@ import appeng.block.AEBaseSlabBlock; import appeng.block.crafting.*; import appeng.block.grindstone.BlockCrank; import appeng.block.grindstone.BlockGrinder; +import appeng.block.legacy.BlockCraftMonitor; import appeng.block.legacy.BlockCraftTerminal; import appeng.block.legacy.BlockTerminal; import appeng.block.misc.*; @@ -134,6 +135,7 @@ public final class ApiBlocks implements IBlocks //Legacy private final ITileDefinition terminal; private final ITileDefinition craftTerminal; + private final ITileDefinition craftMonitor; public ApiBlocks( final DefinitionConstructor constructor ) { @@ -227,6 +229,7 @@ public final class ApiBlocks implements IBlocks //Legacy this.terminal = constructor.registerTileDefinition( new BlockTerminal() ); this.craftTerminal = constructor.registerTileDefinition( new BlockCraftTerminal() ); + this.craftMonitor = constructor.registerTileDefinition( new BlockCraftMonitor()); } diff --git a/src/main/java/appeng/tile/legacy/TileCraftingMonitor.java b/src/main/java/appeng/tile/legacy/TileCraftingMonitor.java new file mode 100644 index 00000000..262b26ef --- /dev/null +++ b/src/main/java/appeng/tile/legacy/TileCraftingMonitor.java @@ -0,0 +1,6 @@ +package appeng.tile.legacy; + +import appeng.api.storage.ITerminalHost; + +public class TileCraftingMonitor extends TileTerminal { +} diff --git a/src/main/resources/assets/appliedenergistics2/lang/en_US.lang b/src/main/resources/assets/appliedenergistics2/lang/en_US.lang index 2a2388a9..4bc04f02 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/en_US.lang +++ b/src/main/resources/assets/appliedenergistics2/lang/en_US.lang @@ -54,6 +54,7 @@ tile.appliedenergistics2.BlockMolecularAssembler.name=Molecular Assembler #Legacy tile.appliedenergistics2.BlockTerminal.name=ME Access Terminal tile.appliedenergistics2.BlockCraftTerminal.name=ME Crafting Terminal +tile.appliedenergistics2.BlockCraftMonitor.name=ME Crafting Monitor item.appliedenergistics2.ItemMaterial.ConversionMatrix.name=Conversion Matrix diff --git a/src/main/resources/assets/appliedenergistics2/recipes/legacy/index.recipe b/src/main/resources/assets/appliedenergistics2/recipes/legacy/index.recipe index 0a3fc72e..d2d502c2 100644 --- a/src/main/resources/assets/appliedenergistics2/recipes/legacy/index.recipe +++ b/src/main/resources/assets/appliedenergistics2/recipes/legacy/index.recipe @@ -21,3 +21,9 @@ shaped= oredictionary:craftingTableWood ae2:ItemMaterial.Cell1kPart ae2:BlockTerminal, oredictionary:ingotIron oredictionary:ingotIron glass -> ae2:BlockCraftTerminal + +shaped= + oredictionary:ingotIron oredictionary:ingotIron glass, + ae2:CableGlass.Fluix ae2:ItemMaterial.LogicProcessor glass, + oredictionary:ingotIron oredictionary:ingotIron glass + -> ae2:BlockCraftMonitor diff --git a/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitor.png b/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitor.png new file mode 100644 index 00000000..7ec66578 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitor.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitorBottom.png b/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitorBottom.png new file mode 100644 index 00000000..6a87e174 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitorBottom.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitorFront.png b/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitorFront.png new file mode 100644 index 00000000..8b327b40 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitorFront.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitorSide.png b/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitorSide.png new file mode 100644 index 00000000..6c7e4831 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/blocks/BlockCraftMonitorSide.png differ