diff --git a/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 b/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 index 05ee7dd44..ebb9b3153 100644 --- a/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 +++ b/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 @@ -1,6 +1,8 @@ -// 1.20.4 2024-03-06T00:00:49.130919 Patchouli Book Provider +// 1.20.4 2024-03-14T01:53:18.5540232 Patchouli Book Provider 25f9d206f1f0397918f65634d57f658516f3c952 assets/actuallyadditions/patchouli_books/booklet/en_us/categories/getting_started.json +7023c70c30600d465a96b315b2b7954eedad337d assets/actuallyadditions/patchouli_books/booklet/en_us/entries/crystals.json +cb103625b78fcc79697bdc00459a21cacf0c940a assets/actuallyadditions/patchouli_books/booklet/en_us/entries/engineer_house.json 88df6be8c958d5e89673e9eefcf73315d50bda9f assets/actuallyadditions/patchouli_books/booklet/en_us/entries/guide.json -49e2d21f416f97f2e952ceb8e003e8497e926e03 assets/actuallyadditions/patchouli_books/booklet/en_us/entries/intro.json +2709d2e5c13efa327c5ee6c18fe10e377d49abe3 assets/actuallyadditions/patchouli_books/booklet/en_us/entries/intro.json 78d1f1a0d393feaf903c84d11ac2749d17779217 assets/actuallyadditions/patchouli_books/booklet/en_us/entries/tutorial.json 10146f4dd5bab35ef00a724fab1f3762e5f7c2b9 data/actuallyadditions/patchouli_books/booklet/book.json diff --git a/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/crystals.json b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/crystals.json new file mode 100644 index 000000000..5985c7ccc --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/crystals.json @@ -0,0 +1,101 @@ +{ + "category": "actuallyadditions:getting_started", + "icon": "actuallyadditions:booklet", + "name": "booklet.actuallyadditions.chapter.crystals", + "pages": [ + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.crystals.text.1" + }, + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.crystals.text.2" + }, + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.crystals.text.3" + }, + { + "type": "patchouli:image", + "border": false, + "images": [ + "actuallyadditions:textures/gui/booklet/page_atomic_reconstructor.png" + ] + }, + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.crystals.text.5" + }, + { + "type": "patchouli:crafting", + "recipe": "actuallyadditions:atomic_reconstructor", + "text": "booklet.actuallyadditions.chapter.crystals.text.6" + }, + { + "type": "actuallyadditions:reconstructor", + "recipe": "actuallyadditions:laser/crystalize_restonia_crystal_block", + "recipe2": "actuallyadditions:laser/crystalize_restonia_crystal", + "text": "booklet.actuallyadditions.reconstructor_recipe" + }, + { + "type": "actuallyadditions:reconstructor", + "recipe": "actuallyadditions:laser/crystalize_palis_crystal_block", + "recipe2": "actuallyadditions:laser/crystalize_palis_crystal", + "text": "booklet.actuallyadditions.reconstructor_recipe" + }, + { + "type": "actuallyadditions:reconstructor", + "recipe": "actuallyadditions:laser/crystalize_diamatine_crystal_block", + "recipe2": "actuallyadditions:laser/crystalize_diamatine_crystal", + "text": "booklet.actuallyadditions.reconstructor_recipe" + }, + { + "type": "actuallyadditions:reconstructor", + "recipe": "actuallyadditions:laser/crystalize_void_crystal_block", + "recipe2": "actuallyadditions:laser/crystalize_void_crystal", + "text": "booklet.actuallyadditions.reconstructor_recipe" + }, + { + "type": "actuallyadditions:reconstructor", + "recipe": "actuallyadditions:laser/crystalize_emeradic_crystal_block", + "recipe2": "actuallyadditions:laser/crystalize_emeradic_crystal", + "text": "booklet.actuallyadditions.reconstructor_recipe" + }, + { + "type": "actuallyadditions:reconstructor", + "recipe": "actuallyadditions:laser/crystalize_enori_crystal_block", + "recipe2": "actuallyadditions:laser/crystalize_enori_crystal", + "text": "booklet.actuallyadditions.reconstructor_recipe" + }, + { + "type": "patchouli:crafting", + "recipe": "actuallyadditions:decompress/restonia_crystal", + "recipe2": "actuallyadditions:compress/restonia_crystal_block" + }, + { + "type": "patchouli:crafting", + "recipe": "actuallyadditions:decompress/palis_crystal", + "recipe2": "actuallyadditions:compress/palis_crystal_block" + }, + { + "type": "patchouli:crafting", + "recipe": "actuallyadditions:decompress/diamatine_crystal", + "recipe2": "actuallyadditions:compress/diamatine_crystal_block" + }, + { + "type": "patchouli:crafting", + "recipe": "actuallyadditions:decompress/void_crystal", + "recipe2": "actuallyadditions:compress/void_crystal_block" + }, + { + "type": "patchouli:crafting", + "recipe": "actuallyadditions:decompress/emeradic_crystal", + "recipe2": "actuallyadditions:compress/emeradic_crystal_block" + }, + { + "type": "patchouli:crafting", + "recipe": "actuallyadditions:decompress/enori_crystal", + "recipe2": "actuallyadditions:compress/enori_crystal_block" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/engineer_house.json b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/engineer_house.json new file mode 100644 index 000000000..d3b745120 --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/engineer_house.json @@ -0,0 +1,18 @@ +{ + "category": "actuallyadditions:getting_started", + "icon": "actuallyadditions:booklet", + "name": "booklet.actuallyadditions.chapter.engineer_house", + "pages": [ + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.engineer_house.text.1" + }, + { + "type": "patchouli:image", + "images": [ + "actuallyadditions:textures/gui/booklet/page_engineer_house.png" + ], + "text": "booklet.actuallyadditions.chapter.engineer_house.text.2" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/intro.json b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/intro.json index d2c150d6a..c9eb4f94c 100644 --- a/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/intro.json +++ b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/intro.json @@ -14,6 +14,10 @@ { "type": "patchouli:text", "text": "booklet.actuallyadditions.chapter.intro.text.3" + }, + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.intro.text.4" } ] } \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/patchouli/PachouliGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/data/patchouli/PachouliGenerator.java index 27fed35b1..7b3d96a22 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/data/patchouli/PachouliGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/data/patchouli/PachouliGenerator.java @@ -1,5 +1,6 @@ package de.ellpeck.actuallyadditions.data.patchouli; +import de.ellpeck.actuallyadditions.data.patchouli.builder.ReconstructorPageBuilder; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.items.ActuallyItems; import net.minecraft.data.PackOutput; @@ -7,6 +8,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import xyz.brassgoggledcoders.patchouliprovider.BookBuilder; import xyz.brassgoggledcoders.patchouliprovider.CategoryBuilder; +import xyz.brassgoggledcoders.patchouliprovider.EntryBuilder; import xyz.brassgoggledcoders.patchouliprovider.PatchouliBookProvider; import java.util.function.Consumer; @@ -48,8 +50,9 @@ public class PachouliGenerator extends PatchouliBookProvider { .addTextPage(prefix("chapter.book_tutorial.text.1")).build() .addTextPage(prefix("chapter.book_tutorial.text.2")).build() .addTextPage(prefix("chapter.book_tutorial.text.3")).build() + .addCraftingPage(new ResourceLocation(ActuallyAdditions.MODID, "booklet")) + .setTitle("").setText("booklet.actuallyadditions.shapeless_recipe").build(); - .addCraftingPage(new ResourceLocation(ActuallyAdditions.MODID, "booklet")).setTitle("").setText("booklet.actuallyadditions.shapeless_recipe").build(); gettingStarted.addEntry("guide", prefix("chapter.video_guide"), "actuallyadditions:textures/item/youtube.png") .addLinkPage("https://www.youtube.com/watch?v=fhjz0Ew56pM", prefix("chapter.video_guide.booty.button")) .setText(prefix("chapter.video_guide.booty.text.1")).build() @@ -61,7 +64,53 @@ public class PachouliGenerator extends PatchouliBookProvider { gettingStarted.addEntry("intro", prefix("chapter.intro"), bookStack) .addTextPage(prefix("chapter.intro.text.1")).build() .addTextPage(prefix("chapter.intro.text.2")).build() - .addTextPage(prefix("chapter.intro.text.3")).build(); + .addTextPage(prefix("chapter.intro.text.3")).build() + .addTextPage(prefix("chapter.intro.text.4")).build(); + + gettingStarted.addEntry("engineer_house", prefix("chapter.engineer_house"), bookStack) + .addTextPage(prefix("chapter.engineer_house.text.1")).build() + .addImagePage(new ResourceLocation(ActuallyAdditions.MODID, "textures/gui/booklet/page_engineer_house.png")) + .setText("booklet.actuallyadditions.chapter.engineer_house.text.2").build(); + + EntryBuilder crystalsBuilder = gettingStarted.addEntry("crystals", prefix("chapter.crystals"), bookStack) + .addTextPage(prefix("chapter.crystals.text.1")).build() + .addTextPage(prefix("chapter.crystals.text.2")).build() + .addTextPage(prefix("chapter.crystals.text.3")).build() + .addImagePage(new ResourceLocation(ActuallyAdditions.MODID, "textures/gui/booklet/page_atomic_reconstructor.png")).setBorder(false).build() + .addTextPage(prefix("chapter.crystals.text.5")).build() + .addCraftingPage(new ResourceLocation(ActuallyAdditions.MODID, "atomic_reconstructor")) + .setText(prefix("chapter.crystals.text.6")).build(); + crystalsBuilder.addPage(new ReconstructorPageBuilder(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_restonia_crystal_block"), crystalsBuilder)) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_restonia_crystal")) + .setText("booklet.actuallyadditions.reconstructor_recipe").build(); + crystalsBuilder.addPage(new ReconstructorPageBuilder(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_palis_crystal_block"), crystalsBuilder)) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_palis_crystal")) + .setText("booklet.actuallyadditions.reconstructor_recipe").build(); + crystalsBuilder.addPage(new ReconstructorPageBuilder(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_diamatine_crystal_block"), crystalsBuilder)) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_diamatine_crystal")) + .setText("booklet.actuallyadditions.reconstructor_recipe").build(); + crystalsBuilder.addPage(new ReconstructorPageBuilder(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_void_crystal_block"), crystalsBuilder)) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_void_crystal")) + .setText("booklet.actuallyadditions.reconstructor_recipe").build(); + crystalsBuilder.addPage(new ReconstructorPageBuilder(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_emeradic_crystal_block"), crystalsBuilder)) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_emeradic_crystal")) + .setText("booklet.actuallyadditions.reconstructor_recipe").build(); + crystalsBuilder.addPage(new ReconstructorPageBuilder(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_enori_crystal_block"), crystalsBuilder)) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "laser/crystalize_enori_crystal")) + .setText("booklet.actuallyadditions.reconstructor_recipe").build(); + crystalsBuilder.addCraftingPage(new ResourceLocation(ActuallyAdditions.MODID, "decompress/restonia_crystal")) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "compress/restonia_crystal_block")).build() + .addCraftingPage(new ResourceLocation(ActuallyAdditions.MODID, "decompress/palis_crystal")) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "compress/palis_crystal_block")).build() + .addCraftingPage(new ResourceLocation(ActuallyAdditions.MODID, "decompress/diamatine_crystal")) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "compress/diamatine_crystal_block")).build() + .addCraftingPage(new ResourceLocation(ActuallyAdditions.MODID, "decompress/void_crystal")) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "compress/void_crystal_block")).build() + .addCraftingPage(new ResourceLocation(ActuallyAdditions.MODID, "decompress/emeradic_crystal")) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "compress/emeradic_crystal_block")).build() + .addCraftingPage(new ResourceLocation(ActuallyAdditions.MODID, "decompress/enori_crystal")) + .setRecipe2(new ResourceLocation(ActuallyAdditions.MODID, "compress/enori_crystal_block")).build(); + crystalsBuilder.build(); //End of Getting Started diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/patchouli/builder/ReconstructorPageBuilder.java b/src/main/java/de/ellpeck/actuallyadditions/data/patchouli/builder/ReconstructorPageBuilder.java new file mode 100644 index 000000000..a62241231 --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/data/patchouli/builder/ReconstructorPageBuilder.java @@ -0,0 +1,11 @@ +package de.ellpeck.actuallyadditions.data.patchouli.builder; + +import net.minecraft.resources.ResourceLocation; +import xyz.brassgoggledcoders.patchouliprovider.EntryBuilder; +import xyz.brassgoggledcoders.patchouliprovider.page.RecipePageBuilder; + +public class ReconstructorPageBuilder extends RecipePageBuilder { + public ReconstructorPageBuilder(ResourceLocation recipe, EntryBuilder entryBuilder) { + super("actuallyadditions:reconstructor", recipe, entryBuilder); + } +} diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditionsClient.java b/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditionsClient.java index 38386022b..4c9d43d9c 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditionsClient.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/ActuallyAdditionsClient.java @@ -50,6 +50,7 @@ import de.ellpeck.actuallyadditions.mod.misc.special.SpecialRenderInit; import de.ellpeck.actuallyadditions.mod.particle.ActuallyParticles; import de.ellpeck.actuallyadditions.mod.particle.ParticleBeam; import de.ellpeck.actuallyadditions.mod.particle.ParticleLaserItem; +import de.ellpeck.actuallyadditions.mod.patchouli.PatchouliPages; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.MenuScreens; import net.minecraft.client.multiplayer.ClientPacketListener; @@ -102,6 +103,8 @@ public class ActuallyAdditionsClient { (stack, level, entity, tintIndex) -> "snail mail".equalsIgnoreCase(stack.getHoverName().getString()) ? 1F : 0F)); setupRenderLayers(); + + PatchouliPages.init(); } private static void setupRenderLayers() { diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/LaserRecipe.java b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/LaserRecipe.java index de7087b7f..a46d1fafc 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/LaserRecipe.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/crafting/LaserRecipe.java @@ -3,6 +3,7 @@ package de.ellpeck.actuallyadditions.mod.crafting; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI; +import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks; import net.minecraft.core.RegistryAccess; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.Container; @@ -47,6 +48,11 @@ public class LaserRecipe implements Recipe { return itemIngredient; } + @Override + public ItemStack getToastSymbol() { + return new ItemStack(ActuallyBlocks.ATOMIC_RECONSTRUCTOR.get()); + } + //nah @Override public boolean matches(Container pInv, Level pLevel) { diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/patchouli/PageReconstructor.java b/src/main/java/de/ellpeck/actuallyadditions/mod/patchouli/PageReconstructor.java new file mode 100644 index 000000000..eee56ed2a --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/patchouli/PageReconstructor.java @@ -0,0 +1,49 @@ +package de.ellpeck.actuallyadditions.mod.patchouli; + +import com.mojang.blaze3d.systems.RenderSystem; +import de.ellpeck.actuallyadditions.mod.crafting.ActuallyRecipes; +import de.ellpeck.actuallyadditions.mod.crafting.LaserRecipe; +import de.ellpeck.actuallyadditions.mod.util.AssetUtil; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.world.level.Level; +import vazkii.patchouli.client.book.gui.GuiBook; +import vazkii.patchouli.client.book.page.abstr.PageSimpleProcessingRecipe; + +public class PageReconstructor extends PageSimpleProcessingRecipe { + + public PageReconstructor() { + super(ActuallyRecipes.Types.LASER.get()); + } + + @Override + protected void drawRecipe(GuiGraphics graphics, LaserRecipe recipe, int recipeX, int recipeY, int mouseX, int mouseY, boolean second) { + Level level = Minecraft.getInstance().level; + if (level == null) { + return; + } + + RenderSystem.enableBlend(); + graphics.blit(AssetUtil.getBookletGuiLocation("gui_booklet_gadgets"), recipeX + 10, recipeY + 2, 80, 146, 68, 48, 256, 256); + parent.drawCenteredStringNoShadow(graphics, getTitle(second).getVisualOrderText(), GuiBook.PAGE_WIDTH / 2, recipeY - 10, book.headerColor); + + parent.renderIngredient(graphics, recipeX + 11, recipeY + 15, mouseX, mouseY, recipe.getInput()); + parent.renderItemStack(graphics, recipeX + 33, recipeY + 15, mouseX, mouseY, recipe.getToastSymbol()); + parent.renderItemStack(graphics, recipeX + 57, recipeY + 15, mouseX, mouseY, recipe.getResultItem(level.registryAccess())); + } + + @Override + public int getTextHeight() { + return 60; + } + + @Override + public boolean shouldRenderText() { + return true; + } + + @Override + protected int getRecipeHeight() { + return 90; + } +} diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/patchouli/PatchouliPages.java b/src/main/java/de/ellpeck/actuallyadditions/mod/patchouli/PatchouliPages.java new file mode 100644 index 000000000..d1c23b0b3 --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/patchouli/PatchouliPages.java @@ -0,0 +1,11 @@ +package de.ellpeck.actuallyadditions.mod.patchouli; + +import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; +import net.minecraft.resources.ResourceLocation; +import vazkii.patchouli.client.book.ClientBookRegistry; + +public class PatchouliPages { + public static void init() { + ClientBookRegistry.INSTANCE.pageTypes.put(new ResourceLocation(ActuallyAdditions.MODID, "reconstructor"), PageReconstructor.class); + } +} diff --git a/src/main/resources/assets/actuallyadditions/lang/en_us.json b/src/main/resources/assets/actuallyadditions/lang/en_us.json index a740b02e0..050849e64 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_us.json +++ b/src/main/resources/assets/actuallyadditions/lang/en_us.json @@ -714,9 +714,10 @@ "booklet.actuallyadditions.trials.empowererAutomation.text.1": "The Empowerer requires a lot of resources to convert crystals. There should be a pretty easy way to create a system that does this automatically. Using some Item Laser Relays should provide an easy way to make the right items go onto the right display stands.", "_comment": "Booklet Chapters", "booklet.actuallyadditions.chapter.intro": "A story about ActAdd", - "booklet.actuallyadditions.chapter.intro.text.1": "For too long have the people of Minecraftia toiled under a relentless whip. A whip more hurtful and more injurious than that of any slave-master: inconvenience. Aye, the thousand million inconveniences that make up the grind, that force players to waste hours- nay, days!- chopping wood and farming wheat and other such mundane tasks, just to momentarily escape the remorseless tedium and experience the true joys of Minecraftia, building, caving and adventuring into the beautiful uncharted abundance", - "booklet.actuallyadditions.chapter.intro.text.2": "of the world. Yet no sooner has one immersed oneself in this creative enterprise than the inconveniences return, like millions of furious bees pestering, stinging, swarming all over you until the game ceases to be enjoyable, and you are driven away from it forever. To that end, a certain Ellpeck has created this Actual Addition to the world of Minecraft, that will allow the player to better engage with the core experiences of the game- building and adventuring- by automating and streamlining the monotony that", - "booklet.actuallyadditions.chapter.intro.text.3": "is grinding in Minecraft. Therefore, Ellpeck humbly presents to you this Actually Additions Manual, that shall teach you the ways of this modification and, ultimately, allow you to transcend inconvenience and attain enlightenment. ~by Tulkas", + "booklet.actuallyadditions.chapter.intro.text.1": "For too long have the people of Minecraftia toiled under a relentless whip. A whip more hurtful and more injurious than that of any slave-master: inconvenience. Aye, the thousand million inconveniences that make up the grind, that force players to waste hours- nay, days!- chopping wood and farming wheat and other such mundane tasks,", + "booklet.actuallyadditions.chapter.intro.text.2": "just to momentarily escape the remorseless tedium and experience the true joys of Minecraftia, building, caving and adventuring into the beautiful uncharted abundance of the world. Yet no sooner has one immersed oneself in this creative enterprise than the inconveniences return, like millions of furious bees pestering, stinging, swarming all over you until the game ceases to be enjoyable, and you are driven away from it forever.", + "booklet.actuallyadditions.chapter.intro.text.3": "To that end, a certain Ellpeck has created this Actual Addition to the world of Minecraft, that will allow the player to better engage with the core experiences of the game- building and adventuring- by automating and streamlining the monotony that is grinding in Minecraft. Therefore, Ellpeck humbly presents to you this Actually Additions Manual, that shall teach you the ways of this modification and, ultimately,", + "booklet.actuallyadditions.chapter.intro.text.4": "allow you to transcend inconvenience and attain enlightenment. ~by Tulkas", "booklet.actuallyadditions.chapter.craftingIngs": "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": "Black Quartz", @@ -846,9 +847,9 @@ "booklet.actuallyadditions.chapter.blackLotus.text.1": "Think of this: You need to craft black wool, black clay or anything else that needs black dye but you are just guilty about killing so many innocent squids? Well, the Black Lotus is exactly the thing you need! Just look around in the wild a bit, and you will find one, then being able to craft some Black Dye that can be used instead of Ink Sacs so that you don't need to kill poor squids and L any longer.", "booklet.actuallyadditions.chapter.blackLotus.text.2": "Do the lotus pose", "booklet.actuallyadditions.chapter.crystals": "Crystals and Reconstructor", - "booklet.actuallyadditions.chapter.crystals.text.1": "The Atomic Reconstructor is used to craft Crystals, which are the main crafting ingredient in most items from Actually Additions. Upon being supplied with power, it shoots out a Laser. When the Laser hits a block, it will convert all surrounding items and blocks, provided they can be converted. When shooting a laser, it uses CF, but additional rates vary depending on the conversion.", - "booklet.actuallyadditions.chapter.crystals.text.2": "There are various Lenses that can be attached to the Reconstructor that don't all follow the default behavior of the Reconstructor and are able to do some neat things. See the Reconstruction section in the booklet for more information. When right-clicking the Reconstructor with a Redstone Torch in hand, it will change between a mode where it gets deactivated by Redstone and a mode where it responds to pulses.", - "booklet.actuallyadditions.chapter.crystals.text.3": "It should be noted that any recipes listed without information about Lenses don't use one. I thought that was obvious.", + "booklet.actuallyadditions.chapter.crystals.text.1": "The Atomic Reconstructor is used to craft Crystals, which are the main crafting ingredient in most items from Actually Additions. Upon being supplied with power, it shoots out a Laser. When the Laser hits a block, it will convert all surrounding items and blocks, provided they can be converted.", + "booklet.actuallyadditions.chapter.crystals.text.2": "When shooting a laser, it uses 1000 CF, but additional rates vary depending on the conversion. There are various Lenses that can be attached to the Reconstructor that don't all follow the default behavior of the Reconstructor and are able to do some neat things. See the Reconstruction section in the booklet for more information.", + "booklet.actuallyadditions.chapter.crystals.text.3": "When right-clicking the Reconstructor with a Redstone Torch in hand, it will change between a mode where it gets deactivated by Redstone and a mode where it responds to pulses. It should be noted that any recipes listed without information about Lenses don't use one. I thought that was obvious.", "booklet.actuallyadditions.chapter.crystals.text.5": "When you have crafted a couple of items, you might want to find a way to automate this. There is a very simple way to do accomplish this: Place the Atomic Reconstructor down facing into a Precision Dropper (to find it, look it up in the All Items Entry!). Next, place a Ranged Collector in the area that has the converted items set as a whitelist. Now you can just chuck your raw materials into the Dropper to convert them!", "booklet.actuallyadditions.chapter.crystals.text.6": "Molecular Transformilator", "booklet.actuallyadditions.chapter.book_tutorial": "Intro to the Manual", @@ -969,9 +970,9 @@ "booklet.actuallyadditions.chapter.website": "The Author's Website", "booklet.actuallyadditions.chapter.website.text.1": "On the topic of self-advertisement, if you're interested in any of the other stuff I, Ellpeck, the author of this mod, do, you can go check out my website by clicking the button below. On there, you will find links to all of the social medias I use, an FAQ, and information about Minecraft Mods and other stuff I make!", "booklet.actuallyadditions.chapter.website.button.1": "View the Website", - "booklet.actuallyadditions.chapter.engineerHouse": "A visit to the Engineers", - "booklet.actuallyadditions.chapter.engineerHouse.text.1": "If you want to know how to start, you can check out what the Engineers are up to. They are two friendly villagers that sell you various goods: One is the Crystallizer, who will exchange Emeralds and Crystals with you, and the Engineer will trade various machines with you! On the next page, you can see the house they live in - which is also worth checking out! But be careful, the machines inside the house are a little more fragile, meaning they will shatter once you try to break them.", - "booklet.actuallyadditions.chapter.engineerHouse.text.2": " Machines Primus", + "booklet.actuallyadditions.chapter.engineer_house": "A visit to the Engineers", + "booklet.actuallyadditions.chapter.engineer_house.text.1": "If you want to know how to start, you can check out what the Engineers are up to. They are two friendly villagers that sell you various goods: One is the Crystallizer, who will exchange Emeralds and Crystals with you, and the Engineer will trade various machines with you! On the next page, you can see the house they live in - which is also worth checking out! But be careful, the machines inside the house are a little more fragile, meaning they will shatter once you try to break them.", + "booklet.actuallyadditions.chapter.engineer_house.text.2": " Machines Primus", "booklet.actuallyadditions.chapter.batteryBox": "Battery Box", "booklet.actuallyadditions.chapter.batteryBox.text.1": "The Battery Box is a great way to store your power. However, for it to be able to use power, you have to right-click a Battery onto it. It will then be able to store energy on the battery itself. If you set the battery to discharge mode via sneak-right-clicking it or by applying a redstone pulse to the Battery Box, it will try to spread the power it receives equally to up to 15 adjacent Battery Boxes.", "booklet.actuallyadditions.chapter.laserUpgradeInvisibility": "Modifier: Invisibility",