From 654465b39edb0b5500317dce25ab3a9f7e710231 Mon Sep 17 00:00:00 2001 From: Mrbysco Date: Wed, 6 Mar 2024 00:10:42 +0100 Subject: [PATCH 1/3] Add Patchouli and Patchouli Provider --- build.gradle | 5 +++++ gradle.properties | 2 ++ 2 files changed, 7 insertions(+) diff --git a/build.gradle b/build.gradle index a754aaa41..2dd06515a 100644 --- a/build.gradle +++ b/build.gradle @@ -84,6 +84,11 @@ dependencies { runtimeOnly "mezz.jei:jei-${game_version}-neoforge:${jei_version}" + compileOnly "vazkii.patchouli:Patchouli:${patchouli_version}" + runtimeOnly "vazkii.patchouli:Patchouli:${patchouli_version}" + compileOnly "xyz.brassgoggledcoders:PatchouliProvider:${patchouli_provider_version}" + runtimeOnly "xyz.brassgoggledcoders:PatchouliProvider:${patchouli_provider_version}" + runtimeOnly "curse.maven:the-one-probe-245211:5084077" runtimeOnly "curse.maven:mekanism-268560:5155329" } diff --git a/gradle.properties b/gradle.properties index 484609bcf..e26041cf9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,3 +15,5 @@ neogradle.subsystems.parchment.mappingsVersion=2024.02.25 # Other mods jei_version=17.3.0.49 +patchouli_version=1.20.4-85-NEOFORGE-SNAPSHOT +patchouli_provider_version=1.20.4-1.0.10-Snapshot.6 From 7658fdaa4ff4b17c2731db15ea6b6d5f237069f0 Mon Sep 17 00:00:00 2001 From: Mrbysco Date: Wed, 6 Mar 2024 00:10:49 +0100 Subject: [PATCH 2/3] Initial booklet setup --- .../b3ca5dca15f867120b82824364d3156b7fdfd666 | 3 +- .../cd090bff9ca93079474b6df48215a8307e531e73 | 6 ++ .../models/item/booklet.json | 6 ++ .../en_us/categories/getting_started.json | 5 ++ .../booklet/en_us/entries/guide.json | 27 +++++++ .../booklet/en_us/entries/intro.json | 19 +++++ .../booklet/en_us/entries/tutorial.json | 25 ++++++ .../patchouli_books/booklet/book.json | 21 +++++ .../data/ActuallyAdditionsData.java | 3 + .../data/ItemModelGenerator.java | 2 +- .../data/patchouli/PachouliGenerator.java | 76 ++++++++++++++++++ .../mod/items/ItemBooklet.java | 6 +- .../assets/actuallyadditions/lang/en_us.json | 38 ++++----- .../textures/gui/booklet/booklet.png | Bin 0 -> 17771 bytes .../textures/item/youtube.png | Bin 0 -> 355 bytes 15 files changed, 215 insertions(+), 22 deletions(-) create mode 100644 src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 create mode 100644 src/generated/resources/assets/actuallyadditions/models/item/booklet.json create mode 100644 src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/categories/getting_started.json create mode 100644 src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/guide.json create mode 100644 src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/intro.json create mode 100644 src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/tutorial.json create mode 100644 src/generated/resources/data/actuallyadditions/patchouli_books/booklet/book.json create mode 100644 src/main/java/de/ellpeck/actuallyadditions/data/patchouli/PachouliGenerator.java create mode 100644 src/main/resources/assets/actuallyadditions/textures/gui/booklet/booklet.png create mode 100644 src/main/resources/assets/actuallyadditions/textures/item/youtube.png diff --git a/src/generated/resources/.cache/b3ca5dca15f867120b82824364d3156b7fdfd666 b/src/generated/resources/.cache/b3ca5dca15f867120b82824364d3156b7fdfd666 index 2d5ca5475..a4ca43a4f 100644 --- a/src/generated/resources/.cache/b3ca5dca15f867120b82824364d3156b7fdfd666 +++ b/src/generated/resources/.cache/b3ca5dca15f867120b82824364d3156b7fdfd666 @@ -1,4 +1,4 @@ -// 1.20.4 2024-03-04T22:51:31.610431 Item Models: actuallyadditions +// 1.20.4 2024-03-05T23:33:24.583284 Item Models: actuallyadditions 1966de13838437bc6035f3649976a44797cf5144 assets/actuallyadditions/models/item/advanced_coil.json 24594fc68e66011dc2d7b79b92c94b387e710318 assets/actuallyadditions/models/item/advanced_leaf_blower.json ba2d814e269cdef72e1045f200b3c20ed6961517 assets/actuallyadditions/models/item/atomic_reconstructor.json @@ -20,6 +20,7 @@ a41a81204caeddaaeaba35a5d1087361d7df5eae assets/actuallyadditions/models/item/bl c8974657e959db31495382cf6a86a3367df5d8c9 assets/actuallyadditions/models/item/black_quartz_slab.json 74aaa894cd68cf64f8ad5aac0e7c0b26cdb0a021 assets/actuallyadditions/models/item/black_quartz_stair.json 7e8476e561bd4854b54ce79cb798fd9b2915efb4 assets/actuallyadditions/models/item/black_quartz_wall.json +a921bf283b5864b283ffff0737d8c3c89487dd08 assets/actuallyadditions/models/item/booklet.json 8f1232a569a12d54b1053fae05dc85d23b28ed42 assets/actuallyadditions/models/item/breaker.json d376ad8923f1f63c1ed4429288b479cfbb235d44 assets/actuallyadditions/models/item/canola.json fa77f5b54168ff7c11c5ce9fbe342eb7298a9ec8 assets/actuallyadditions/models/item/canola_oil_bucket.json diff --git a/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 b/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 new file mode 100644 index 000000000..05ee7dd44 --- /dev/null +++ b/src/generated/resources/.cache/cd090bff9ca93079474b6df48215a8307e531e73 @@ -0,0 +1,6 @@ +// 1.20.4 2024-03-06T00:00:49.130919 Patchouli Book Provider +25f9d206f1f0397918f65634d57f658516f3c952 assets/actuallyadditions/patchouli_books/booklet/en_us/categories/getting_started.json +88df6be8c958d5e89673e9eefcf73315d50bda9f assets/actuallyadditions/patchouli_books/booklet/en_us/entries/guide.json +49e2d21f416f97f2e952ceb8e003e8497e926e03 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/models/item/booklet.json b/src/generated/resources/assets/actuallyadditions/models/item/booklet.json new file mode 100644 index 000000000..742e0d1bd --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/models/item/booklet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "actuallyadditions:item/booklet" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/categories/getting_started.json b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/categories/getting_started.json new file mode 100644 index 000000000..baf54c032 --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/categories/getting_started.json @@ -0,0 +1,5 @@ +{ + "description": "", + "icon": "actuallyadditions:booklet", + "name": "booklet.actuallyadditions.indexEntry.getting_started" +} \ No newline at end of file diff --git a/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/guide.json b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/guide.json new file mode 100644 index 000000000..bcb917f32 --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/guide.json @@ -0,0 +1,27 @@ +{ + "category": "actuallyadditions:getting_started", + "icon": "actuallyadditions:textures/item/youtube.png", + "name": "booklet.actuallyadditions.chapter.video_guide", + "pages": [ + { + "type": "patchouli:link", + "link_text": "booklet.actuallyadditions.chapter.video_guide.booty.button", + "text": "booklet.actuallyadditions.chapter.video_guide.booty.text.1", + "url": "https://www.youtube.com/watch?v=fhjz0Ew56pM" + }, + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.video_guide.booty.text.2" + }, + { + "type": "patchouli:link", + "link_text": "booklet.actuallyadditions.chapter.video_guide.booty.button", + "text": "booklet.actuallyadditions.chapter.video_guide.dire.text.1", + "url": "https://www.youtube.com/playlist?list=PLJeFZ64pT89MrTRZYzD_rtHFajPVlt6cF" + }, + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.video_guide.dire.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 new file mode 100644 index 000000000..d2c150d6a --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/intro.json @@ -0,0 +1,19 @@ +{ + "category": "actuallyadditions:getting_started", + "icon": "actuallyadditions:booklet", + "name": "booklet.actuallyadditions.chapter.intro", + "pages": [ + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.intro.text.1" + }, + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.intro.text.2" + }, + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.intro.text.3" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/tutorial.json b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/tutorial.json new file mode 100644 index 000000000..60a812c1f --- /dev/null +++ b/src/generated/resources/assets/actuallyadditions/patchouli_books/booklet/en_us/entries/tutorial.json @@ -0,0 +1,25 @@ +{ + "category": "actuallyadditions:getting_started", + "icon": "actuallyadditions:booklet", + "name": "booklet.actuallyadditions.chapter.book_tutorial", + "pages": [ + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.book_tutorial.text.1" + }, + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.book_tutorial.text.2" + }, + { + "type": "patchouli:text", + "text": "booklet.actuallyadditions.chapter.book_tutorial.text.3" + }, + { + "type": "patchouli:crafting", + "recipe": "actuallyadditions:booklet", + "text": "booklet.actuallyadditions.shapeless_recipe", + "title": "" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/actuallyadditions/patchouli_books/booklet/book.json b/src/generated/resources/data/actuallyadditions/patchouli_books/booklet/book.json new file mode 100644 index 000000000..5cbe778f8 --- /dev/null +++ b/src/generated/resources/data/actuallyadditions/patchouli_books/booklet/book.json @@ -0,0 +1,21 @@ +{ + "book_texture": "actuallyadditions:textures/gui/booklet/booklet.png", + "creative_tab": "actuallyadditions.tab", + "custom_book_item": "actuallyadditions:booklet", + "dont_generate_book": true, + "i18n": true, + "landing_text": "To be perfectly honest, I never actually realized how much content Actually Additions has before. - Ellpeck", + "macros": { + "": "$(o)", + "": "$(2)", + "": "$(9)", + "": "$(br)", + "": "$()", + "": "$(4)$(n)" + }, + "name": "booklet.actuallyadditions.item.actuallyadditions.booklet", + "show_progress": false, + "use_blocky_font": false, + "use_resource_pack": true, + "version": "153" +} \ No newline at end of file diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java b/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java index 8b1ca59c3..cfd65a3f7 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java +++ b/src/main/java/de/ellpeck/actuallyadditions/data/ActuallyAdditionsData.java @@ -1,5 +1,6 @@ package de.ellpeck.actuallyadditions.data; +import de.ellpeck.actuallyadditions.data.patchouli.PachouliGenerator; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.gen.ActuallyBiomeModifiers; import de.ellpeck.actuallyadditions.mod.gen.ActuallyConfiguredFeatures; @@ -61,6 +62,8 @@ public class ActuallyAdditionsData { generator.addProvider(true, new SoundsGenerator(packOutput, helper)); + generator.addProvider(true, new PachouliGenerator(packOutput)); + generator.addProvider(event.includeServer(), new DatapackBuiltinEntriesProvider( packOutput, patchedProvider, Set.of(ActuallyAdditions.MODID))); } diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/ItemModelGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/data/ItemModelGenerator.java index e27416615..9efc2ca58 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/data/ItemModelGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/data/ItemModelGenerator.java @@ -29,7 +29,7 @@ public class ItemModelGenerator extends ItemModelProvider { @Override protected void registerModels() { // Items - //simpleItem(ActuallyItems.BOOKLET); // will require complex I think + simpleItem(ActuallyItems.ITEM_BOOKLET); // will require complex I think // All items? ActuallyItems.SIMPLE_ITEMS.forEach(this::simpleItem); diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/patchouli/PachouliGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/data/patchouli/PachouliGenerator.java new file mode 100644 index 000000000..27fed35b1 --- /dev/null +++ b/src/main/java/de/ellpeck/actuallyadditions/data/patchouli/PachouliGenerator.java @@ -0,0 +1,76 @@ +package de.ellpeck.actuallyadditions.data.patchouli; + +import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; +import de.ellpeck.actuallyadditions.mod.items.ActuallyItems; +import net.minecraft.data.PackOutput; +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.PatchouliBookProvider; + +import java.util.function.Consumer; + +public class PachouliGenerator extends PatchouliBookProvider { + + public PachouliGenerator(PackOutput output) { + super(output, ActuallyAdditions.MODID, "en_us"); + } + + @Override + protected void addBooks(Consumer consumer) { + final ItemStack bookStack = ActuallyItems.ITEM_BOOKLET.get().getDefaultInstance(); + + BookBuilder bookBuilder = createBookBuilder("booklet", + prefix("item.actuallyadditions.booklet"), "To be perfectly honest, I never actually realized how much content Actually Additions has before. - Ellpeck") + .setVersion("153") + .setCreativeTab("actuallyadditions.tab") + .setCustomBookItem(bookStack) + .setBookTexture("actuallyadditions:textures/gui/booklet/booklet.png") + .setShowProgress(false) + .setUseBlockyFont(false) + .setI18n(true) + .setDontGenerateBook(true) + .addMacro("", "$(2)") + .addMacro("", "$(9)") + .addMacro("", "$()") + .addMacro("", "$(br)") + .addMacro("", "$(o)") + .addMacro("", "$(4)$(n)") + .setUseResourcePack(true); + + + //Getting Started + CategoryBuilder gettingStarted = bookBuilder.addCategory("getting_started", prefix("indexEntry.getting_started"), + "", bookStack); + + gettingStarted.addEntry("tutorial", prefix("chapter.book_tutorial"), bookStack) + .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(); + 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() + .addTextPage(prefix("chapter.video_guide.booty.text.2")).build() + .addLinkPage("https://www.youtube.com/playlist?list=PLJeFZ64pT89MrTRZYzD_rtHFajPVlt6cF", prefix("chapter.video_guide.booty.button")) + .setText(prefix("chapter.video_guide.dire.text.1")).build() + .addTextPage(prefix("chapter.video_guide.dire.text.2")).build(); + + 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(); + + //End of Getting Started + + + //Finish book + bookBuilder.build(consumer); + } + + private String prefix(String name) { + return "booklet.actuallyadditions." + name; + } +} diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java index fd7c45bfe..79451930d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemBooklet.java @@ -76,6 +76,8 @@ public class ItemBooklet extends ItemBase implements IHudDisplay { if (advancement != null && !advancements.getOrStartProgress(advancement).isDone()) { advancements.award(advancement, "right_click"); } + } else { + vazkii.patchouli.api.PatchouliAPI.get().openBookGUI(new ResourceLocation(ActuallyAdditions.MODID, "booklet")); } // player.openGui(ActuallyAdditions.INSTANCE, GuiHandler.GuiTypes.BOOK.ordinal(), world, (int) player.posX, (int) player.posY, (int) player.posZ); // @@ -89,11 +91,11 @@ public class ItemBooklet extends ItemBase implements IHudDisplay { @OnlyIn(Dist.CLIENT) @Override public void appendHoverText(ItemStack stack, @Nullable Level playerIn, List tooltip, TooltipFlag advanced) { - tooltip.add(Component.translatable("tooltip." + ActuallyAdditions.MODID + "." + this.getDescription().getString() + ".desc")); + tooltip.add(Component.translatable("tooltip." + ActuallyAdditions.MODID + ".item_booklet.desc").withStyle(ChatFormatting.GRAY)); // TODO: this is bad for (int i = 1; i <= 4; i++) { - tooltip.add(Component.translatable("tooltip." + ActuallyAdditions.MODID + "." + this.getDescription().getString() + ".sub." + i).withStyle(i == 4 + tooltip.add(Component.translatable("tooltip." + ActuallyAdditions.MODID + ".item_booklet.sub." + i).withStyle(i == 4 ? ChatFormatting.GOLD : ChatFormatting.RESET).withStyle(i == 4 ? ChatFormatting.ITALIC diff --git a/src/main/resources/assets/actuallyadditions/lang/en_us.json b/src/main/resources/assets/actuallyadditions/lang/en_us.json index 69904bd4a..5f890bf84 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_us.json +++ b/src/main/resources/assets/actuallyadditions/lang/en_us.json @@ -648,16 +648,16 @@ "achievement.actuallyadditions.completeTrials": "A Botanist's Dream", "achievement.actuallyadditions.completeTrials.desc": "Complete all Trials in the Manual", "_comment": "Booklet Recipe Names", - "booklet.actuallyadditions.shapelessRecipe": "Shapeless Recipe", - "booklet.actuallyadditions.shapedRecipe": "Shaped Recipe", - "booklet.actuallyadditions.shapelessOreRecipe": "Shapeless OreDict Recipe", - "booklet.actuallyadditions.shapedOreRecipe": "Shaped OreDict Recipe", - "booklet.actuallyadditions.empowererRecipe": "Empowerer Recipe", - "booklet.actuallyadditions.crusherRecipe": "Crusher Recipe", - "booklet.actuallyadditions.furnaceRecipe": "Furnace Recipe", - "booklet.actuallyadditions.reconstructorRecipe": "Atomic Reconstructor Recipe", + "booklet.actuallyadditions.shapeless_recipe": "Shapeless Recipe", + "booklet.actuallyadditions.shaped_recipe": "Shaped Recipe", + "booklet.actuallyadditions.shapeless_ore_recipe": "Shapeless OreDict Recipe", + "booklet.actuallyadditions.shapedore_recipe": "Shaped OreDict Recipe", + "booklet.actuallyadditions.empowerer_recipe": "Empowerer Recipe", + "booklet.actuallyadditions.crusher_recipe": "Crusher Recipe", + "booklet.actuallyadditions.furnace_recipe": "Furnace Recipe", + "booklet.actuallyadditions.reconstructor_recipe": "Atomic Reconstructor Recipe", "_comment": "Booklet Entries", - "booklet.actuallyadditions.indexEntry.gettingStarted": "Getting Started", + "booklet.actuallyadditions.indexEntry.getting_started": "Getting Started", "booklet.actuallyadditions.indexEntry.misc": "Miscellaneous", "booklet.actuallyadditions.indexEntry.crossover": "Mod Crossover", "booklet.actuallyadditions.indexEntry.functionalNoRF": "Blocks that don't use CF", @@ -847,10 +847,10 @@ "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.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.bookTutorial": "Intro to the Manual", - "booklet.actuallyadditions.chapter.bookTutorial.text.1": "The Actually Additions Manual, the book you are looking at right now, contains a variety of useful information about all of the items. Once you get the hang of it, it is very easy to navigate. Here is a quick rundown: While you are in a chapter, like this one, you can use the white buttons at the bottom to turn the page back or forwards. This can also be done by using the scroll wheel. Chapters, however, aren't the only thing that this book consists of.", - "booklet.actuallyadditions.chapter.bookTutorial.text.2": "Were you to go back a level via the buttom on the top left or via right-clicking, you would find yourself inside an entry. Entries contain all chapters that are related to a specific topic. Here, you can also turn pages and click the items on the page. Were you to go back another level (again, via the button on the top left or right-clicking), you would find yourself on the main page of the manual. Turn the page now via the button on the bottom right.", - "booklet.actuallyadditions.chapter.bookTutorial.text.3": "On the main page, you can see (and click on!) a list of all of the entries. The bookmarks are placed at the bottom of the booklet. While you are in a chapter, you can bookmark the page you are currently on for later viewing. The booklet also has a lot of other functions, though. Look around in the GUI to explore them all! Now press the back button on the top left or right-click to leave this chapter.", + "booklet.actuallyadditions.chapter.book_tutorial": "Intro to the Manual", + "booklet.actuallyadditions.chapter.book_tutorial.text.1": "The Actually Additions Manual, the book you are looking at right now, contains a variety of useful information about all of the items. Once you get the hang of it, it is very easy to navigate. Here is a quick rundown: While you are in a chapter, like this one, you can use the white buttons at the bottom to turn the page back or forwards. This can also be done by using the scroll wheel. Chapters, however, aren't the only thing that this book consists of.", + "booklet.actuallyadditions.chapter.book_tutorial.text.2": "Were you to go back a level via the buttom on the top left or via right-clicking, you would find yourself inside an entry. Entries contain all chapters that are related to a specific topic. Here, you can also turn pages and click the items on the page. Were you to go back another level (again, via the button on the top left or right-clicking), you would find yourself on the main page of the manual. Turn the page now via the button on the bottom right.", + "booklet.actuallyadditions.chapter.book_tutorial.text.3": "On the main page, you can see (and click on!) a list of all of the entries. The bookmarks are placed at the bottom of the booklet. While you are in a chapter, you can bookmark the page you are currently on for later viewing. The booklet also has a lot of other functions, though. Look around in the GUI to explore them all! Now press the back button on the top left or right-click to leave this chapter.", "booklet.actuallyadditions.chapter.reconstructorLenses": "Intro to Lenses", "booklet.actuallyadditions.chapter.reconstructorLenses.text.1": "The Atomic Reconstructor, by default, can only convert some blocks. This can be changed, however, with Lenses. They can be attached to the Reconstructor via right-clicking with them in hand. To remove them, right-click with an empty hand. They all use a different amount of power and will only activate once they have it. Lenses have lots of different features and uses, as you can see in this chapter. However, there are also some other useful recipes too.", "booklet.actuallyadditions.chapter.additionalRecipes": "Additional Recipes", @@ -908,11 +908,13 @@ "booklet.actuallyadditions.chapter.displayStand.text.2": "The Leaf Blower and Advanced Leaf Blower can be placed onto the display stand, resulting in the grass and leaves around it to be blown away. Potion Rings can be placed onto the display stand. The normal version will give the specified potion effect to only one living entity in a small area, while the advanced version will give a potion effect to all living entities in a big area while using up a significant amount of CF.", "booklet.actuallyadditions.chapter.itemFilter": "Item Filter", "booklet.actuallyadditions.chapter.itemFilter.text.1": "The Item Filter can be used in Advanced Item Laser Relays, ESDs and Ranged Collectors to enlargen the size of their whitelist. This can be done by right-clicking with the filter in hand and placing items to be filtered inside of it. The filter can then be placed into any whitelist slot in the desired machine. For more information on this, hover over the whitelist buttons in the GUIs of whitelistable machines!", - "booklet.actuallyadditions.chapter.videoGuide": "A Video Guide", - "booklet.actuallyadditions.chapter.videoGuide.text.1": "If you want to have a visual introduction to see what Actually Additions has to offer, you can watch this really awesome video by a friend of mine, Booty Toast (yes, weird name, I know). His video covers most of the main stuff the mod has to offer, however it is a bit outdated and doesn't cover everything. It's still a great introduction to the mod though.", - "booklet.actuallyadditions.chapter.videoGuide.button.1": "BootyToast's Video", - "booklet.actuallyadditions.chapter.videoGuide.text.2": "There is also the second option, a playlist consisting of a spotlight by Direwolf20. It is a bit more recent than the other video, however, it is substantially longer and provides a more detailed overview. So you have the choice: The quicker introduction on the left or the longer, more in-depth introduction down below.", - "booklet.actuallyadditions.chapter.videoGuide.button.2": "Direwolf's Playlist", + "booklet.actuallyadditions.chapter.video_guide": "A Video Guide", + "booklet.actuallyadditions.chapter.video_guide.booty.text.1": "If you want to have a visual introduction to see what Actually Additions has to offer, you can watch this really awesome video by a friend of mine, Booty Toast (yes, weird name, I know).", + "booklet.actuallyadditions.chapter.video_guide.booty.text.2": "His video covers most of the main stuff the mod has to offer, however it is a bit outdated and doesn't cover everything. It's still a great introduction to the mod though.", + "booklet.actuallyadditions.chapter.video_guide.booty.button": "BootyToast's Video", + "booklet.actuallyadditions.chapter.video_guide.dire.text.1": "There is also the second option, a playlist consisting of a spotlight by Direwolf20. It is a bit more recent than the other video, however, it is substantially longer and provides a more detailed overview. So you have the choice: The quicker introduction", + "booklet.actuallyadditions.chapter.video_guide.dire.text.2": "on the left or the longer, more in-depth introduction down below.", + "booklet.actuallyadditions.chapter.video_guide.dire.button": "Direwolf's Playlist", "booklet.actuallyadditions.chapter.shockSuppressor": "Shock Absorber", "booklet.actuallyadditions.chapter.shockSuppressor.text.1": "The Shock Absorber is a block that, when supplied with CF, it will protect an area of up to blocks around it from any type of Explosion, be it ghasts, TNT or creepers. Every block that is protected will result in a loss of CF.", "booklet.actuallyadditions.chapter.shockSuppressor.text.2": "Credit where credit is due: Or something like that. Anyways, this thing was thought up and suggested to me by praetoras. Thanks for that brilliant idea! What's a fourth wall..?", diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/booklet/booklet.png b/src/main/resources/assets/actuallyadditions/textures/gui/booklet/booklet.png new file mode 100644 index 0000000000000000000000000000000000000000..96e72bfe50d56ded7d2b9a09213b5bbad41d12de GIT binary patch literal 17771 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 Date: Wed, 6 Mar 2024 00:13:01 +0100 Subject: [PATCH 3/3] Fix item filter title --- .../ellpeck/actuallyadditions/mod/inventory/gui/GuiFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFilter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFilter.java index 20f263572..19bc43f48 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFilter.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiFilter.java @@ -37,7 +37,7 @@ public class GuiFilter extends AAScreen { @Override public void renderLabels(@Nonnull GuiGraphics guiGraphics, int x, int y) { - AssetUtil.displayNameString(guiGraphics, this.font, this.imageWidth, -10, I18n.get("container." + ActuallyAdditions.MODID + ".filter.name")); + AssetUtil.displayNameString(guiGraphics, this.font, this.imageWidth, -10, I18n.get("container." + ActuallyAdditions.MODID + ".filter")); } @Override