diff --git a/src/main/java/malte0811/industrialWires/IndustrialWires.java b/src/main/java/malte0811/industrialWires/IndustrialWires.java index ba7cdbd..2555b92 100644 --- a/src/main/java/malte0811/industrialWires/IndustrialWires.java +++ b/src/main/java/malte0811/industrialWires/IndustrialWires.java @@ -27,15 +27,13 @@ import blusunrize.immersiveengineering.common.blocks.stone.BlockTypes_StoneDecor import ic2.api.item.IC2Items; import malte0811.industrialWires.blocks.BlockJacobsLadder; import malte0811.industrialWires.blocks.TileEntityJacobsLadder; -import malte0811.industrialWires.blocks.controlpanel.BlockPanel; -import malte0811.industrialWires.blocks.controlpanel.TileEntityPanel; -import malte0811.industrialWires.blocks.controlpanel.TileEntityPanelCreator; -import malte0811.industrialWires.blocks.controlpanel.TileEntityRSPanelConn; +import malte0811.industrialWires.blocks.controlpanel.*; import malte0811.industrialWires.blocks.converter.BlockMechanicalConverter; import malte0811.industrialWires.blocks.converter.TileEntityIEMotor; import malte0811.industrialWires.blocks.converter.TileEntityMechICtoIE; import malte0811.industrialWires.blocks.converter.TileEntityMechIEtoIC; import malte0811.industrialWires.blocks.wire.*; +import malte0811.industrialWires.controlpanel.PanelUtils; import malte0811.industrialWires.crafting.RecipeCoilLength; import malte0811.industrialWires.items.ItemIC2Coil; import malte0811.industrialWires.items.ItemPanelComponent; @@ -61,6 +59,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.oredict.RecipeSorter; import net.minecraftforge.oredict.RecipeSorter.Category; import net.minecraftforge.oredict.ShapedOreRecipe; +import net.minecraftforge.oredict.ShapelessOreRecipe; import java.util.ArrayList; import java.util.List; @@ -170,6 +169,33 @@ public class IndustrialWires { 's', "ingotSteel", 't', new ItemStack(IEContent.blockConnectors, 1, BlockTypes_Connector.TRANSFORMER.ordinal()))); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(jacobsLadder, 1, 2), "c c", "hhh", "sts", 'c', "blockCopper", 'h', Blocks.HARDENED_CLAY, 's', "ingotSteel", 't', new ItemStack(IEContent.blockConnectors, 1, BlockTypes_Connector.TRANSFORMER_HV.ordinal()))); + // CONTROL PANELS + ItemStack drillHeadIron = new ItemStack(IEContent.itemDrillhead, 1, 1); + ItemStack motor = IC2Items.getItem("crafting", "electric_motor"); + ItemStack advAlloy = IC2Items.getItem("crafting", "alloy"); + ItemStack coil = IC2Items.getItem("crafting", "coil"); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(panel, 1, BlockTypes_Panel.CREATOR.ordinal()), + "rmr", "rdr", "rar", 'r', "stickSteel", 'm', motor, 'd', drillHeadIron, 'a', advAlloy)); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(panel, 8, BlockTypes_Panel.DUMMY.ordinal()), + " r ", "rmr", " r ", 'r', "dustRedstone", 'm', PanelUtils.getPanelBase())); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(panel, 1, BlockTypes_Panel.RS_WIRE.ordinal()), + "c", "d", 'd', new ItemStack(panel, 1, BlockTypes_Panel.DUMMY.ordinal()), 'c', + new ItemStack(IEContent.blockConnectors, 1, BlockTypes_Connector.CONNECTOR_REDSTONE.ordinal()))); + // PANEL COMPONENTS + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(panelComponent, 1, 0), + "dustGlowstone", Blocks.STONE_BUTTON, "wireCopper")); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(panelComponent, 4, 1), + "paper", "plateIron")); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(panelComponent, 1, 2), + "dustGlowstone", "dustRedstone", "wireCopper")); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(panelComponent, 1, 3), + Blocks.STONE_BUTTON, new ItemStack(IEContent.itemWireCoil, 1, 2), "wireCopper")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(panelComponent, 1, 4), + "r", "g", "c", 'r', "itemRubber", 'g', "ingotHOPGraphite", 'c', coil)); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(panelComponent, 1, 5), + "stickIron", Blocks.LEVER, "wireCopper")); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(panelComponent, 1, 6), + "aaa", "asa", 'a', "plateAluminum", 's', new ItemStack(panelComponent, 2, 5))); packetHandler.registerMessage(MessageTileSyncIW.HandlerClient.class, MessageTileSyncIW.class, 0, Side.CLIENT); packetHandler.registerMessage(MessagePanelInteract.HandlerServer.class, MessagePanelInteract.class, 1, Side.SERVER); diff --git a/src/main/java/malte0811/industrialWires/client/ClientProxy.java b/src/main/java/malte0811/industrialWires/client/ClientProxy.java index 70ebf3f..5145a25 100644 --- a/src/main/java/malte0811/industrialWires/client/ClientProxy.java +++ b/src/main/java/malte0811/industrialWires/client/ClientProxy.java @@ -31,6 +31,7 @@ import malte0811.industrialWires.IWConfig; import malte0811.industrialWires.IndustrialWires; import malte0811.industrialWires.blocks.IMetaEnum; import malte0811.industrialWires.blocks.TileEntityJacobsLadder; +import malte0811.industrialWires.blocks.controlpanel.BlockTypes_Panel; import malte0811.industrialWires.blocks.controlpanel.TileEntityPanelCreator; import malte0811.industrialWires.blocks.controlpanel.TileEntityRSPanelConn; import malte0811.industrialWires.client.gui.GuiPanelComponent; @@ -49,7 +50,6 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.renderer.block.model.ModelBakery; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -213,26 +213,26 @@ public class ClientProxy extends CommonProxy { m.addEntry("industrialWires.intro", "control_panels", new ManualPages.Text(m, "industrialWires.intro0"), new ManualPages.Text(m, "industrialWires.intro1"), - new ManualPages.Crafting(m, "industrialWires.intro2", new ItemStack(Blocks.BEACON)),//IndustrialWires.panel, 1, BlockTypes_Panel.DUMMY.ordinal()))//TODO recipes - new ManualPages.Text(m, "industrialWires.intor3") + new ManualPages.Crafting(m, "industrialWires.intro2", new ItemStack(IndustrialWires.panel, 1, BlockTypes_Panel.DUMMY.ordinal())), + new ManualPages.Text(m, "industrialWires.intro3") ); m.addEntry("industrialWires.panel_creator", "control_panels", - new ManualPages.Crafting(m, "industrialWires.panel_creator0", new ItemStack(Blocks.BEACON)),//IndustrialWires.panel, 1, BlockTypes_Panel.CREATOR.ordinal()))//TODO recipes + new ManualPages.Crafting(m, "industrialWires.panel_creator0", new ItemStack(IndustrialWires.panel, 1, BlockTypes_Panel.CREATOR.ordinal())), new ManualPages.Text(m, "industrialWires.panel_creator1"), new ManualPages.Text(m, "industrialWires.panel_creator2") ); m.addEntry("industrialWires.redstone", "control_panels", - new ManualPages.Crafting(m, "industrialWires.redstone0", new ItemStack(Blocks.BEACON)),//IndustrialWires.panel, 1, BlockTypes_Panel.RS_WIRE.ordinal()))//TODO recipes + new ManualPages.Crafting(m, "industrialWires.redstone0", new ItemStack(IndustrialWires.panel, 1, BlockTypes_Panel.RS_WIRE.ordinal())), new ManualPages.Text(m, "industrialWires.redstone1") ); m.addEntry("industrialWires.components", "control_panels", - new ManualPages.Crafting(m, "industrialWires.button", new ItemStack(Blocks.BEACON)),//IndustrialWires.panelComponent, 1, 0)),//TODO recipes - new ManualPages.Crafting(m, "industrialWires.label", new ItemStack(Blocks.BEACON)),//IndustrialWires.panelComponent, 1, 1)),//TODO recipes - new ManualPages.Crafting(m, "industrialWires.indicator_light", new ItemStack(Blocks.BEACON)),//IndustrialWires.panelComponent, 1, 2)),//TODO recipes - new ManualPages.Crafting(m, "industrialWires.slider", new ItemStack(Blocks.BEACON)),//IndustrialWires.panelComponent, 1, 3)),//TODO recipes - new ManualPages.CraftingMulti(m, "industrialWires.toggle_switch", new ItemStack(Blocks.BEACON)),//IndustrialWires.panelComponent, 1, 5), new ItemStack(IndustrialWires.panelComponent, 1, 6)),//TODO recipes + new ManualPages.Crafting(m, "industrialWires.button", new ItemStack(IndustrialWires.panelComponent, 1, 0)), + new ManualPages.Crafting(m, "industrialWires.label", new ItemStack(IndustrialWires.panelComponent, 1, 1)), + new ManualPages.Crafting(m, "industrialWires.indicator_light", new ItemStack(IndustrialWires.panelComponent, 1, 2)), + new ManualPages.Crafting(m, "industrialWires.slider", new ItemStack(IndustrialWires.panelComponent, 1, 3)), + new ManualPages.CraftingMulti(m, "industrialWires.toggle_switch", new ItemStack(IndustrialWires.panelComponent, 1, 5), new ItemStack(IndustrialWires.panelComponent, 1, 6)), new ManualPages.Text(m, "industrialWires.toggle_switch1"), - new ManualPages.Crafting(m, "industrialWires.variac", new ItemStack(Blocks.BEACON))//IndustrialWires.panelComponent, 1, 4)),//TODO recipes + new ManualPages.Crafting(m, "industrialWires.variac", new ItemStack(IndustrialWires.panelComponent, 1, 4)) ); } diff --git a/src/main/resources/assets/industrialwires/lang/en_US.lang b/src/main/resources/assets/industrialwires/lang/en_US.lang index ccf5eef..bf5b46d 100644 --- a/src/main/resources/assets/industrialwires/lang/en_US.lang +++ b/src/main/resources/assets/industrialwires/lang/en_US.lang @@ -104,16 +104,16 @@ ie.manual.entry.industrialWires.panel_creator1=position on the panel. This usual ie.manual.entry.industrialWires.panel_creator2=labeled R removes all components from the GUI panel area and places them in your inventory. Finally the last button (S) changes between being able to place components anywhere on the panel to only being able to place them on a 16x16 grid. ie.manual.entry.industrialWires.redstone.name=Redstone Connections -ie.manual.entry.industrialWires.redstone.subtext=AKA blood vessels -ie.manual.entry.industrialWires.redstone0=A panel network can contain any amount of §lRedstone Wire Controllers§r. Each controller should be assigned a different ID in its GUI. Each component that interacts with redstone signals has two settings in its GUI: A redstone channel color and a controller ID. To get the redstone signals out of and -ie.manual.entry.industrialWires.redstone1=into the controller it needs to be connected to redstone connectors from Immersive Engineering. +ie.manual.entry.industrialWires.redstone.subtext=Could also be blood vessels +ie.manual.entry.industrialWires.redstone0=A panel network can contain any amount of §lRedstone Wire Controllers§r. Each controller should be assigned a different ID in its GUI. Each component that interacts with redstone signals has two settings in its GUI: A redstone channel color and a controller ID. To get the redstone signals out of and into the controller it needs to be connected to redstone +ie.manual.entry.industrialWires.redstone1=connectors from Immersive Engineering. ie.manual.entry.industrialWires.components.name=Panel Components -ie.manual.entry.industrialWires.components.subtext= +ie.manual.entry.industrialWires.components.subtext=More than just two ie.manual.entry.industrialWires.button=A simple button that activates a redstone signal when pressed. Its color can be changed. The button either stays on until clicked again (latching) or tuns off after half a second (non-latching). ie.manual.entry.industrialWires.label=A text that can be placed on the control panel, for example to indicate the purpose of some other component. The color and obviously the text can be edited. ie.manual.entry.industrialWires.indicator_light=A small indicator that brightens as the input redstone signal is increased. The color can be changed. ie.manual.entry.industrialWires.slider=A sliding switch that can set an output redstone signal to any desired signal strength. It can be either vertically or horizontally aligned and can have any length between one eighth of a block and one block. The color of the sliding knob can be changed. -ie.manual.entry.industrialWires.toggle_switch=A switch to turn a signal on or off. The covered version includes a cover to prevent accidental activation: When clicked for the first time the cover will open, the signal will be turned on by clicking once again. Another click will close the cover and turn off the output signal. If the cover was -ie.manual.entry.industrialWires.toggle_switch1=opened by accident it can be closed by shift-right-clicking the switch. The color of the cover can be configured. +ie.manual.entry.industrialWires.toggle_switch=A switch to turn a signal on or off. The covered version includes a cover to prevent accidental activation: When clicked for the first time the cover will open, the signal will be turned on by clicking once again. Another click will close the cover and turn off the output signal. If the cover was opened by accident it can be closed by shift-right-clicking +ie.manual.entry.industrialWires.toggle_switch1=the switch. The color of the cover can be configured. ie.manual.entry.industrialWires.variac=A Variac® is a variable autotransformer. The output signal of the transformer increases as the knob is turned to the right. The signal strenght can only be increased by one unit per click. \ No newline at end of file