diff --git a/build.gradle b/build.gradle index b4b8889..21e62b2 100644 --- a/build.gradle +++ b/build.gradle @@ -84,7 +84,7 @@ repositories { dependencies { deobfCompile 'net.industrial-craft:industrialcraft-2:2.8.+' deobfCompile "blusunrize:ImmersiveEngineering:0.12-+" - compileOnly "pl.asie.charset:charset:0.5.4.2.3:full" + deobfCompile "pl.asie.charset:charset:0.5.4.2.3:full" //Project red and runtime dependencies compileOnly "project-red-base:ProjectRed-1.12.2:4.9.1.92:Base" //runtime "project-red-integration:ProjectRed-1.12.2:4.9.1.92:integration" diff --git a/src/main/java/malte0811/industrialWires/client/ClientProxy.java b/src/main/java/malte0811/industrialWires/client/ClientProxy.java index 091e6d1..5be6a6b 100644 --- a/src/main/java/malte0811/industrialWires/client/ClientProxy.java +++ b/src/main/java/malte0811/industrialWires/client/ClientProxy.java @@ -148,6 +148,9 @@ public class ClientProxy extends CommonProxy { public void postInit() { super.postInit(); ManualInstance m = ManualHelper.getManual(); + boolean uni = m.fontRenderer.getUnicodeFlag(); + m.fontRenderer.setUnicodeFlag(true); + m.entryRenderPre(); if (IndustrialWires.hasIC2) { PositionedItemStack[][] wireRecipes = new PositionedItemStack[3][10]; int xBase = 15; @@ -232,9 +235,14 @@ public class ClientProxy extends CommonProxy { new ManualPages.Text(m, "industrialwires.panel_creator1"), new ManualPages.Text(m, "industrialwires.panel_creator2") ); + String text = I18n.format("ie.manual.entry.industrialwires.redstone"); + TextSplitter splitter = new TextSplitter(m); + splitter.addSpecialPage(-1, 0, 10, s->new ManualPages.CraftingMulti(m, s, + new ResourceLocation(IndustrialWires.MODID, "control_panel_rs_other"), + new ResourceLocation(IndustrialWires.MODID, "control_panel_rs_wire"))); + splitter.split(text); m.addEntry("industrialwires.redstone", "control_panels", - new ManualPages.Crafting(m, "industrialwires.redstone0", new ItemStack(IndustrialWires.panel, 1, BlockTypes_Panel.RS_WIRE.ordinal())), - new ManualPages.Text(m, "industrialwires.redstone1") + splitter.toManualEntry().toArray(new IManualPage[0]) ); m.addEntry("industrialwires.components", "control_panels", new ManualPages.Text(m, "industrialwires.components.general"), @@ -251,7 +259,7 @@ public class ClientProxy extends CommonProxy { new ManualPages.Crafting(m, "industrialwires.7seg", new ItemStack(IndustrialWires.panelComponent, 1, 9)) ); List ores = MarxOreHandler.getRecipes(); - String text = I18n.format("ie.manual.entry.industrialwires.marx"); + text = I18n.format("ie.manual.entry.industrialwires.marx"); for (int i = 0; i < ores.size(); i++) { MarxOreHandler.OreInfo curr = ores.get(i); if (!curr.exampleInput.isEmpty()) { @@ -263,10 +271,7 @@ public class ClientProxy extends CommonProxy { text += I18n.format(IndustrialWires.MODID + ".desc.ideal_e") + ": " + Utils.formatDouble(curr.avgEnergy * MarxOreHandler.defaultEnergy / 1000, "0.#") + " kJ

"; } } - boolean uni = m.fontRenderer.getUnicodeFlag(); - m.fontRenderer.setUnicodeFlag(true); - m.entryRenderPre(); - TextSplitter splitter = new TextSplitter(m); + splitter = new TextSplitter(m); splitter.addSpecialPage(0, 0, 6, (s) -> new ManualPageMultiblock(m, s, MultiblockMarx.INSTANCE)); diff --git a/src/main/java/malte0811/industrialWires/compat/Compat.java b/src/main/java/malte0811/industrialWires/compat/Compat.java index 7833e9c..9652c6b 100644 --- a/src/main/java/malte0811/industrialWires/compat/Compat.java +++ b/src/main/java/malte0811/industrialWires/compat/Compat.java @@ -168,11 +168,16 @@ public class Compat { } public static class CompatProjectRed extends CompatModule { + + @Override + public void preInit() { + enableOtherRS = true; + } + @Override public void init() { super.init(); IBlockAction oldGet = getBundledRS; - enableOtherRS = true; getBundledRS = (w, p, f) -> { byte[] oldIn = oldGet.run(w, p, f); byte[] prIn = ProjectRedAPI.transmissionAPI.getBundledInput(w, p, f); @@ -193,11 +198,16 @@ public class Compat { } public static class CompatCharset extends CompatModule { + + @Override + public void preInit() { + enableOtherRS = true; + } + @Override public void init() { super.init(); IBlockAction old = getBundledRS; - enableOtherRS = true; getBundledRS = (w, p, f) -> { byte[] oldIn = old.run(w, p, f); TileEntity te = w.getTileEntity(p.offset(f)); diff --git a/src/main/resources/assets/industrialwires/lang/en_US.lang b/src/main/resources/assets/industrialwires/lang/en_US.lang index 27c261a..d733fc7 100644 --- a/src/main/resources/assets/industrialwires/lang/en_US.lang +++ b/src/main/resources/assets/industrialwires/lang/en_US.lang @@ -20,7 +20,7 @@ tile.industrialwires.jacobs_ladder.normal.name=Jacob's ladder tile.industrialwires.jacobs_ladder.huge.name=Huge Jacob's ladder tile.industrialwires.control_panel.top.name=Control Panel -tile.industrialwires.control_panel.rs_wire.name=Redstone Controller: Redstone Wires +tile.industrialwires.control_panel.rs_wire.name=Redstone Controller: Wires tile.industrialwires.control_panel.dummy.name=Panel Connector tile.industrialwires.control_panel.creator.name=Control Panel Creator tile.industrialwires.control_panel.unfinished.name=Unfinished Control Panel @@ -184,8 +184,7 @@ ie.manual.entry.industrialwires.panel_creator2=left of the GUI, turning it into ie.manual.entry.industrialwires.redstone.name=Redstone Connections 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.redstone=A panel network can contain any amount of §lRedstone Controllers§r. Each controller can be assigned a different ID in its GUI, though having multiple controllers with the same ID is also possible. Each component that interacts with redstone signals has two settings in its GUI: A redstone channel color and a controller ID. The §lRedstone Controller: Wires§r can be used to interface with IE redstone wires, the §lRedstone Controller: Others§r will connect to redstone wires from Project:Red and Charset (and wires/devices compatible with either system), if available. ie.manual.entry.industrialwires.components.name=Panel Components ie.manual.entry.industrialwires.components.subtext=More than just two