diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java b/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java index d7a9296c9..08b13d1db 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java @@ -54,12 +54,19 @@ public class InitBooklet{ new BookletChapter("quartz", entryMisc, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), new PageTextOnly(1).setStack(new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ORE_QUARTZ.ordinal())).addTextReplacement("", ConfigIntValues.BLACK_QUARTZ_MIN_HEIGHT.getValue()).addTextReplacement("", ConfigIntValues.BLACK_QUARTZ_MAX_HEIGHT.getValue()), new PageTextOnly(2).setStack(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal())), new PageCrafting(3, BlockCrafting.recipeQuartzBlock).setNoText(), new PageCrafting(4, BlockCrafting.recipeQuartzPillar).setNoText(), new PageCrafting(5, BlockCrafting.recipeQuartzChiseled).setNoText()); new BookletChapter("cloud", entryMisc, new ItemStack(InitBlocks.blockSmileyCloud), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeSmileyCloud).setNoText()); new BookletChapter("coalStuff", entryMisc, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.TINY_COAL.ordinal()), new PageTextOnly(1), new PageCrafting(2, ItemCrafting.recipeTinyCoal).setNoText(), new PageCrafting(3, ItemCrafting.recipeTinyChar).setNoText(), new PageCrafting(4, BlockCrafting.recipeBlockChar).setNoText()); - new BookletChapter("lamps", entryMisc, new ItemStack(InitBlocks.blockColoredLampOn, 1, TheColoredLampColors.GREEN.ordinal()), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipePowerer).setNoText(), new PageCrafting(3, BlockCrafting.recipesLamps[0]).setNoText(), new PageCrafting(4, BlockCrafting.recipesLamps[1]).setNoText(), new PageCrafting(5, BlockCrafting.recipesLamps[2]).setNoText(), new PageCrafting(6, BlockCrafting.recipesLamps[3]).setNoText(), new PageCrafting(7, BlockCrafting.recipesLamps[4]).setNoText(), new PageCrafting(8, BlockCrafting.recipesLamps[5]).setNoText(), new PageCrafting(9, BlockCrafting.recipesLamps[6]).setNoText(), new PageCrafting(10, BlockCrafting.recipesLamps[7]).setNoText(), new PageCrafting(11, BlockCrafting.recipesLamps[8]).setNoText(), new PageCrafting(12, BlockCrafting.recipesLamps[9]).setNoText(), new PageCrafting(13, BlockCrafting.recipesLamps[10]).setNoText(), new PageCrafting(14, BlockCrafting.recipesLamps[11]).setNoText(), new PageCrafting(15, BlockCrafting.recipesLamps[12]).setNoText(), new PageCrafting(16, BlockCrafting.recipesLamps[13]).setNoText(), new PageCrafting(17, BlockCrafting.recipesLamps[14]).setNoText(), new PageCrafting(18, BlockCrafting.recipesLamps[15]).setNoText()); + ArrayList lampPages = new ArrayList(); + lampPages.add(new PageTextOnly(lampPages.size()+1).setNoText()); + lampPages.add(new PageCrafting(lampPages.size()+1, BlockCrafting.recipePowerer)); + for(IRecipe recipe : BlockCrafting.recipesLamps){ + lampPages.add(new PageCrafting(lampPages.size()+1, recipe).setNoText()); + } + new BookletChapter("lamps", entryMisc, new ItemStack(InitBlocks.blockColoredLampOn, 1, TheColoredLampColors.GREEN.ordinal()), lampPages.toArray(new BookletPage[lampPages.size()])); + new BookletChapter("treasureChest", entryMisc, new ItemStack(InitBlocks.blockTreasureChest), new PageTextOnly(1).setStack(new ItemStack(InitBlocks.blockTreasureChest))); //No RF Using Blocks new BookletChapter("breaker", entryFunctionalNonRF, new ItemStack(InitBlocks.blockBreaker), new PageCrafting(1, BlockCrafting.recipeBreaker), new PageCrafting(2, BlockCrafting.recipePlacer), new PageCrafting(3, BlockCrafting.recipeLiquidPlacer), new PageCrafting(4, BlockCrafting.recipeLiquidCollector)); - new BookletChapter("phantomfaces", entryFunctionalNonRF, new ItemStack(InitBlocks.blockPhantomLiquiface), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipePhantomface), new PageCrafting(3, BlockCrafting.recipeLiquiface), new PageCrafting(4, BlockCrafting.recipeEnergyface), new PageCrafting(5, ItemCrafting.recipePhantomConnector), new PageCrafting(6, BlockCrafting.recipePhantomBooster)); + new BookletChapter("phantomfaces", entryFunctionalNonRF, new ItemStack(InitBlocks.blockPhantomLiquiface), new PageTextOnly(1).addTextReplacement("", ConfigIntValues.PHANTOMFACE_RANGE.getValue()), new PageCrafting(2, BlockCrafting.recipePhantomface), new PageCrafting(3, BlockCrafting.recipeLiquiface), new PageCrafting(4, BlockCrafting.recipeEnergyface), new PageCrafting(5, ItemCrafting.recipePhantomConnector).setNoText(), new PageCrafting(6, BlockCrafting.recipePhantomBooster)); new BookletChapter("phantomBreaker", entryFunctionalNonRF, new ItemStack(InitBlocks.blockPhantomBreaker), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipePhantomPlacer), new PageCrafting(3, BlockCrafting.recipePhantomBreaker)); new BookletChapter("esd", entryFunctionalNonRF, new ItemStack(InitBlocks.blockInputterAdvanced), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeESD), new PageCrafting(3, BlockCrafting.recipeAdvancedESD)); new BookletChapter("xpSolidifier", entryFunctionalNonRF, new ItemStack(InitBlocks.blockXPSolidifier), new PageTextOnly(1).setStack(new ItemStack(InitItems.itemSpecialDrop, 1, TheSpecialDrops.SOLIDIFIED_EXPERIENCE.ordinal())), new PageCrafting(2, BlockCrafting.recipeSolidifier)); @@ -91,7 +98,7 @@ public class InitBooklet{ ArrayList aiotPages = new ArrayList(); aiotPages.add(new PageTextOnly(aiotPages.size()+1)); for(IRecipe recipe : ToolCrafting.recipesPaxels){ - aiotPages.add(new PageCrafting(aiotPages.size()+1, recipe)); + aiotPages.add(new PageCrafting(aiotPages.size()+1, recipe).setNoText()); } new BookletChapter("aiots", entryItemsNonRF, new ItemStack(InitItems.emeraldPaxel), aiotPages.toArray(new BookletPage[aiotPages.size()])); @@ -100,7 +107,7 @@ public class InitBooklet{ ArrayList potionRingPages = new ArrayList(); potionRingPages.add(new PageTextOnly(potionRingPages.size()+1)); for(IRecipe recipe : ItemCrafting.recipesPotionRings){ - potionRingPages.add(new PageCrafting(potionRingPages.size()+1, recipe)); + potionRingPages.add(new PageCrafting(potionRingPages.size()+1, recipe).setNoText()); } new BookletChapter("potionRings", entryItemsNonRF, new ItemStack(InitItems.itemPotionRing), potionRingPages.toArray(new BookletPage[potionRingPages.size()])); diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrafting.java b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrafting.java index 79ec116b2..c7f2eb7d1 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrafting.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrafting.java @@ -20,6 +20,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.item.crafting.ShapedRecipes; import net.minecraft.item.crafting.ShapelessRecipes; +import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; @@ -52,7 +53,7 @@ public class PageCrafting extends BookletPage{ @Override public void render(GuiBooklet gui, int mouseX, int mouseY, boolean mouseClick){ if(this.recipe == null){ - gui.unicodeRenderer.drawSplitString(StringUtil.localize("booklet."+ModUtil.MOD_ID_LOWER+".recipeDisabled"), gui.guiLeft+14, gui.guiTop+15, 115, 0); + gui.unicodeRenderer.drawSplitString(EnumChatFormatting.DARK_RED+StringUtil.localize("booklet."+ModUtil.MOD_ID_LOWER+".recipeDisabled"), gui.guiLeft+14, gui.guiTop+15, 115, 0); } else{ String strg = StringUtil.localize("booklet."+ModUtil.MOD_ID_LOWER+"."+(recipe instanceof ShapedRecipes ? "shapedRecipe" : (recipe instanceof ShapelessRecipes ? "shapelessRecipe" : (recipe instanceof ShapelessOreRecipe ? "shapelessOreRecipe" : "shapedOreRecipe")))); @@ -61,7 +62,7 @@ public class PageCrafting extends BookletPage{ String text = gui.currentPage.getText(); if(text != null && !text.isEmpty()){ - gui.unicodeRenderer.drawSplitString(text, gui.guiLeft+14, gui.guiTop+100, 115, 0); + gui.unicodeRenderer.drawSplitString(text, gui.guiLeft+14, gui.guiTop+90, 115, 0); } if(this.recipe != null){ diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrusherRecipe.java b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrusherRecipe.java index a9fedd66f..58d75ce5d 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrusherRecipe.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageCrusherRecipe.java @@ -17,6 +17,7 @@ import ellpeck.actuallyadditions.util.ModUtil; import ellpeck.actuallyadditions.util.StringUtil; import ellpeck.actuallyadditions.util.Util; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; public class PageCrusherRecipe extends BookletPage{ @@ -45,7 +46,7 @@ public class PageCrusherRecipe extends BookletPage{ @Override public void render(GuiBooklet gui, int mouseX, int mouseY, boolean mouseClick){ if(recipe == null){ - gui.unicodeRenderer.drawSplitString(StringUtil.localize("booklet."+ModUtil.MOD_ID_LOWER+".recipeDisabled"), gui.guiLeft+14, gui.guiTop+15, 115, 0); + gui.unicodeRenderer.drawSplitString(EnumChatFormatting.DARK_RED+StringUtil.localize("booklet."+ModUtil.MOD_ID_LOWER+".recipeDisabled"), gui.guiLeft+14, gui.guiTop+15, 115, 0); } else{ String strg = "Crusher Recipe"; diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageFurnace.java b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageFurnace.java index 8547170cd..4403d2a6c 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageFurnace.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageFurnace.java @@ -17,6 +17,7 @@ import ellpeck.actuallyadditions.util.StringUtil; import ellpeck.actuallyadditions.util.Util; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.util.EnumChatFormatting; import java.util.Map; @@ -53,7 +54,7 @@ public class PageFurnace extends BookletPage{ public void render(GuiBooklet gui, int mouseX, int mouseY, boolean mouseClick){ ItemStack input = this.input != null ? this.input : this.getInputForOutput(this.result); if(input == null){ - gui.unicodeRenderer.drawSplitString(StringUtil.localize("booklet."+ModUtil.MOD_ID_LOWER+".recipeDisabled"), gui.guiLeft+14, gui.guiTop+15, 115, 0); + gui.unicodeRenderer.drawSplitString(EnumChatFormatting.DARK_RED+StringUtil.localize("booklet."+ModUtil.MOD_ID_LOWER+".recipeDisabled"), gui.guiLeft+14, gui.guiTop+15, 115, 0); } else{ String strg = "Furnace Recipe"; diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageTextOnly.java b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageTextOnly.java index 2c9e876c1..3c5ce0f70 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/page/PageTextOnly.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/page/PageTextOnly.java @@ -39,7 +39,7 @@ public class PageTextOnly extends BookletPage{ public void renderPre(GuiBooklet gui, int mouseX, int mouseY, boolean mouseClick){ String text = gui.currentPage.getText(); if(text != null && !text.isEmpty()){ - gui.unicodeRenderer.drawSplitString(text, gui.guiLeft+14, gui.guiTop+11, 115, 0); + gui.unicodeRenderer.drawSplitString(text, gui.guiLeft+14, gui.guiTop+9, 115, 0); } } } diff --git a/src/main/resources/assets/actuallyadditions/lang/en_US.lang b/src/main/resources/assets/actuallyadditions/lang/en_US.lang index ac78e1226..5e9a753d5 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_US.lang +++ b/src/main/resources/assets/actuallyadditions/lang/en_US.lang @@ -416,3 +416,8 @@ booklet.actuallyadditions.chapter.breaker.text.3=The Liquid Placer plac booklet.actuallyadditions.chapter.breaker.text.4=The Liquid Collector will collect liquid blocks in front of it and convert them to 1000mB of fluid. That's the equivalent of a filled bucket. booklet.actuallyadditions.chapter.phantomfaces.name=Phantomfaces +booklet.actuallyadditions.chapter.phantomfaces.text.1=Phantomfaces are a simple way to connect inventories together, they have a very important twist however: Instead of just connecting two inventories, a Phantomface simulates the inventory it is connected to, meaning you can put items into and pull out of the Phantomface itself. A Phantomface has a default range of blocks, but it can be upgraded with a Phantom Booster. Phantomfaces are connected by right-clicking an inventory with a Phantom Connector and then right-clicking the Phantomface. +booklet.actuallyadditions.chapter.phantomfaces.text.2=The default Phantomface works for items, like described on the first page. +booklet.actuallyadditions.chapter.phantomfaces.text.3=The Phantom Liquiface acts exactly like the normal Phantomface, but it works for liquid containing blocks. When given a Redstone Signal, it can be set to Auto-Output. Be careful with this though, as it could cause infinte loops and lag under certain conditions! +booklet.actuallyadditions.chapter.phantomfaces.text.4=The Phantom Energyface acts exactly like the normal Phantomface, but it works for RF, meaning you can connect it to things like Generators and Crushers. +booklet.actuallyadditions.chapter.phantomfaces.text.6=The Phantom Booster, as explained on the first page, ups the range of Phantomfaces by being placed on top of them. The maximum amount above one Phantomface is 3. \ No newline at end of file