diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java b/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java index 592952293..7be362d21 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/GuiBooklet.java @@ -237,7 +237,7 @@ public class GuiBooklet extends GuiScreen{ } if(this.isGimmicky()){ - this.unicodeRenderer.drawSplitString("This book looks a lot like the one from Botania, doesn't it? Well, I think it does, too, and I'm kind of annoyed by it to be honest. Wasn't really meant to be that way. I guess I just kind of had the design of the Botania Book in mind when designing this. Well. The Code is made by me, at least. So that's something. Also: How did you find this gimmick? :P -Peck", this.guiLeft-80-3, this.guiTop+25, 80, StringUtil.DECIMAL_COLOR_WHITE); + this.unicodeRenderer.drawSplitString("This book looks a lot like the one from Botania, doesn't it? Well, I think it does, too, and I'm kind of annoyed by it to be honest. Wasn't really meant to be that way. I guess I just kind of had the design of the Botania Book in mind when designing this. Well. I made the Code on my own, so I don't really care. Also: How did you find this gimmick? :P -Peck", this.guiLeft-80-3, this.guiTop+25, 80, StringUtil.DECIMAL_COLOR_WHITE); String strg = "Click this! I need followaz #Pathetic #DontTakeSeriously ->"; this.unicodeRenderer.drawString(strg, this.guiLeft-this.unicodeRenderer.getStringWidth(strg)-3, this.guiTop, StringUtil.DECIMAL_COLOR_WHITE); @@ -247,6 +247,11 @@ public class GuiBooklet extends GuiScreen{ this.unicodeRenderer.drawString(strg, this.guiLeft+this.xSize/2-this.unicodeRenderer.getStringWidth(strg)/2, this.guiTop-20, StringUtil.DECIMAL_COLOR_WHITE); } } + else{ + //TODO WIP Text + this.unicodeRenderer.drawSplitString(!KeyUtil.isShiftPressed() ? EnumChatFormatting.ITALIC+"Press Shift!" : EnumChatFormatting.UNDERLINE+"WIP INFO:"+EnumChatFormatting.RESET+"\nThis book is not completely finished yet! \nThings still to come: \n-Items for a Crafting Recipe shown in the book getting automatically put into a Crafting Table On A Stick through a button \n-Seeing an Item's page by clicking a keybind while the item is getting hovered over in the player's inventory", this.guiLeft+this.xSize+3, this.guiTop+3, 80, StringUtil.DECIMAL_COLOR_WHITE); + + } super.drawScreen(x, y, f); this.searchField.drawTextBox(); diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java b/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java index f593bcbb6..3a060e34f 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/InitBooklet.java @@ -49,31 +49,17 @@ public class InitBooklet{ static{ chapterIntro = new BookletChapter("intro", entryMisc, new ItemStack(InitItems.itemLexicon), new PageTextOnly(1), new PageTextOnly(2), new PageCrafting(3, ItemCrafting.recipeBook)); + //Miscellaneous new BookletChapter("craftingIngs", entryMisc, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.COIL.ordinal()), new PageTextOnly(1), new PageCrafting(2, ItemCrafting.recipeCoil), new PageCrafting(3, ItemCrafting.recipeCoilAdvanced), new PageCrafting(4, BlockCrafting.recipeCase), new PageCrafting(5, BlockCrafting.recipeStoneCase), new PageCrafting(6, BlockCrafting.recipeEnderPearlBlock), new PageCrafting(7, BlockCrafting.recipeEnderCase), new PageCrafting(8, ItemCrafting.recipeRing), new PageCrafting(9, ItemCrafting.recipeKnifeHandle), new PageCrafting(10, ItemCrafting.recipeKnifeBlade), new PageCrafting(11, ItemCrafting.recipeKnife), new PageCrafting(12, ItemCrafting.recipeDough), new PageCrafting(13, ItemCrafting.recipeRiceDough)); - 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())), new PageTextOnly(2).setStack(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal())), new PageCrafting(3, BlockCrafting.recipeQuartzBlock), new PageCrafting(4, BlockCrafting.recipeQuartzPillar), new PageCrafting(5, BlockCrafting.recipeQuartzChiseled)); + 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), new PageCrafting(4, BlockCrafting.recipeQuartzPillar), new PageCrafting(5, BlockCrafting.recipeQuartzChiseled)); new BookletChapter("cloud", entryMisc, new ItemStack(InitBlocks.blockSmileyCloud), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeSmileyCloud)); - new BookletChapter("coalStuff", entryMisc, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.TINY_COAL.ordinal()), new PageCrafting(1, ItemCrafting.recipeTinyCoal), new PageCrafting(2, ItemCrafting.recipeTinyChar), new PageCrafting(3, BlockCrafting.recipeBlockChar)); + new BookletChapter("coalStuff", entryMisc, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.TINY_COAL.ordinal()), new PageTextOnly(1), new PageCrafting(2, ItemCrafting.recipeTinyCoal), new PageCrafting(3, ItemCrafting.recipeTinyChar), new PageCrafting(4, BlockCrafting.recipeBlockChar)); new BookletChapter("lamps", entryMisc, new ItemStack(InitBlocks.blockColoredLampOn, 1, TheColoredLampColors.GREEN.ordinal()), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipePowerer), new PageCrafting(3, BlockCrafting.recipesLamps[0]), new PageCrafting(4, BlockCrafting.recipesLamps[1]), new PageCrafting(5, BlockCrafting.recipesLamps[2]), new PageCrafting(6, BlockCrafting.recipesLamps[3]), new PageCrafting(7, BlockCrafting.recipesLamps[4]), new PageCrafting(8, BlockCrafting.recipesLamps[5]), new PageCrafting(9, BlockCrafting.recipesLamps[6]), new PageCrafting(10, BlockCrafting.recipesLamps[7]), new PageCrafting(11, BlockCrafting.recipesLamps[8]), new PageCrafting(12, BlockCrafting.recipesLamps[9]), new PageCrafting(13, BlockCrafting.recipesLamps[10]), new PageCrafting(14, BlockCrafting.recipesLamps[11]), new PageCrafting(15, BlockCrafting.recipesLamps[12]), new PageCrafting(16, BlockCrafting.recipesLamps[13]), new PageCrafting(17, BlockCrafting.recipesLamps[14]), new PageCrafting(18, BlockCrafting.recipesLamps[15])); new BookletChapter("treasureChest", entryMisc, new ItemStack(InitBlocks.blockTreasureChest), new PageTextOnly(1).setStack(new ItemStack(InitBlocks.blockTreasureChest))); - ArrayList aiotPages = new ArrayList(); - aiotPages.add(new PageTextOnly(aiotPages.size()+1)); - for(IRecipe recipe : ToolCrafting.recipesPaxels){ - aiotPages.add(new PageCrafting(aiotPages.size()+1, recipe)); - } - new BookletChapter("aiots", entryMisc, new ItemStack(InitItems.emeraldPaxel), aiotPages.toArray(new BookletPage[aiotPages.size()])); - - new BookletChapter("jams", entryMisc, new ItemStack(InitItems.itemJams), new PageTextOnly(1).setStack(new ItemStack(InitItems.itemJams))); - - ArrayList potionRingPages = new ArrayList(); - potionRingPages.add(new PageTextOnly(potionRingPages.size()+1)); - for(IRecipe recipe : ItemCrafting.recipesPotionRings){ - potionRingPages.add(new PageCrafting(potionRingPages.size()+1, recipe)); - } - new BookletChapter("potionRings", entryMisc, new ItemStack(InitItems.itemPotionRing), potionRingPages.toArray(new BookletPage[potionRingPages.size()])); - + //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).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), new PageCrafting(6, BlockCrafting.recipePhantomBooster)); + 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("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)); @@ -83,6 +69,7 @@ public class InitBooklet{ new BookletChapter("compost", entryFunctionalNonRF, new ItemStack(InitBlocks.blockCompost), new PageTextOnly(1).setStack(new ItemStack(InitItems.itemFertilizer)), new PageCrafting(2, BlockCrafting.recipeCompost), new PageCrafting(3, ItemCrafting.recipeMashedFood)); new BookletChapter("crate", entryFunctionalNonRF, new ItemStack(InitBlocks.blockGiantChest), new PageCrafting(1, BlockCrafting.recipeCrate)); + //RF Using Blocks new BookletChapter("coffeeMachine", entryFunctionalRF, new ItemStack(InitBlocks.blockCoffeeMachine), new PageTextOnly(1), new PageTextOnly(2), new PageTextOnly(3), new PageCrafting(4, BlockCrafting.recipeCoffeeMachine), new PageCrafting(5, ItemCrafting.recipeCup)); new BookletChapterCrusher("crusher", entryFunctionalRF, new ItemStack(InitBlocks.blockGrinderDouble), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeCrusher), new PageCrafting(3, BlockCrafting.recipeDoubleCrusher)); new BookletChapterFurnace("furnaceDouble", entryFunctionalRF, new ItemStack(InitBlocks.blockFurnaceDouble), new PageCrafting(1, BlockCrafting.recipeFurnace)); @@ -91,15 +78,33 @@ public class InitBooklet{ new BookletChapter("energizer", entryFunctionalRF, new ItemStack(InitBlocks.blockEnergizer), new PageCrafting(1, BlockCrafting.recipeEnergizer), new PageCrafting(2, BlockCrafting.recipeEnervator)); new BookletChapter("repairer", entryFunctionalRF, new ItemStack(InitBlocks.blockItemRepairer), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeRepairer)); + //RF Generating Blocks new BookletChapter("coalGen", entryGeneratingRF, new ItemStack(InitBlocks.blockCoalGenerator), new PageCrafting(1, BlockCrafting.recipeCoalGen)); new BookletChapter("solarPanel", entryGeneratingRF, new ItemStack(InitBlocks.blockFurnaceSolar), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeSolar)); new BookletChapter("heatCollector", entryGeneratingRF, new ItemStack(InitBlocks.blockHeatCollector), new PageTextOnly(1), new PageCrafting(2, BlockCrafting.recipeHeatCollector)); new BookletChapter("canola", entryGeneratingRF, new ItemStack(InitBlocks.blockFermentingBarrel), new PageTextOnly(1), new PageTextOnly(2).setStack(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.CANOLA.ordinal())), new PageCrafting(3, BlockCrafting.recipeCanolaPress), new PageCrafting(4, BlockCrafting.recipeFermentingBarrel), new PageCrafting(5, BlockCrafting.recipeOilGen)); + //No RF Using Items new BookletChapter("wings", entryItemsNonRF, new ItemStack(InitItems.itemWingsOfTheBats), new PageTextOnly(1).setStack(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.BAT_WING.ordinal())), new PageCrafting(2, ItemCrafting.recipeWings)); new BookletChapter("foods", entryItemsNonRF, new ItemStack(InitItems.itemFoods, 1, TheFoods.HAMBURGER.ordinal()), new PageCrafting(1, FoodCrafting.recipePizza), new PageFurnace(2, new ItemStack(InitItems.itemFoods, 1, TheFoods.RICE_BREAD.ordinal())), new PageCrafting(3, FoodCrafting.recipeHamburger), new PageCrafting(4, FoodCrafting.recipeBigCookie), new PageCrafting(5, FoodCrafting.recipeSubSandwich), new PageCrafting(6, FoodCrafting.recipeFrenchFry), new PageCrafting(7, FoodCrafting.recipeFrenchFries), new PageCrafting(8, FoodCrafting.recipeFishNChips), new PageCrafting(9, FoodCrafting.recipeCheese), new PageCrafting(10, FoodCrafting.recipePumpkinStew), new PageCrafting(11, FoodCrafting.recipeCarrotJuice), new PageCrafting(12, FoodCrafting.recipeSpaghetti), new PageCrafting(13, FoodCrafting.recipeNoodle), new PageCrafting(14, FoodCrafting.recipeChocolate), new PageCrafting(15, FoodCrafting.recipeChocolateCake), new PageCrafting(16, FoodCrafting.recipeToast), new PageFurnace(17, new ItemStack(InitItems.itemFoods, 1, TheFoods.BAGUETTE.ordinal()))); new BookletChapter("leafBlower", entryItemsNonRF, new ItemStack(InitItems.itemLeafBlowerAdvanced), new PageTextOnly(1), new PageCrafting(2, ItemCrafting.recipeLeafBlower), new PageCrafting(3, ItemCrafting.recipeLeafBlowerAdvanced)); + ArrayList aiotPages = new ArrayList(); + aiotPages.add(new PageTextOnly(aiotPages.size()+1)); + for(IRecipe recipe : ToolCrafting.recipesPaxels){ + aiotPages.add(new PageCrafting(aiotPages.size()+1, recipe)); + } + new BookletChapter("aiots", entryItemsNonRF, new ItemStack(InitItems.emeraldPaxel), aiotPages.toArray(new BookletPage[aiotPages.size()])); + new BookletChapter("jams", entryItemsNonRF, new ItemStack(InitItems.itemJams), new PageTextOnly(1).setStack(new ItemStack(InitItems.itemJams))); + + ArrayList potionRingPages = new ArrayList(); + potionRingPages.add(new PageTextOnly(potionRingPages.size()+1)); + for(IRecipe recipe : ItemCrafting.recipesPotionRings){ + potionRingPages.add(new PageCrafting(potionRingPages.size()+1, recipe)); + } + new BookletChapter("potionRings", entryItemsNonRF, new ItemStack(InitItems.itemPotionRing), potionRingPages.toArray(new BookletPage[potionRingPages.size()])); + + //RF Using Items new BookletChapter("drill", entryItemsRF, new ItemStack(InitItems.itemDrill), new PageTextOnly(1), new PageCrafting(2, ItemCrafting.recipeDrill), new PageCrafting(3, ItemCrafting.recipeDrillSpeedI), new PageCrafting(4, ItemCrafting.recipeDrillSpeedII), new PageCrafting(5, ItemCrafting.recipeDrillSpeedIII), new PageCrafting(6, ItemCrafting.recipeDrillFortuneI), new PageCrafting(7, ItemCrafting.recipeDrillFortuneII), new PageCrafting(8, ItemCrafting.recipeDrillSilk), new PageCrafting(9, ItemCrafting.recipeDrillThree), new PageCrafting(10, ItemCrafting.recipeDrillFive), new PageCrafting(11, ItemCrafting.recipeDrillPlacing)); new BookletChapter("staff", entryItemsRF, new ItemStack(InitItems.itemTeleStaff), new PageTextOnly(1), new PageCrafting(2, ItemCrafting.recipeStaff)); new BookletChapter("magnetRing", entryItemsRF, new ItemStack(InitItems.itemMagnetRing), new PageCrafting(1, ItemCrafting.recipeMagnetRing)); diff --git a/src/main/java/ellpeck/actuallyadditions/booklet/page/BookletPage.java b/src/main/java/ellpeck/actuallyadditions/booklet/page/BookletPage.java index 1fcfcd5f8..afe0a436b 100644 --- a/src/main/java/ellpeck/actuallyadditions/booklet/page/BookletPage.java +++ b/src/main/java/ellpeck/actuallyadditions/booklet/page/BookletPage.java @@ -25,21 +25,13 @@ import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; public class BookletPage{ - private static class TextReplacement{ - public String text; - public String replacement; - - public TextReplacement(String text, String replacement){ - this.text = text; - this.replacement = replacement; - } - } - private ArrayList textReplacements = new ArrayList(); + private HashMap textReplacements = new HashMap(); protected int id; protected BookletChapter chapter; @@ -62,14 +54,15 @@ public class BookletPage{ public final String getText(){ String base = StringUtil.localize("booklet."+ModUtil.MOD_ID_LOWER+".chapter."+this.chapter.getUnlocalizedName()+".text."+this.id).replaceAll("", EnumChatFormatting.DARK_GREEN+"").replaceAll("", EnumChatFormatting.BLUE+"").replaceAll("", EnumChatFormatting.BLACK+"").replaceAll("", "\n").replaceAll("", EnumChatFormatting.ITALIC+"").replaceAll("", EnumChatFormatting.RESET+""); - for(TextReplacement rep : this.textReplacements){ - base = base.replaceAll(rep.text, rep.replacement); + for(Object o : this.textReplacements.entrySet()){ + Map.Entry e = (Map.Entry)o; + base = base.replaceAll((String)e.getKey(), (String)e.getValue()); } return base; } public BookletPage addTextReplacement(String text, String replacement){ - textReplacements.add(new TextReplacement(text, replacement)); + this.textReplacements.put(text, replacement); return this; } diff --git a/src/main/resources/assets/actuallyadditions/lang/en_US.lang b/src/main/resources/assets/actuallyadditions/lang/en_US.lang index c0282917e..c5df4bb44 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_US.lang +++ b/src/main/resources/assets/actuallyadditions/lang/en_US.lang @@ -4,8 +4,6 @@ achievement.page.actuallyadditions=Actually Additions fluid.oil=Oil fluid.canolaoil=Canola Oil -tooltip.actuallyadditions.block.desc=Block - tile.actuallyadditions.blockCompost.name=Compost tile.actuallyadditions.blockMiscOreBlackQuartz.name=Black Quartz Ore tile.actuallyadditions.blockMiscBlackQuartz.name=Block of Black Quartz @@ -151,7 +149,7 @@ item.actuallyadditions.itemDrillUpgradeSpeedII.name=Drill Speed Augment II item.actuallyadditions.itemDrillUpgradeSpeedIII.name=Drill Speed Augment III item.actuallyadditions.itemDrillUpgradeSilkTouch.name=Drill Silk Touch Augment item.actuallyadditions.itemDrillUpgradeFortune.name=Drill Fortune Augment I -item.actuallyadditions.itemDrillUpgradeFortuneII.name=Drill Fortune Augment II (That gives you Fortune III as it says in the tooltip...) +item.actuallyadditions.itemDrillUpgradeFortuneII.name=Drill Fortune Augment II (Gives Fortune III!) item.actuallyadditions.itemDrillUpgradeBlockPlacing.name=Drill Block Placing Augment item.actuallyadditions.itemDrillUpgradeThreeByThree.name=Drill Mining Augment I item.actuallyadditions.itemDrillUpgradeFiveByFive.name=Drill Mining Augment II @@ -374,104 +372,40 @@ booklet.actuallyadditions.indexEntry.functionalNoRF.name=Blocks that don't use R booklet.actuallyadditions.indexEntry.allAndSearch.name=All Items and Search booklet.actuallyadditions.indexEntry.functionalRF.name=Blocks that use RF booklet.actuallyadditions.indexEntry.generatingRF.name=Blocks that generate RF +booklet.actuallyadditions.indexEntry.itemsNoRF.name=Items that don't use RF +booklet.actuallyadditions.indexEntry.itemsRF.name=Items that use RF booklet.actuallyadditions.recipeDisabled=The crafting recipe for this item is disabled in the Config File! If you're on a server, ask the server author to enable it in the config. If you're on a client, press the 'Open Config'-Button on the top right and enable the recipe! booklet.actuallyadditions.clickToSeeRecipe=Click to see more Information -booklet.actuallyadditions.chapter.foods.name=Food -booklet.actuallyadditions.chapter.cloud.name=Smiley Cloud -booklet.actuallyadditions.chapter.cloud.text.1=A Smiley Cloud is a neat little block that you can put down in the world. When in place, it will hover around across the ground, though staying on the block you placed it in. When right-clicking the cloud, it will open a GUI that enables you to change its name, and thus, its appearance if you do it right. On the next page, you can find some examples you can try out. This seems so familiar... Tiny Potato? -booklet.actuallyadditions.chapter.cloud.text.2=The Crafting Recipe is shown above. If you want to know what certain name changes do, try naming a cloud "Ellpeck", "Glenthor" or "AcidBlues". - -booklet.actuallyadditions.chapter.phantomfaces.name=Phantomfaces -booklet.actuallyadditions.chapter.phantomfaces.text.1=A Phantomface is a block that you can connect to any inventory by using a Phantom Connector. When connected, the Phantomface will act as if it was the corresponding inventory, accepting Items from pipes and hoppers and having items be able to get pulled out of the face (the same applies for energyfaces with RF and liquifaces with fluids.) a Phantomfaces has a default range of blocks that can be enlarged with Phantom Boosters. -booklet.actuallyadditions.chapter.phantomfaces.text.2=The normal Phantomface can connect to inventories like chests and furnaces, transfering Items into and out of them. -booklet.actuallyadditions.chapter.phantomfaces.text.3=The Phantom Liquiface can connect to tanks and such, allowing all types of liquids to be pumped through. Giving it a Redstone Signal will cause it to auto-output. -booklet.actuallyadditions.chapter.phantomfaces.text.4=The Phantom Energyface can connect to things like generators and crushers, allowing for RF to flow through them into and out of machines. -booklet.actuallyadditions.chapter.phantomfaces.text.5=Shift-Right-Click this onto any inventory and then on the Phantom Device to connect the two. -booklet.actuallyadditions.chapter.phantomfaces.text.6=The Phantom Booster boosts the range of all Phantom Devices. A Phantom device can have 3 at most stacked atop it, with every booster doubling the range the Phantom Device has. - -booklet.actuallyadditions.chapter.phantomBreaker.name=Phantom Breakers & Placers -booklet.actuallyadditions.chapter.phantomBreaker.text.1=Phantom Breakers and Placers have similar mechanics to Phantomfaces: They can be connected via Phantom Connectors. Phantom Breakers and Placers have a range of 3 blocks, in which they can destroy and place blocks in connected places. Shift-right-clicking supplies you with information about the connection, right-clicking normally will open its interface. See the Phantomface Page for more information on Phantom Connectors and Phantom Boosters. -booklet.actuallyadditions.chapter.phantomBreaker.text.2=The Phantom Placer places Blocks that you supply it with. -booklet.actuallyadditions.chapter.phantomBreaker.text.3=The Phantom Breaker breaks blocks and stores them in its internal inventory. - -booklet.actuallyadditions.chapter.breaker.name=(Fluid) Placers & Breakers -booklet.actuallyadditions.chapter.breaker.text.1=The Breaker breaks Blocks in front of it and stores them in its internal inventory. That's it. -booklet.actuallyadditions.chapter.breaker.text.2=The Placer places Blocks that it has stored in its internal inventory in the world. Amazing. -booklet.actuallyadditions.chapter.breaker.text.3=The Fluid Placer places liquids that you supply it with, if they have a block, in the world. -booklet.actuallyadditions.chapter.breaker.text.4=The Fluid Collector collects liquids in front of it and stores them in its tank. - -booklet.actuallyadditions.chapter.craftingIngs.name=Crafting Ingredients -booklet.actuallyadditions.chapter.craftingIngs.text.1=There is a lot of Items in Actually Additions that need certain low-tier, basic items to be able to be crafted. Here is all of the items that don't have a purpose on their own, but are used in several crafting recipes making them really necessary and useful. -booklet.actuallyadditions.chapter.craftingIngs.text.2=The Coil is a low-tier item used for machines. -booklet.actuallyadditions.chapter.craftingIngs.text.3=The Advanced Coil is a higher tier item used for more advanced machines. -booklet.actuallyadditions.chapter.craftingIngs.text.4=The Wood Casing is a low-tier block used for machines. -booklet.actuallyadditions.chapter.craftingIngs.text.5=The Stone Casing is a middle-tier block used for machines. -booklet.actuallyadditions.chapter.craftingIngs.text.6=The Ender Pearl Block doesn't do anything on its own, but is used for Phantomfaces and the Ender Casing. -booklet.actuallyadditions.chapter.craftingIngs.text.7=The Ender Casing is a high-tier block used for machines. - -booklet.actuallyadditions.chapter.esd.name=ESDs -booklet.actuallyadditions.chapter.esd.text.1=The ESD is a block that basically works like an extremely advanced hopper. You can configure the sides and the exact range of slots to put into and pull from. When hovering over the parts of the ESD's GUI, you can see more in-depth info about it. -booklet.actuallyadditions.chapter.esd.text.2=The normal ESD doesn't have a specific item filter. It'll just pull and put everything it finds. -booklet.actuallyadditions.chapter.esd.text.3=The Advanced ESD has a filter, so that you can specify what to pull and put. - -booklet.actuallyadditions.chapter.coffeeMachine.name=Coffee Machine -booklet.actuallyadditions.chapter.coffeeMachine.text.1=The Coffee Machine is a very powerful block that is basically a extended brewing stand. After adding Coffee Beans, a Cup and some RF and Water, you can add up to 8 different Items to the extra slots to give your coffee potion effects of your choosing. When you have added all of the items for the effects you want, just press the OK-button or give the machine a redstone signal. -booklet.actuallyadditions.chapter.coffeeMachine.text.2=Sugar > Speed 30s Magma Cream > Fire Resistance 20s Pufferfish > Water Breathing 10s Golden Carrot > Night Vision 30s Ghast Tear > Regeneration 5s Blaze Powder > Strength 15s Fermented Spider Eye > Invisibility 25s -booklet.actuallyadditions.chapter.coffeeMachine.text.3=Every effect has a default amount of time it lasts for and a maximum amount that can be put into a coffee. The default amplifier of the effects is always I. A bucket of milk (or a glass of soy milk if you have HarvestCraft installed!) causes all previously added effects (meaning all items added in slots with smaller numbers!) to last 2 Minutes longer, but lose one amplifier level, meaning that you always have to add two of one item before you add a bucket of milk. - -booklet.actuallyadditions.chapter.crusher.name=Crushers -booklet.actuallyadditions.chapter.crusher.text.1=The Crusher is a machine that uses RF to double ores, meaning when you put in any ore block, it gets broken down to two dust items which can be smelted in a furnace afterwards. See all of the recipes on the following pages. - -booklet.actuallyadditions.chapter.furnaceDouble.name=Double Furnace -booklet.actuallyadditions.chapter.furnaceDouble.text.1=The Double Furnace is a block that works exactly like a furnace, but it can smelt two items at a time and uses RF to work. See all of the recipes on the following pages. - -booklet.actuallyadditions.chapter.xpSolidifier.name=Experience Solidifier -booklet.actuallyadditions.chapter.xpSolidifier.text.1=The Experience Solidifier can be used to turn your Experience into Solidified Experience-Items that can then either be stored or used again by right-clicking to get the XP you spent for them back. Solidified Experience also gets dropped from mobs sometimes!An easy way to store your XP! -booklet.actuallyadditions.chapter.xpSolidifier.text.2=Block of knowledge - -booklet.actuallyadditions.chapter.miner.name=Magnetic Miner -booklet.actuallyadditions.chapter.miner.text.1=The Magnetic Miner is a block that automatically digs ores out of the ground, supplied a bit of RF and some Oil, and places them on top of Casing Blocks that you need to put down one block below it in the area in places where you want ores to be mined. The ores you get will then be stacked up on top of the casings. -booklet.actuallyadditions.chapter.miner.text.2=Magnet Ore -booklet.actuallyadditions.chapter.miner.text.3=These blocks need to be placed one block lower than the miner is around it where ores should be stacked up. - -booklet.actuallyadditions.chapter.greenhouseGlass.name=Greenhouse Glass -booklet.actuallyadditions.chapter.greenhouseGlass.text.1=Greenhouse Glass can be used to make the growth of plants a lot faster. When placed above a plant, it, and this is tech talk right here, ticks the plant much more often, causing it to grow much faster. It doesn't have a set range on the vertical axis, so you could place the glass really high above the plants to grow.The Item version of this is the Ring Of Growth. -booklet.actuallyadditions.chapter.greenhouseGlass.text.2=Growing Glass. - -booklet.actuallyadditions.chapter.lavaFactory.name=Lava Factory -booklet.actuallyadditions.chapter.lavaFactory.text.1=The Lava Factory is a block that automatically generates lava if supplied with enough RF. Before it can do that, however, you need to place Casing Blocks (their entries can be found on the Magnetic Miner page!) around it in a certain way: Go one block up above the controller. That block is where the lava is going to appear. Around that block, place 4 Casing Blocks. You can check if you did it right by right-clicking the Lava Factory. -booklet.actuallyadditions.chapter.lavaFactory.text.2=Mister Lava, Lava! ..sorry. - -booklet.actuallyadditions.chapter.energizer.name=Energizers and Enervators -booklet.actuallyadditions.chapter.energizer.text.1=The Energizer will charge up Items that can hold RF. -booklet.actuallyadditions.chapter.energizer.text.2=The Enervator will enervate, meaning discharge, Items that can hold RF. - booklet.actuallyadditions.chapter.intro.name=An Introduction to ActAdd booklet.actuallyadditions.chapter.intro.text.1=This book, written years ago, found by the player, used to help understand the wonders of this world, finally opened, finally looked at, full of glory, full of grace, will be used to help the player along on their journey through Actually Additions. What is Actually Additions, you may ask. Actually Additions adds blocks, items, and features to make the player's experience easier, automate the world and properly do what you've always wanted to do. booklet.actuallyadditions.chapter.intro.text.2=This book, written by Ellpeck, the author of everything Actually Additions contains, often called Ellopecko, Peck or Ellpack, is easy to navigate. It has an index page at the front from which you can choose criteria pages. These criteria pages contain a list of every item which is part of the criteria, and clicking on that will show precise information and the crafting recipe of the item. The page you were on previously will stay open between sessions, too! Go check it out! booklet.actuallyadditions.chapter.intro.text.3=If you, for some reason, want to craft this book again, just take a piece of paper and a canola seed which you can find randomly generated and craft them together! +booklet.actuallyadditions.chapter.craftingIngs.name=Crafting Ingredients +booklet.actuallyadditions.chapter.craftingIngs.text.1=Actually Additions has lots of items that use certain basic crafting items to be crafted. This chapter has all of these basic items grouped up so that you can see all of them at once. + booklet.actuallyadditions.chapter.quartz.name=Black Quartz -booklet.actuallyadditions.chapter.quartz.text.1=Black Quartz is a semi-common ore that can be found underground. It can be used to make decor blocks, but it is also necessary to make important crafting ingredients (found in the Crafting Ingredients page!). -booklet.actuallyadditions.chapter.quartz.text.2=Black Quartz as an item is used to make lots of important crafting materials in the mod. It can also be, if you can't find the ore, made with one Nether Quartz and one Coal. This recipe isn't that cheap though, so you're better off just going caving. +booklet.actuallyadditions.chapter.quartz.text.1=Black Quartz is an Ore that generates in the world between layer and . When broken, it can be smelted in a furnace or crushed in a crusher to get broken down into Black Quartz. +booklet.actuallyadditions.chapter.quartz.text.2=Black Quartz items are used in lots of Crafting Recipes in Actually Additions. They are very important for most of the Items and, thus, should be mined when found in the world. They can be crafted into a couple of different Decorative Blocks shown on the following pages. Nether Quartz, but deadlier -booklet.actuallyadditions.chapter.fishingNet.name=Fishing Net -booklet.actuallyadditions.chapter.fishingNet.text.1=When placing the Fishing Net above a puddle, a lake, or a sea of water, it will start caching Fish and other stuff you get from fishing on its own over quite a long period of time. To store the stuff it catches, because it doesn't have an inventory, you can just place any inventory on top of it that can collect items from the bottom, and it will automatically input them into there. If you don't do this, it'll just spew out all of the items which is lovely too. +booklet.actuallyadditions.chapter.cloud.name=Smiley Cloud +booklet.actuallyadditions.chapter.cloud.text.1=The Smiley Cloud is a magical floating cloud which is getting put to life through the piece of Solidified Experience inside it. It hovers up and down in its place all jolly and fun, and when right-clicking, you can give it a name. When giving it certain special names like "Ellpeck" or "AcidBlues, it will have some special items it carries! -booklet.actuallyadditions.chapter.repairer.name=Item Repairer -booklet.actuallyadditions.chapter.repairer.text.1=The Item Repairer is used to repair tools and armor which you could usually repair in an anvil. It uses RF, a lot of it, actually, to repair the item without needing any added materials! +booklet.actuallyadditions.chapter.coalStuff.name=Coal Stuff +booklet.actuallyadditions.chapter.coalStuff.text.1=Sometimes your Coal just burns for too long or too short, you know what I mean? For that, you can now craft Tiny Coal, Tiny Charcoal and Blocks of Charcoal for using them in a furnace. While the Block of Charcoal burns for as long as a Block of Coal, the Tiny Coal and Tiny Charcoal will burn for one eighth of a piece of coal, meaning it will smelt one item in a normal furnace. -booklet.actuallyadditions.chapter.coalGen.name=Coal Generator -booklet.actuallyadditions.chapter.coalGen.text.1=This is pretty self-explanatory: You fill the Coal Generator up with Coal, and it will generate RF. +booklet.actuallyadditions.chapter.lamps.name=Lamps +booklet.actuallyadditions.chapter.lamps.text.1=Lamps are a block providing lots of light, similar to the mystic Glowstone or Torches, but they can be dyed with all of the 16 different colors either by crafting them or by placing them on the ground and right-clicking them with a piece of dye. When right-clicking them with an empty hand, they will turn on and off. If you want them, however, to be toggled using Redstone Power, just place a Lamp Controller next to one. -booklet.actuallyadditions.chapter.solarPanel.name=Solar Panel -booklet.actuallyadditions.chapter.solarPanel.text.1=The Solar Panel is a block that is used to generate RF through the power of the sun! Just plop it down under a free sky and watch it generate RF slowly just by sitting there. It will obviously not work at night. Obviously. +booklet.actuallyadditions.chapter.treasureChest.name=Treasure Chests +booklet.actuallyadditions.chapter.treasureChest.text.1=Treasure Chests are a semi-uncommon occurence in Ocean Biomes. They appear on the bottom of the sea, probably left there by bypassing Ships who threw off or lost some load. These Chests however, hold some valuable items, if you're lucky. Breaking them won't yield you anything, though, you just have to right-click them to receive some amazing goodies. -booklet.actuallyadditions.chapter.heatCollector.name=Heat Collector -booklet.actuallyadditions.chapter.heatCollector.text.1=The Heat Collector is one of the more complicated methods of generating RF in Actually Additions. It needs to have a couple of lava blocks around it to generate RF in the first place, but it will sometimes absorb some of the lava, having to have it replaced before it can continue working again. This could be a good combination with the Lava Factory. Maybe. +booklet.actuallyadditions.chapter.breaker.name=Breakers and Placers +booklet.actuallyadditions.chapter.breaker.text.1=The Breaker... well.. it breaks blocks in front of it. That's about it. It can be oriented in every direction like a Piston. +booklet.actuallyadditions.chapter.breaker.text.2=The Placer... well... it places blocks in front of it. That's about it. It can be oriented in every direction like a Piston. +booklet.actuallyadditions.chapter.breaker.text.3=The Liquid Placer places blocks that correspond to the liquid you put in via a bucket or pipe in via a pipe. Needs 1000mb to place one block. +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.coalStuff.name=Stuff made with coal -booklet.actuallyadditions.chapter.coalStuff.text.1=You can convert a single piece of coal into 8 tiny coal so that you can smelt one item at a time in a furnace without wasting fuel. -booklet.actuallyadditions.chapter.coalStuff.text.2=You can convert a single piece of charcoal into 8 tiny charcoal so that you can smelt one item at a time in a furnace without wasting fuel. \ No newline at end of file +booklet.actuallyadditions.chapter.phantomfaces.name=Phantomfaces diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/guiBooklet.png b/src/main/resources/assets/actuallyadditions/textures/gui/guiBooklet.png index 86603c637..add56707c 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/gui/guiBooklet.png and b/src/main/resources/assets/actuallyadditions/textures/gui/guiBooklet.png differ