From 449f01d9ab7e1d34afb1217264c83990d95bcdab Mon Sep 17 00:00:00 2001 From: Emanuel Ferraz Date: Tue, 7 Nov 2023 20:07:42 +0000 Subject: [PATCH] fix: Use spell grid component on tutorial as well as fixing Fixes #742 #787 Introduces parchment as well, in order to have better name parameters --- build.gradle | 3 + build.properties | 4 +- .../client/patchouli/SpellGridComponent.java | 32 +++-- src/main/resources/assets/psi/lang/en_us.json | 4 +- .../en_us/entries/basics/eval_order.json | 27 ++--- .../en_us/entries/basics/tutorial_1.json | 8 +- .../en_us/entries/basics/tutorial_3.json | 25 ++-- .../en_us/entries/basics/tutorial_4.json | 9 +- .../en_us/entries/basics/tutorial_6.json | 9 +- .../en_us/entries/items/circle_bullet.json | 18 +-- .../en_us/templates/spell_grid.json | 18 +-- .../en_us/templates/spellpiece_spotlight.json | 2 +- .../gui/entries/circle_bullet_20b_tower.png | Bin 1083 -> 0 bytes .../gui/entries/circle_bullet_circlesync.png | Bin 1162 -> 0 bytes .../psi/textures/gui/entries/eval_order_1.png | Bin 878 -> 0 bytes .../psi/textures/gui/entries/eval_order_2.png | Bin 1412 -> 0 bytes .../psi/textures/gui/entries/eval_order_3.png | Bin 1038 -> 0 bytes .../textures/gui/entries/tutorial_1_spell.png | Bin 852 -> 0 bytes .../textures/gui/entries/tutorial_3_chain.png | Bin 1034 -> 0 bytes .../gui/entries/tutorial_3_connector.png | Bin 775 -> 0 bytes .../gui/entries/tutorial_3_tooltip.png | Bin 1269 -> 0 bytes .../textures/gui/entries/tutorial_4_spell.png | Bin 1007 -> 0 bytes .../textures/gui/entries/tutorial_5_stats.png | Bin 995 -> 5622 bytes .../textures/gui/entries/tutorial_6_spell.png | Bin 1089 -> 0 bytes .../c/categories/basics.json | 6 - .../c/categories/components.json | 6 - .../c/categories/items.json | 6 - .../c/categories/legacy.json | 6 - .../c/entries/basics/cad_assembler.json | 40 ------- .../c/entries/basics/eval_order.json | 51 -------- .../c/entries/basics/introduction.json | 16 --- .../c/entries/basics/spell_programmer.json | 16 --- .../c/entries/basics/tutorial_1.json | 76 ------------ .../c/entries/basics/tutorial_2.json | 28 ----- .../c/entries/basics/tutorial_3.json | 76 ------------ .../c/entries/basics/tutorial_4.json | 44 ------- .../c/entries/basics/tutorial_5.json | 70 ----------- .../c/entries/basics/tutorial_6.json | 72 ------------ .../c/entries/basics/vector_primer.json | 110 ------------------ .../c/entries/components/assembly.json | 75 ------------ .../c/entries/components/battery.json | 33 ------ .../c/entries/components/colorizer.json | 24 ---- .../c/entries/components/core.json | 75 ------------ .../c/entries/components/ebony_ivory.json | 37 ------ .../c/entries/components/psidust.json | 18 --- .../c/entries/components/psigem.json | 18 --- .../c/entries/components/psimetal.json | 18 --- .../c/entries/components/socket.json | 75 ------------ .../c/entries/items/basic_bullet.json | 16 --- .../c/entries/items/charge_bullet.json | 24 ---- .../c/entries/items/circle_bullet.json | 64 ---------- .../c/entries/items/detonator.json | 16 --- .../c/entries/items/exosuit.json | 83 ------------- .../c/entries/items/exosuit_sensor.json | 75 ------------ .../c/entries/items/grenade_bullet.json | 24 ---- .../c/entries/items/loopcast_bullet.json | 32 ----- .../c/entries/items/mine_bullet.json | 24 ---- .../c/entries/items/projectile_bullet.json | 24 ---- .../c/entries/items/spell_bullet.json | 59 ---------- .../c/entries/items/spell_drive.json | 21 ---- .../c/entries/items/tools.json | 28 ----- .../c/entries/items/vector_ruler.json | 25 ---- .../c/entries/legacy/block_conjuration.json | 19 --- .../c/entries/legacy/block_movement.json | 15 --- .../c/entries/legacy/blockworks.json | 43 ------- .../c/entries/legacy/detection_dynamics.json | 35 ------ .../c/entries/legacy/eidos_manipulation.json | 23 ---- .../c/entries/legacy/elemental_arts.json | 15 --- .../c/entries/legacy/entities101.json | 11 -- .../c/entries/legacy/flow_control.json | 39 ------- .../c/entries/legacy/memory_management.json | 23 ---- .../c/entries/legacy/movement_advances.json | 15 --- .../c/entries/legacy/negative_effects.json | 11 -- .../c/entries/legacy/positive_effects.json | 15 --- .../c/entries/legacy/secondary_operators.json | 19 --- .../c/entries/legacy/smeltery.json | 15 --- .../c/entries/legacy/trigonometry.json | 15 --- .../c/entries/legacy/vectors101.json | 15 --- 78 files changed, 62 insertions(+), 1936 deletions(-) delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/circle_bullet_20b_tower.png delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/circle_bullet_circlesync.png delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/eval_order_1.png delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/eval_order_2.png delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/eval_order_3.png delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/tutorial_1_spell.png delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/tutorial_3_chain.png delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/tutorial_3_connector.png delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/tutorial_3_tooltip.png delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/tutorial_4_spell.png delete mode 100644 src/main/resources/assets/psi/textures/gui/entries/tutorial_6_spell.png delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/basics.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/components.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/items.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/legacy.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/cad_assembler.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/eval_order.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/introduction.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/spell_programmer.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_1.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_2.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_3.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_4.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_5.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_6.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/vector_primer.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/assembly.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/battery.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/colorizer.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/core.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/ebony_ivory.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psidust.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psigem.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psimetal.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/socket.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/basic_bullet.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/charge_bullet.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/circle_bullet.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/detonator.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/exosuit.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/exosuit_sensor.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/grenade_bullet.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/loopcast_bullet.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/mine_bullet.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/projectile_bullet.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/spell_bullet.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/spell_drive.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/tools.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/vector_ruler.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/block_conjuration.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/block_movement.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/blockworks.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/detection_dynamics.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/eidos_manipulation.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/elemental_arts.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/entities101.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/flow_control.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/memory_management.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/movement_advances.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/negative_effects.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/positive_effects.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/secondary_operators.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/smeltery.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/trigonometry.json delete mode 100644 src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/vectors101.json diff --git a/build.gradle b/build.gradle index d3ae53bc5..8480bd802 100644 --- a/build.gradle +++ b/build.gradle @@ -3,10 +3,12 @@ buildscript { maven { url = 'https://maven.minecraftforge.net' } maven { url = 'https://repo.spongepowered.org/maven' } mavenCentral() + maven { url = 'https://maven.parchmentmc.org' } } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1+', changing: true classpath group: 'org.spongepowered', name: 'mixingradle', version: '0.7-SNAPSHOT' + classpath 'org.parchmentmc:librarian:1.+' } } @@ -15,6 +17,7 @@ plugins { } apply plugin: 'net.minecraftforge.gradle' +apply plugin: 'org.parchmentmc.librarian.forgegradle' apply plugin: 'org.spongepowered.mixin' apply plugin: 'eclipse' apply plugin: 'maven-publish' diff --git a/build.properties b/build.properties index eef607a55..490f12b7a 100644 --- a/build.properties +++ b/build.properties @@ -1,5 +1,5 @@ #Sun Apr 09 14:41:44 WEST 2023 -mapping_channel=official +mapping_channel=parchment mod_id=psi forge_version=43.3.0 jei_version=11.6.0.1013 @@ -7,6 +7,6 @@ build_number=99 patchy_version=1.19.2-77 dir_output=../Build Output/Psi/ version=1.19 -mapping_version=1.19.2 +mapping_version=2022.11.27-1.19.2 mod_name=Psi mc_version=1.19.2 \ No newline at end of file diff --git a/src/main/java/vazkii/psi/client/patchouli/SpellGridComponent.java b/src/main/java/vazkii/psi/client/patchouli/SpellGridComponent.java index 29726b85c..0fcf20738 100644 --- a/src/main/java/vazkii/psi/client/patchouli/SpellGridComponent.java +++ b/src/main/java/vazkii/psi/client/patchouli/SpellGridComponent.java @@ -8,11 +8,13 @@ */ package vazkii.psi.client.patchouli; +import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.brigadier.exceptions.CommandSyntaxException; import net.minecraft.client.renderer.MultiBufferSource; +import net.minecraft.client.resources.language.I18n; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.TagParser; import net.minecraft.util.StringUtil; @@ -26,13 +28,13 @@ import java.util.function.UnaryOperator; +import static vazkii.psi.client.gui.GuiProgrammer.texture; + public class SpellGridComponent implements ICustomComponent { - private transient int x, y; - private transient boolean isDownscaled; private transient SpellGrid grid; + private transient String spellName; public IVariable spell; - public IVariable halfsize; @Override public void build(int componentX, int componentY, int pageNum) { @@ -47,20 +49,31 @@ public void build(int componentX, int componentY, int pageNum) { throw new IllegalArgumentException("Invalid spell string: " + spell); } grid = fromNBT.grid; + spellName = fromNBT.name; } catch (CommandSyntaxException e) { throw new IllegalArgumentException("Invalid spell string: " + spell, e); } - isDownscaled = halfsize.asBoolean(false); } @Override public void render(PoseStack ms, IComponentRenderContext context, float pticks, int mouseX, int mouseY) { - float scale = isDownscaled ? 0.5f : 1.0f; + float scale = 0.65f; - MultiBufferSource.BufferSource buffer = MultiBufferSource.immediate(Tesselator.getInstance().getBuilder()); ms.pushPose(); - ms.translate(x, y, 0); - ms.scale(scale, scale, scale); + ms.scale(scale, scale, 0f); + + // Draw the Programmer BG + RenderSystem.setShaderColor(1F, 1F, 1F, 1F); + RenderSystem.setShaderTexture(0, texture); + context.getGui().blit(ms, 0, 0, 0, 0, 174, 184); + + // Draw the name label and spell name + context.getGui().getMinecraft().font.drawShadow(ms, I18n.get("psimisc.name"), 7, 171, 0xFFFFFF); + context.getGui().getMinecraft().font.drawShadow(ms, spellName, 44, 170, 0xFFFFFF); + + // Pad the spell pieces and draw them + ms.translate(7f, 7f, 0f); + MultiBufferSource.BufferSource buffer = MultiBufferSource.immediate(Tesselator.getInstance().getBuilder()); grid.draw(ms, buffer, 0xF000F0); buffer.endBatch(); @@ -72,7 +85,7 @@ public void render(PoseStack ms, IComponentRenderContext context, float pticks, SpellPiece[] data = gridData[i]; for(int j = 0; j < data.length; j++) { SpellPiece piece = data[j]; - if(piece != null && context.isAreaHovered(mouseX, mouseY, (int) (x + i * scaledSize), (int) (y + j * scaledSize), scaledHoverSize, scaledHoverSize)) { + if(piece != null && context.isAreaHovered(mouseX, mouseY, (int) (4 + i * scaledSize), (int) (4 + j * scaledSize), scaledHoverSize, scaledHoverSize)) { PatchouliUtils.setPieceTooltip(context, piece); } } @@ -83,6 +96,5 @@ public void render(PoseStack ms, IComponentRenderContext context, float pticks, @Override public void onVariablesAvailable(UnaryOperator lookup) { spell = lookup.apply(spell); - halfsize = lookup.apply(halfsize); } } diff --git a/src/main/resources/assets/psi/lang/en_us.json b/src/main/resources/assets/psi/lang/en_us.json index feef2906a..1c18fb25b 100644 --- a/src/main/resources/assets/psi/lang/en_us.json +++ b/src/main/resources/assets/psi/lang/en_us.json @@ -627,7 +627,7 @@ "psi.datatype.entity": "Entity", "psi.datatype.living_entity": "Entity (Living)", "psi.datatype.living_entity_base": "Entity (Living)", - "psi.datatype.player_entity": "Entity (Player, Living)", + "psi.datatype.player": "Entity (Player, Living)", "psi.datatype.entity_list_wrapper": "Entity List", "psi.spellerror.nospell": "No Spell to compile", "psi.spellerror.invalid_base": "ERROR: Cannot interpret bases below 2", @@ -829,7 +829,7 @@ "psi.book.page.tutorial4.7": "Copy the $(thing)Spell$(0) into your $(thing)CAD$(0), look straight ahead, and cast. If you get thrown forward, then congratulations! You've just finished writing your first real $(thing)Spell$(0)!$(p)$(o)Note: Casting your new $(thing)Spell$(0) too many times in a row might be bad for your health. More on this in $(l:basics/tutorial_5)the next tutorial$(/l).$()", "psi.book.entry.tutorial5": "Tutorial (5): Limits", "psi.book.page.tutorial5.0": "Open your $(l:basics/spell_programmer)$(o)$(item)Spell Programmer$(0)$(/l) again, and review the $(thing)Spell$(0) you wrote in $(l:basics/tutorial_4)the last tutorial$(/l).$(p)When it compiled correctly, you should have seen five icons appear to the right of the grid, each with two numbers. These numerical stats define the practical limits on exactly what $(thing)Spells$(0) you're able to cast.", - "psi.book.page.tutorial5.1": "The stats for your Add Motion $(thing)Spell$(0) (assuming your constant was 3)", + "psi.book.page.tutorial5.1": "The stats for your Add Motion $(thing)Spell$(0) (assuming your constant was 2)", "psi.book.subsec.tutorial5.2": "Complexity", "psi.book.page.tutorial5.2": "The first stat is $(thing)Complexity$(0), the total number of $(thing)Operators$(0), $(thing)Selectors$(0), and non-debug $(thing)Tricks$(0) in the $(thing)Spell$(0).$(p)Its maximum value is determined by the $(l:components/core)$(o)$(item)CAD Core$(0)$(/l) you have installed; if a $(thing)Spell$(0)'s $(thing)Complexity$(0) exceeds your $(thing)CAD$(0)'s capacity, it won't be castable.", "psi.book.subsec.tutorial5.3": "Potency", diff --git a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/eval_order.json b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/eval_order.json index c00d61618..a170d7a9b 100644 --- a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/eval_order.json +++ b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/eval_order.json @@ -16,36 +16,27 @@ "text": "psi.book.page.evalOrder.2" }, { - "type": "image", - "text": "psi.book.page.evalOrder.3", - "images": [ - "psi:textures/gui/entries/eval_order_1.png" - ], - "border": false + "type": "psi:spell_grid", + "spell": "{modsRequired:[{modName:\"psi\",modVersion:\"2.0.0\"}],spellList:[{data:{key:\"psi:trick_debug\",params:{_number:0,_target:4}},x:1,y:2},{data:{key:\"psi:trick_debug\",params:{_number:0,_target:4}},x:1,y:6},{data:{constantValue:\"1\",key:\"psi:constant_number\"},x:2,y:2},{data:{constantValue:\"3\",key:\"psi:constant_number\"},x:2,y:6},{data:{key:\"psi:trick_debug\",params:{_number:0,_target:4}},x:6,y:2},{data:{key:\"psi:trick_debug\",params:{_number:0,_target:4}},x:6,y:6},{data:{constantValue:\"2\",key:\"psi:constant_number\"},x:7,y:2},{data:{constantValue:\"4\",key:\"psi:constant_number\"},x:7,y:6}],spellName:\"Rule 1\",uuidLeast:-8740135302326498868L,uuidMost:4572508895319312811L,validSpell:1b}", + "text": "psi.book.page.evalOrder.3" }, { "type": "text", "text": "psi.book.page.evalOrder.4" }, { - "type": "image", - "text": "psi.book.page.evalOrder.5", - "images": [ - "psi:textures/gui/entries/eval_order_2.png" - ], - "border": false + "type": "psi:spell_grid", + "spell": "{modsRequired:[{modName:\"psi\",modVersion:\"2.0.0\"}],spellList:[{data:{constantValue:\"1\",key:\"psi:constant_number\"},x:1,y:5},{data:{key:\"psi:operator_entity_look\",params:{_target:1}},x:1,y:6},{data:{constantValue:\"0\",key:\"psi:constant_number\"},x:2,y:2},{data:{key:\"psi:trick_debug\",params:{_number:0,_target:1}},x:2,y:3},{data:{key:\"psi:operator_absolute\",params:{_target:2}},x:2,y:5},{data:{key:\"psi:selector_caster\"},x:2,y:6},{data:{key:\"psi:operator_vector_negate\",params:{_target:2}},x:6,y:2},{data:{key:\"psi:connector\",params:{_target:4}},x:6,y:3},{data:{key:\"psi:selector_caster\"},x:6,y:5},{data:{key:\"psi:operator_divide\",params:{_number1:1,_number2:4,_number3:0}},x:6,y:6},{data:{key:\"psi:connector\",params:{_target:3}},x:7,y:2},{data:{key:\"psi:connector\",params:{_target:1}},x:7,y:3},{data:{key:\"psi:selector_focal_point\"},x:7,y:6}],spellName:\"Undefined Behaviour\",uuidLeast:-8740135302326498868L,uuidMost:4572508895319312811L,validSpell:1b}", + "text": "psi.book.page.evalOrder.5" }, { "type": "text", "text": "psi.book.page.evalOrder.6" }, { - "type": "image", - "text": "psi.book.page.evalOrder.7", - "images": [ - "psi:textures/gui/entries/eval_order_3.png" - ], - "border": false + "type": "psi:spell_grid", + "spell": "{modsRequired:[{modName:\"psi\",modVersion:\"2.0.0\"}],spellList:[{data:{key:\"psi:trick_debug\",params:{_number:0,_target:2}},x:3,y:3},{data:{key:\"psi:connector\",params:{_target:4}},x:3,y:4},{data:{key:\"psi:trick_debug\",params:{_number:0,_target:1}},x:3,y:5},{data:{constantValue:\"1\",key:\"psi:constant_number\"},x:4,y:3},{data:{key:\"psi:operator_random\",params:{_max:1,_min:0}},x:4,y:4},{data:{key:\"psi:trick_debug_spamless\",params:{_number:0,_target:2}},x:5,y:3},{data:{key:\"psi:connector\",params:{_target:3}},x:5,y:4},{data:{key:\"psi:trick_debug_spamless\",params:{_number:0,_target:1}},x:5,y:5}],spellName:\"Rule 3\",uuidLeast:-4674464373897948180L,uuidMost:-1782855518829395229L,validSpell:1b}", + "text": "psi.book.page.evalOrder.7" } ] } \ No newline at end of file diff --git a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_1.json b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_1.json index 84bdfbdeb..ff526e5f4 100644 --- a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_1.json +++ b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_1.json @@ -58,12 +58,8 @@ "text": "psi.book.page.tutorial1.12" }, { - "type": "image", - "text": "psi.book.page.tutorial1.13", - "images": [ - "psi:textures/gui/entries/tutorial_1_spell.png" - ], - "border": true + "type": "psi:spell_grid", + "spell": "{modsRequired:[{modName:\"psi\",modVersion:\"2.0.0\"}],spellList:[{data:{key:\"psi:selector_caster\"},x:4,y:4},{data:{key:\"psi:trick_debug\",params:{_number:0,_target:3}},x:5,y:4}],spellName:\"Debug\",uuidLeast:-8344502881889052755L,uuidMost:8904817452787319960L,validSpell:1b}" }, { "type": "text", diff --git a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_3.json b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_3.json index fb7b923e1..14c4c3d26 100644 --- a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_3.json +++ b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_3.json @@ -18,12 +18,9 @@ "text": "psi.book.page.tutorial3.2" }, { - "type": "image", - "text": "psi.book.page.tutorial3.3", - "images": [ - "psi:textures/gui/entries/tutorial_3_tooltip.png" - ], - "border": false + "type": "psi:spellpiece_spotlight", + "spellpiece": "psi:selector_caster", + "text": "psi.book.page.tutorial3.3" }, { "type": "text", @@ -54,24 +51,16 @@ "text": "psi.book.page.tutorial3.10" }, { - "type": "image", - "text": "psi.book.page.tutorial3.11", - "images": [ - "psi:textures/gui/entries/tutorial_3_connector.png" - ], - "border": false + "type": "psi:spell_grid", + "spell": "{modsRequired:[{modName:\"psi\",modVersion:\"2.0.0\"}],spellList:[{data:{key:\"psi:trick_debug\",params:{_number:0,_target:4}},x:3,y:4},{data:{key:\"psi:connector\",params:{_target:4}},x:4,y:4},{data:{key:\"psi:selector_caster\"},x:5,y:4}],spellName:\"Bridge to Terabithia\",uuidLeast:-8344502881889052755L,uuidMost:8904817452787319960L,validSpell:1b}" }, { "type": "text", "text": "psi.book.page.tutorial3.12" }, { - "type": "image", - "text": "psi.book.page.tutorial3.13", - "images": [ - "psi:textures/gui/entries/tutorial_3_chain.png" - ], - "border": false + "type": "psi:spell_grid", + "spell": "{modsRequired:[{modName:\"psi\",modVersion:\"2.0.0\"}],spellList:[{data:{key:\"psi:connector\",params:{_target:2}},x:2,y:3},{data:{constantValue:\"42\",key:\"psi:constant_number\"},x:2,y:4},{data:{key:\"psi:connector\",params:{_target:1}},x:2,y:5},{data:{key:\"psi:connector\",params:{_target:3}},x:3,y:3},{data:{key:\"psi:selector_caster\"},x:3,y:4},{data:{key:\"psi:connector\",params:{_target:3}},x:3,y:5},{data:{key:\"psi:connector\",params:{_target:3}},x:4,y:3},{data:{key:\"psi:connector\",params:{_target:3}},x:4,y:4},{data:{key:\"psi:connector\",params:{_target:3}},x:4,y:5},{data:{key:\"psi:connector\",params:{_target:3}},x:5,y:3},{data:{key:\"psi:trick_debug\",params:{_number:0,_target:3}},x:5,y:4},{data:{key:\"psi:connector\",params:{_target:3}},x:5,y:5},{data:{key:\"psi:connector\",params:{_target:3}},x:6,y:3},{data:{key:\"psi:trick_debug\",params:{_number:1,_target:2}},x:6,y:4},{data:{key:\"psi:connector\",params:{_target:3}},x:6,y:5}],spellName:\"The long way around\",uuidLeast:-8344502881889052755L,uuidMost:8904817452787319960L,validSpell:1b}" } ] } \ No newline at end of file diff --git a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_4.json b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_4.json index ae2ed2fde..4604da2be 100644 --- a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_4.json +++ b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_4.json @@ -30,12 +30,9 @@ "text": "psi.book.page.tutorial4.5" }, { - "type": "image", - "text": "psi.book.page.tutorial4.6", - "images": [ - "psi:textures/gui/entries/tutorial_4_spell.png" - ], - "border": false + "type": "psi:spell_grid", + "spell": "{modsRequired:[{modName:\"psi\",modVersion:\"2.0.0\"}],spellList:[{data:{constantValue:\"2\",key:\"psi:constant_number\"},x:3,y:4},{data:{key:\"psi:selector_caster\"},x:4,y:3},{data:{key:\"psi:trick_add_motion\",params:{_direction:4,_speed:3,_target:1}},x:4,y:4},{data:{key:\"psi:connector\",params:{_target:3}},x:5,y:3},{data:{key:\"psi:operator_entity_look\",params:{_target:1}},x:5,y:4}],spellName:\"Add motion\",uuidLeast:-8344502881889052755L,uuidMost:8904817452787319960L,validSpell:1b}", + "text": "psi.book.page.tutorial4.6" }, { "type": "text", diff --git a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_6.json b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_6.json index 8506b8808..5fa923f10 100644 --- a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_6.json +++ b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/basics/tutorial_6.json @@ -46,12 +46,9 @@ "text": "psi.book.page.tutorial6.9" }, { - "type": "image", - "text": "psi.book.page.tutorial6.10", - "images": [ - "psi:textures/gui/entries/tutorial_6_spell.png" - ], - "border": false + "type": "psi:spell_grid", + "spell": "{modsRequired:[{modName:\"psi\",modVersion:\"2.0.0\"}],spellList:[{data:{key:\"psi:selector_caster\"},x:3,y:3},{data:{key:\"psi:operator_entity_position\",params:{_target:1}},x:3,y:4},{data:{key:\"psi:operator_entity_look\",params:{_target:3}},x:4,y:3},{data:{key:\"psi:operator_vector_raycast\",params:{_max:0,_position:3,_ray:1}},x:4,y:4},{data:{key:\"psi:trick_explode\",params:{_position:1,_power:4}},x:4,y:5},{data:{constantValue:\"1.4\",key:\"psi:constant_number\"},x:5,y:5}],spellName:\"Explode\",uuidLeast:-8344502881889052755L,uuidMost:8904817452787319960L,validSpell:1b}", + "text": "psi.book.page.tutorial6.10" }, { "type": "text", diff --git a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/items/circle_bullet.json b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/items/circle_bullet.json index cb3a8f47c..b0126b73a 100644 --- a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/items/circle_bullet.json +++ b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/entries/items/circle_bullet.json @@ -35,12 +35,9 @@ "anchor": "circlesync" }, { - "type": "image", - "text": "psi.book.page.circleBullet.7", - "images": [ - "psi:textures/gui/entries/circle_bullet_circlesync.png" - ], - "border": false + "type": "psi:spell_grid", + "spell": "{modsRequired:[{modName:\"psi\",modVersion:\"2.0.0\"}],spellList:[{data:{key:\"psi:trick_delay\",params:{_time:2}},x:3,y:3},{data:{key:\"psi:constant_wrapper\",params:{_constant:2,_target:4}},x:3,y:4},{data:{constantValue:\"95\",key:\"psi:constant_number\"},x:3,y:5},{data:{key:\"psi:operator_subtract\",params:{_number1:2,_number2:4,_number3:0}},x:4,y:4},{data:{key:\"psi:connector\",params:{_target:3}},x:4,y:5},{data:{key:\"psi:selector_loopcast_index\"},x:5,y:3},{data:{key:\"psi:operator_multiply\",params:{_number1:1,_number2:2,_number3:0}},x:5,y:4},{data:{constantValue:\"5\",key:\"psi:constant_number\"},x:5,y:5}],spellName:\"Circlesync\",uuidLeast:-5666065845008046135L,uuidMost:-8982799496831941618L,validSpell:1b}", + "text": "psi.book.page.circleBullet.7" }, { "type": "text", @@ -53,12 +50,9 @@ "text": "psi.book.page.circleBullet.9" }, { - "type": "image", - "text": "psi.book.page.circleBullet.10", - "images": [ - "psi:textures/gui/entries/circle_bullet_20b_tower.png" - ], - "border": false + "type": "psi:spell_grid", + "spell": "{modsRequired:[{modName:\"psi\",modVersion:\"2.0.0\"}],spellList:[{data:{key:\"psi:trick_die\",params:{_target:4}},x:3,y:3},{data:{key:\"psi:selector_ruler_vector\"},x:3,y:4},{data:{key:\"psi:selector_block_presence\",params:{_position:2}},x:4,y:3},{data:{key:\"psi:operator_vector_sum\",params:{_vector1:4,_vector2:3,_vector3:0}},x:4,y:4},{data:{key:\"psi:selector_loopcast_index\"},x:5,y:3},{data:{key:\"psi:operator_vector_construct\",params:{_x:0,_y:1,_z:0}},x:5,y:4}],spellName:\"20-Bit Tower\",uuidLeast:-6418013341378361091L,uuidMost:8665330167676028379L,validSpell:1b}", + "text": "psi.book.page.circleBullet.10" } ] } \ No newline at end of file diff --git a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/templates/spell_grid.json b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/templates/spell_grid.json index 258c6e0a7..fa4335cc9 100644 --- a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/templates/spell_grid.json +++ b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/templates/spell_grid.json @@ -1,23 +1,9 @@ { "components": [ { - "type": "header", - "text": "#title", - "x": -1, - "y": -1 - }, - { - "type": "custom", + "type": "patchouli:custom", "class": "vazkii.psi.client.patchouli.SpellGridComponent", - "x": 5, - "y": 5, - "spell": "#spell", - "halfsize": "#halfsize" - }, - { - "type": "text", - "text": "#text", - "y": 100 + "spell": "#spell" } ] } diff --git a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/templates/spellpiece_spotlight.json b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/templates/spellpiece_spotlight.json index a2e1cee42..084e5a265 100644 --- a/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/templates/spellpiece_spotlight.json +++ b/src/main/resources/assets/psi/patchouli_books/encyclopaedia_psionica/en_us/templates/spellpiece_spotlight.json @@ -19,7 +19,7 @@ "texture_height": 128 }, { - "type": "custom", + "type": "patchouli:custom", "class": "vazkii.psi.client.patchouli.SpellPieceComponent", "x": 50, "y": 15, diff --git a/src/main/resources/assets/psi/textures/gui/entries/circle_bullet_20b_tower.png b/src/main/resources/assets/psi/textures/gui/entries/circle_bullet_20b_tower.png deleted file mode 100644 index ea6c3eb2119e80189d5911be4c48cdefa91c7da2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1083 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5FlkA;1l8sq*;N0Q=DC#m7AMe zR8&+(Mn=JLp=R(oEiEmBg$m~8=C)DaI0`Z-2po3M*;4**>!*WG^0J%wCVd8~-r>5c zKKjS!e^Y~*uOuFu$(Y2zthc*t!7K{_hQt}(M%TJd82tEmzG|2E-MlAH8eS{z{@=nR z%kttm+uI4b^AGPfwdXCk@$^?7FVHA3_^=-2D+nmq@$PdTZ@0j9m;e%eK zK|z5E8eBVo@WrQ_uJxCBwzAi(I{j_=u~=iV154x9Gd@XV)HAhh$d>EPonACaI6<{@ z?yVDD!m1xXs3%0;`hA}v>FA^bgI?b&{N53~*c_X#6 zTm8PqCR;2qvk&RyL=6U%iO}a09D)ioU{Yl9wo9+Ow zsNmf*#T9#ZbKKPWDBPgV=pp=q@rfowO5`Wo-JWYq|LuCi$hgYkk<05S#wkn8ZkNWY zYJXLi6j;C&G4WdQEsnTZZ^KSLJvBr9fuext>z6Vo^_aF=&R1F*6EsPYG390z!->w& zV8$#jbG3#wI~bOjOk6Wbm)Ai~LSfR8@>;p2&S~_IS<48W7EJ zdp+-h(!)#|f9FfvGHP7bcbb(VSatW03B!4gk39nYCoyA!LB~nQ=?)WW^niKY0(fFo z4pW1U)B9_G()RO|3A80jR5|W*3B7gjf4z3$29b-W{jORy9-Mj7uQEkchi$|Db?hH@ zgxmlcQ64_k#`yl%n;RWY%QyPXXDpbpa}`5GT6e>gjm6#!ws-s(4p?lGwuzB;(1`Ph z*do4V)9+^tQT+XW0uNW5F=lwO;~7WrEe7*8rUwD$YkYiWGfUXoNI70uZ0yfq(W`Jk zgEz9Dp*d#34BicA886sg`Etr;K4aqcS>IV4W?g#wmhs8!_z_bo`m)78&qol`;+ E0E{<|Z~y=R diff --git a/src/main/resources/assets/psi/textures/gui/entries/circle_bullet_circlesync.png b/src/main/resources/assets/psi/textures/gui/entries/circle_bullet_circlesync.png deleted file mode 100644 index 92ada62862be5696bbaab162272ceaa8694d07a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1162 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5FiyE;1l8sq*;N0Q=DC#m7ANJ zmzP&mR8*XmRYpce!EvEx@Hs6lErW#$=H}+M=QQo??4qKgqNAfrN=gH#^7B|(0{3=Yq3q%klsKlF5Q45^5FbHP!N zK|$cKL(Z1+f2E%eI?2m!;+ymtsCtL%s`}_3pZ`q_X10f{++i}<`k4RVZY(F<5#~S?<27n?Q=EMmt3|xy?X7R?1t3o@57@( z{sn`7WiS>4!?gFcak;H-9nlCOIBS96BEd&uKii`#0! z*~iR{7c$)0J1>{v^9F`zLAKEhaUFXuYaj5{o2k;zo-pavO{NL6?_Aq)i1A5<)hz}! zi=b&>(R_qOHel1vzM3M_;G1(lbO@u^QKlm zbYu0pZgFTX-D3Ou-|}@HwI)u-wJ$O-e3+BRcxTF^xlC7b3-nx`Rq`A3Efq2C=TtCW zpL)FJGGD@;Rb_5m+zRIzKEE|)yrRx3y2YeWT==u|rdel>L+SXa#5uzTi}d+bN5`4W^_fKhlOB>4CIzit`!hqoX5aZTdCdq;jB z6Fh2Rj9vi{tc7tA^aYNKAjpmofw6ioEwow3Qm@x4lL`$3wDdtG%zrvEj!ThPx%kHUJWH@Lre!XJq<(vMWYXj#CV;l3k zi?UuY)o4E9mH2hmm}3%`#x%(g5z}35rLvAJQ?6)rZoJQ7(WdmsxPs^1^iTiAH9ku+ z9SM1+;c-CHXaC-ML)V8F-^p-;e9!Y~`#s|xr5F0Jpn%d2?FP5@?l=1|1;qDs^>bP0 Hl+XkK8i%kL diff --git a/src/main/resources/assets/psi/textures/gui/entries/eval_order_1.png b/src/main/resources/assets/psi/textures/gui/entries/eval_order_1.png deleted file mode 100644 index 7560ccdf05e1f064be8294fd64810de2749fd1cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 878 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Flk1;1l8sq*;N0Q=FTdTU1n3 zMn*=#aiM1LIV~+Mb8~Y$JG-c;sJnOX{`vDqLqh|o*x1-uP*Ct!-_E;04r57>UoeBi zvm0p)3{1~FT^vIy;@(_v6l72kIP4&@rTpL7PY0dkWjFCn`V3UP!*x}C)Q`{qCI&NK zNxVLjF^Pd$&$@iULj!>p#v7_Hx6avE`+xb~5Mgy*vvj@mQ|2PEJwJBMUU$%b-?gQ; zPTgdfK7ChsG{_qu@TU~UVu*RSJ~a2J%Lze<3=%nmV{z6}u36P?HY#d$hq*Vp>l#G0ZsTTl*%w zkNJu9Y@k~uyO=<(Z%}4Mc%q?mLgxf!1Ru&W5Hu1jV!;qrb5e6EYB}0(9nYvUKW{z3?(d!BuVkx5?)PXPtV^ zq56;2YOXLtQOgsKom|Wllv9*|Py>{ZPyodKdon13K#qanueAL*;v1j*)Nlx0&A7`X zVDV~h50#o?rT~Z2Of}Jw@eUqGCUq;ExwKxr;bpI6>svb}9YO9$mc)zIjPukET&!iO z5Ng>~RIlxjsL%Lw?PeYS9b5{6GfD&&9I#Vg@bw*6$25&COd=6c4Xu+H)|RU$D4G8d znf5&7-+!jEJ^_aIxvLu*1ZDRB{Zp{!(CWLEVjwR`JjvgiF5!A19?gFZ4D-X9cJc-M QiUmn{y85}Sb4q9e0O*D&6951J diff --git a/src/main/resources/assets/psi/textures/gui/entries/eval_order_2.png b/src/main/resources/assets/psi/textures/gui/entries/eval_order_2.png deleted file mode 100644 index 1e3df5013f7ed04efc90d5882f88c4611d4c4c2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1412 zcmZuxX;6~~5Zw^MnE(L-Q8`j@G$9rvAcz_pAR(ZD3}*{gzHp`@pd=a~DxX3s2oKQM5Gg?GVv&)oC0Y@5#(qqA|*ly4KwXbf3Wjr-rJp>{qg3_p7QtO67*K; z0RX|fXe)O4Ai*-%3cpw?rkz03jNz01_CfdV(Q? zRXlST2WSEljqSO_m-{yJPHKw)DS^!S@bs-y4uhAdNq|gXq{nQ~>3w4R(V}jaA-Vzk z`jF9{iBQzX_d{}GoB>=Zw#-CaZ#~juT=^MiSAjAbCo|SyeO&3o2i%&;V;Szh6x!A= zI{y%Vzw}(gCH7n=HBFeQ`1r8Dq6$T8(uQZF;x3A-_g?&*39m>>4-hO~|LR4p?KvGI9AwGf9cnx}*O@!?y36S3 zlmSY|;78{LSfd|R>uOWdD>WFi=_%zAT%EQq?A=rYisf@mJtZf>(A_iM5cT9?eoDM7 zZ*b$Uc+peT&{n^3| z5QY{u0+}!q0>3K6Fr=z5V>M|+5`yq${+JEg1guO`iIw`&(^zd`7hxJpm5qZUE*}!*=gF5pL6EtdcswnefdiI-0+sd4oPf?~5`!W@uAHVeMbI7u` zcBMa^?deOl-OC9n*w~|4NaO+(eJ{ENUMo+twGh58JVWq*P3r770kEf2221zzY?_%I z_?&KVV$%wfY%#PRs2d2Z22VI48j;&3!Rhj=qEMmO0Vu)Bp@lP!){jfS$g2)NC{8v@ zD%N16;c{x4h2kenH0hb^pFp8uWr^G-?cu80F7LsmMETL7ty=)zjx|hlS`S&3;cq+| zDhbwRS$n*zs*Q;bFIaN;TGfU>^q2K`Daot3UQ8BfE`#ij^~q0>M?A9D<-(R{9EIJa zaB*?HXtjmb+M|CPpSv9uZD>oB?FdM7L`QE~Nq64(0D#(V&l82d?Krsoaq5VpT&4S| zq7l}`7v68h@2MzlK2LXja#5qKuAd7RiVfvC+f1rkB+jt{YbW3Gp<+v`I}jF^>#>tO z*cySAamN|gxhd@OG<#Ak4UK8Uh2r;>K_C&sh zY&@uhzOV(%9=aN%f^o0WT^c!c@8IJN!I{AuBp9?bVJVuj@MR}AE44N`5$&ToIakMB zSVt-WnJ?Kh78NS&mO7eTR$Xs!ke?=v;3-3HTCrMoi=eDwYR-%(wd_}o wE$kR*d|xAXHB-MOAP*GIN9=OF2?Z&&HX8RSk8%DDjG;f^$ zw~yIl`$-0%GJ!R3DmQ<#OgPOkpXF`mVXNonno#*X&WZcwy;loeM zoSAzz^z7`(QZ}j4Ne(^ssp)iwnbWl8@9NKNbIUlr!p!OM*P@)O@^*_k1QxS%6vus( z{HvbujFTgB;c4}RSx#Homz_*y;dg46I6eDi&ePS?BgMW+9{tUD-FwfyxXV9N7S4KE zvhB}B-OYU(4t1#wKer3a3~%@|QO&{fTZ_bL>D%)dwEY`GC4V+gh+J`O&GF_7cfLDn zoIew|qq$kYzAfsnzvO*EPcx@||1;B7q!sV~-(p6phkH;l_85n|?7i_k6 zvb%g!R&oBzH+>V%mz24mNVnRp{KR62dGQnL)GjNjOcL8g`Q!{77G zJwD1u_8V_r*9+p7Ih=lJ#lWzR~ zACf-FX&Ton)g{rjsnaITsqwtvCo0hRmFb=LL}3mAPlvJywwM{GzGzRF+0PWRRXSn1 zqmT}Z_yob<&sa=YIhp?K``mm?EJ0Fprjo#!d-47ZYSPQ@m#^s1TadCu!c}3$8+XPt z0uCWo57#$rO-cCe{AMkKDwEJ+ae)hEcQ4#lacA^ln(;5Z(N({g$<027@uD2-I)P~y zn7Y17e7MUUagy^N*Xd-<|K*LF0uQic-8>YKZ@j|(?_bZ}L!0kfih(>Y@g#q5x`gY6 cc(jmcU{FrZC_m#-QV){wboFyt=akR{0MQ?Qx&QzG diff --git a/src/main/resources/assets/psi/textures/gui/entries/tutorial_1_spell.png b/src/main/resources/assets/psi/textures/gui/entries/tutorial_1_spell.png deleted file mode 100644 index 41f5f45a39df5abcc376f1973b82d10464c965b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 852 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Flj};1l8sq#5cN82&S`0s*Hu zH#fJasHlvLjDq7r&ERudT3Y7j=5}^=QBhHM@813M=Z~?mF;ItwhK8V^;FqA9G$4nu zB*-tA!Qt5rAcyIgr;B4qMckVU8$}rmIG8T>FzoujPIHZ}Zp8=l9o5|(3%XXJgFJ@iM5g z#&^!=;`tO$0Pw~A93R0V=k5S+vj2?|UU(BR^swBK4qMpH=lXgpuLGKc+2K z43^o^T8z`;t}wn}%FPqp$k3BKfB#fQkH&8n%RUO77UZ8`#Gol~+Awb4qH?ijr~3^r z7%nniT5^@)#pmsO2CnQLjZ)hkp5!~|Ja#*yxxvJ1jYHiN!Ajm|e*#~tO8gY?YSj2A z!uOw5i{Z@W;M#p73wl0+b|Bfr^umqBg1!kOwki&4Gm&KJC1q z|2uWVAp;JUi*cvq(k^EG`yao1ag(a3&CQbB_!*@qboISX1To6(h&%8%=m|GV2aB_m zj(o~b!HzQ_3=LTgwZ@DW7X>r&m@`$+3=-mb&twu+w1lJE_uIk-g$*-U&egHsV||iw z(o4{%?~OAf3u8k2mYt0ZYErlK7AZ3-Z2j)MvAyBbwX0P#pZwKs*!9Ja^MIfAg723F z1tfAS-@3LHGe%}#dGU7(^RW`cd8}t99$)(BKkFw)MsAOv13MvP^>H~5ZOM?7@862M7NMm4NF7R}545^5FbHP!NK|$cKgUgoke{(+_bds0d z#5d_PQ1uSiRrOInKL48-%zP#B`b@?o24+3$vJNH&p2G|QK2O;H{tte>I$Yzik}`i% zQPrlkGub@6bF+aO!C*beFJLg?)y-=aEj}|74JG1t+8)k0!m4(r_Z(;5@s7_-bN3zJ5cM!u_SA%+l3!w* z*M=~Canm?wkigMm>F@xpliP@T#51kl7HQv9Fv|`-E^YcnkaZ`=GXSI`n+G{6<($LfsEGMG;L>*p* zYkkf1msq&E3Mr{omR z7=xI_>>AZA4Bc{yA_8ho{}PT^yVS7%;4^q3s8nb2%+_gkX#a&%xAgKaDXSc=ZrL$= zDI@c--U-|fn07F%aeI+=^hb2^^`8Bv-;SP>eQdzf9KaxJm6CAeyM4B1?$w>nDc*bX z1r6ws)GIB~z~yg}E3{RpQ(Sd7lq=ZhM=mNtO6p00i_>zopr04s)ip8x;= diff --git a/src/main/resources/assets/psi/textures/gui/entries/tutorial_3_connector.png b/src/main/resources/assets/psi/textures/gui/entries/tutorial_3_connector.png deleted file mode 100644 index a1cfa401c2af0b64184a47d1be0a2ee2aba55d96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 775 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 literal 995 zcmZuveNfYN82@a)%@z#&?Z%4?0!0pIkZ=~$cFc_&Z-ryWOYGLC5UMe^jFB`vp(|_{n^T+pjzR&lb=kvMG z_c^IlB>Q*?ya4#5rpPk@2Awj%A?R@MvMP%XyOn8KiFEWEqVVk~kH^Eu(Lux1>1nEG zp0Zl4BuS#xh=vXr#6qD^EEb>ScY;c{@+mHtJGo4`TrP^DRQw~b$joN5)9Dll1a7xG zI5^m1v3$+{b$Z6JxgIkqO$<*qq_T@5h zzxLTEqodzAxncb|pFwXm46@@39nC56ZV^)0^dJvrLi@si$(T*Rp%VQ_u}DgUymfp3 zvOIa=0*{G-O_JWF0A{U!)H-78VPNPWL&ze(AdNO)(G{!@P#&mmN3NYfZ{8aF3+p+R z;*cmnU$enK=$U~sGvKgweUO{*T!~3~zi_;(4|jL2P0Dk!p=`27F0i5L!`*_T&7PudlGEX~5Sv1O}ge^_$W>4YabW$(SIc-I051M0|!-NlKzzCqXx zT&6CP^PtpW(w@F~uh3y^I*j?MbzUvS5~(ktdrg-PWUV$ZP*BKvO6KFsQT2}9_LVj> zy$<2+$w0~}!{)GfQQ+u4Qy}2)ce5%^w4aKp0tPph*2gmol1drI#fY{`v#%0zMN{?i zRoW=g;!08d&s~w}Od)^g4#4($ZKKq+wJrMnAiu(9plzgP)GO?ddO-{SP$+HxU3xT7 z{^B_8V8x05iqdG;YUwW5om7?@XrK5hzhzq-;9U9polJFk+g`Ef(S84#N;B07JTG0N zJN6OK(7IVV_$ZSFU37lFDI??taIXKi$ITT$_uRx@(L#3&WWxr-kqg`Lr;XW6|K|U? zVk2~?`pWvvQ&B=E6WJo)NpXdoFvxgs% z&WIw$4W?%5x+eTD`!p60Fy7b#%N&swg)tpF{Ho#3??`KBhe&*hftq3lLT0@$t2y*i tjMJO^1icq4#x$NZK}qFoldEXE{)JLot3HwKn(Oh@QWF*OE3Xt({{v}eYi0ld diff --git a/src/main/resources/assets/psi/textures/gui/entries/tutorial_6_spell.png b/src/main/resources/assets/psi/textures/gui/entries/tutorial_6_spell.png deleted file mode 100644 index 221b7119be3ad8c62fb7275d6aafc6186e801ec0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1089 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fiy8;1l8sq*;N0Q=DC#m7AMe zR8&-)l~r7fRYpce!EvEx@Hs6lErW#$=H}+M=QQo??4qKg7Ahz#oU3q7Q}f&j&AWH+ z{`vDqLqh{-j-a5Rv9a;h=gHPU4r57>UoeBivm0p)49xR9T^vIy;@(_v6l72kIP4I! zrTky(r-M%NvYYrOeFm!D;kv3m`p4&gQ-hhWBp#c|n8d)WXI;MimYV=e;EXk)zf2W3 zx(5IFD{oS?`O}TX-s+Ak{F09?d;e{5ritpc**m{|zxMMw!|#>%-mL}s4-EdiWr8so zZtOo>nlCG)SOynCFdURzl#cKr_;8j-i$}}9-+Vtxe+BJ&Yx9H8;-zNbsOs05 zOaa0Txl`Y8F=|xKYIyf`CPTod<2-N5Y#HCBm!ITh`1@xo)11GR>=r5PJ(4%}&e6Sj zttyS-%jN3~7q&_=8n8$mxchRILc=|#X>a1XuY1jEm~>p-v3%-W6UJ){5^E(GB8?kl zHZbqt$t+$Od;NF3{k3z!;pIX?3-A66`gf=DSEc526{ot&k5?+|%7TtE&JvR_FiIs)9`-nQJ#iVY#Jv;xeY!|WDJN} zt;MiFB{IzPK$-Sc(FIc&7DUzSawsy=n1|J zDJ#nx*d4-|8rB5G3M)o`jawztFt72=c}BgHCmAL!^NZiFWVxNL(<2MEf-1>g)7r}`WE$+B&Z5*=kP3c8P``26}WA0?m0arQt< z(CXS3YnpZWtx8rm@Z8aVP^tZciLpUw&c({j{cr6XPwB97%w##S<)qGns#CvM8D2cR zBw*k-Rr=c!Ca(BiHU8;m&y>4Wa#_T?uP8)pI$xE8dfQ+K}#} z6v=9ERWo^Fk*I(^!>b2M4jxI2f3MX>&QB3@c=T`Kql6U?I)#N_#vfRDTZO?%A?MV| zL&4t!CVgX#=oCqRrOs&F#JZDZ&B51U|NgVSS*?y}vd$@?2>>@So4No1 diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/basics.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/basics.json deleted file mode 100644 index e813f9ed6..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/basics.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "psi.book.category.basics", - "description": "psi.book.category.basics.desc", - "icon": "psi:textures/spell/trick_debug.png", - "sortnum": 0 -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/components.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/components.json deleted file mode 100644 index c8d143116..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/components.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "psi.book.category.components", - "description": "psi.book.category.components.desc", - "icon": "psi:cad_assembly_psimetal", - "sortnum": 1 -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/items.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/items.json deleted file mode 100644 index 4582ca812..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/items.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "psi.book.category.items", - "description": "psi.book.category.items.desc", - "icon": "psi:spell_bullet", - "sortnum": 2 -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/legacy.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/legacy.json deleted file mode 100644 index 1bdcdd6e2..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/categories/legacy.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "psi.book.category.legacy", - "description": "psi.book.category.legacy.desc", - "icon": "psi:cad_assembly_gold", - "sortnum": 3 -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/cad_assembler.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/cad_assembler.json deleted file mode 100644 index ef0540ebe..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/cad_assembler.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "psi.book.entry.cadAssembler", - "category": "basics", - "icon": "psi:cad_assembler", - "pages": [ - { - "type": "text", - "text": "psi.book.page.cadAssembler.0" - }, - { - "type": "crafting", - "text": "psi.book.page.cadAssembler.1", - "recipe": "psi:assembler" - }, - { - "type": "image", - "text": "psi.book.page.cadAssembler.2", - "images": [ - "psi:textures/gui/entries/assembler_build.png" - ], - "border": true - }, - { - "type": "text", - "text": "psi.book.page.cadAssembler.3" - }, - { - "type": "text", - "text": "psi.book.page.cadAssembler.4" - }, - { - "type": "image", - "text": "psi.book.page.cadAssembler.5", - "images": [ - "psi:textures/gui/entries/assembler_load.png" - ], - "border": true - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/eval_order.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/eval_order.json deleted file mode 100644 index 0f85054bd..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/eval_order.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "psi.book.entry.evalOrder", - "category": "basics", - "icon": "minecraft:air", - "pages": [ - { - "type": "text", - "text": "psi.book.page.evalOrder.0" - }, - { - "type": "text", - "text": "psi.book.page.evalOrder.1" - }, - { - "type": "text", - "text": "psi.book.page.evalOrder.2" - }, - { - "type": "image", - "text": "psi.book.page.evalOrder.3", - "images": [ - "psi:textures/gui/entries/eval_order_1.png" - ], - "border": false - }, - { - "type": "text", - "text": "psi.book.page.evalOrder.4" - }, - { - "type": "image", - "text": "psi.book.page.evalOrder.5", - "images": [ - "psi:textures/gui/entries/eval_order_2.png" - ], - "border": false - }, - { - "type": "text", - "text": "psi.book.page.evalOrder.6" - }, - { - "type": "image", - "text": "psi.book.page.evalOrder.7", - "images": [ - "psi:textures/gui/entries/eval_order_3.png" - ], - "border": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/introduction.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/introduction.json deleted file mode 100644 index cb2da6e82..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/introduction.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "psi.book.entry.introduction", - "category": "basics", - "icon": "minecraft:air", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.introduction.0" - }, - { - "type": "text", - "text": "psi.book.page.introduction.1" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/spell_programmer.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/spell_programmer.json deleted file mode 100644 index 0257cbded..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/spell_programmer.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "psi.book.entry.spellProgrammer", - "category": "basics", - "icon": "psi:programmer", - "pages": [ - { - "type": "text", - "text": "psi.book.page.spellProgrammer.0" - }, - { - "type": "crafting", - "text": "psi.book.page.spellProgrammer.1", - "recipe": "psi:programmer" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_1.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_1.json deleted file mode 100644 index 04f51e550..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_1.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "psi.book.entry.tutorial1", - "category": "basics", - "icon": "minecraft:air", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.tutorial1.0" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.1" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.2" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.3" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.4" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.5" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.6" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.7" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.8" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.9" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.10" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.11" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.12" - }, - { - "type": "image", - "text": "psi.book.page.tutorial1.13", - "images": [ - "psi:textures/gui/entries/tutorial_1_spell.png" - ], - "border": true - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.14" - }, - { - "type": "text", - "text": "psi.book.page.tutorial1.15" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_2.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_2.json deleted file mode 100644 index 7428b888f..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_2.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "psi.book.entry.tutorial2", - "category": "basics", - "icon": "minecraft:air", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.tutorial2.0" - }, - { - "type": "text", - "text": "psi.book.page.tutorial2.1" - }, - { - "type": "text", - "text": "psi.book.page.tutorial2.2" - }, - { - "type": "text", - "text": "psi.book.page.tutorial2.3" - }, - { - "type": "text", - "text": "psi.book.page.tutorial2.4" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_3.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_3.json deleted file mode 100644 index 4f35d4dd9..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_3.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "psi.book.entry.tutorial3", - "category": "basics", - "icon": "minecraft:air", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.tutorial3.0" - }, - { - "type": "text", - "text": "psi.book.page.tutorial3.1" - }, - { - "type": "text", - "text": "psi.book.page.tutorial3.2" - }, - { - "type": "image", - "text": "psi.book.page.tutorial3.3", - "images": [ - "psi:textures/gui/entries/tutorial_3_tooltip.png" - ], - "border": false - }, - { - "type": "text", - "text": "psi.book.page.tutorial3.4" - }, - { - "type": "text", - "text": "psi.book.page.tutorial3.5" - }, - { - "type": "text", - "text": "psi.book.page.tutorial3.6" - }, - { - "type": "text", - "text": "psi.book.page.tutorial3.7" - }, - { - "type": "text", - "text": "psi.book.page.tutorial3.8" - }, - { - "type": "text", - "text": "psi.book.page.tutorial3.9" - }, - { - "type": "text", - "text": "psi.book.page.tutorial3.10" - }, - { - "type": "image", - "text": "psi.book.page.tutorial3.11", - "images": [ - "psi:textures/gui/entries/tutorial_3_connector.png" - ], - "border": false - }, - { - "type": "text", - "text": "psi.book.page.tutorial3.12" - }, - { - "type": "image", - "text": "psi.book.page.tutorial3.13", - "images": [ - "psi:textures/gui/entries/tutorial_3_chain.png" - ], - "border": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_4.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_4.json deleted file mode 100644 index fc2cc758d..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_4.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "psi.book.entry.tutorial4", - "category": "basics", - "icon": "minecraft:air", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.tutorial4.0" - }, - { - "type": "text", - "text": "psi.book.page.tutorial4.1" - }, - { - "type": "text", - "text": "psi.book.page.tutorial4.2" - }, - { - "type": "text", - "text": "psi.book.page.tutorial4.3" - }, - { - "type": "text", - "text": "psi.book.page.tutorial4.4" - }, - { - "type": "text", - "text": "psi.book.page.tutorial4.5" - }, - { - "type": "image", - "text": "psi.book.page.tutorial4.6", - "images": [ - "psi:textures/gui/entries/tutorial_4_spell.png" - ], - "border": false - }, - { - "type": "text", - "text": "psi.book.page.tutorial4.7" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_5.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_5.json deleted file mode 100644 index 1eb5794ec..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_5.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "psi.book.entry.tutorial5", - "category": "basics", - "icon": "minecraft:air", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.tutorial5.0" - }, - { - "type": "image", - "text": "psi.book.page.tutorial5.1", - "images": [ - "psi:textures/gui/entries/tutorial_5_stats.png" - ], - "border": true - }, - { - "type": "text", - "title": "psi.book.subsec.tutorial5.2", - "text": "psi.book.page.tutorial5.2", - "anchor": "complexity" - }, - { - "type": "text", - "title": "psi.book.subsec.tutorial5.3", - "text": "psi.book.page.tutorial5.3", - "anchor": "potency" - }, - { - "type": "text", - "title": "psi.book.subsec.tutorial5.4", - "text": "psi.book.page.tutorial5.4", - "anchor": "cost" - }, - { - "type": "text", - "text": "psi.book.page.tutorial5.5" - }, - { - "type": "text", - "text": "psi.book.page.tutorial5.6" - }, - { - "type": "text", - "text": "psi.book.page.tutorial5.7" - }, - { - "type": "text", - "title": "psi.book.subsec.tutorial5.8", - "text": "psi.book.page.tutorial5.8", - "anchor": "projection" - }, - { - "type": "text", - "title": "psi.book.subsec.tutorial5.9", - "text": "psi.book.page.tutorial5.9", - "anchor": "bandwidth" - }, - { - "type": "text", - "text": "psi.book.page.tutorial5.10" - }, - { - "type": "text", - "text": "psi.book.page.tutorial5.11" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_6.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_6.json deleted file mode 100644 index 981b6c5ab..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/tutorial_6.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "name": "psi.book.entry.tutorial6", - "category": "basics", - "icon": "minecraft:air", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.tutorial6.0" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.1" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.2" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.3" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.4" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.5" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.6" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.7" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.8" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.9" - }, - { - "type": "image", - "text": "psi.book.page.tutorial6.10", - "images": [ - "psi:textures/gui/entries/tutorial_6_spell.png" - ], - "border": false - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.11" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.12" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.13" - }, - { - "type": "text", - "text": "psi.book.page.tutorial6.14" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/vector_primer.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/vector_primer.json deleted file mode 100644 index 0f16bbfb4..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/basics/vector_primer.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "name": "psi.book.entry.vectorPrimer", - "category": "basics", - "icon": "psi:textures/spell/operator_vector_construct.png", - "pages": [ - { - "type": "link", - "text": "psi.book.page.vectorPrimer.0", - "url": "https://www.youtube.com/watch?v=fNk_zzaMoSs", - "link_text": "3Blue1Brown" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.1" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.2" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.3" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.4" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.5" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.6" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.7" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.8" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.9" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.10" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.11" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.12" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.13" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.14" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.15" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.16" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.17" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.18" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.19" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.20" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.21" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.22", - "anchor": "ops" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.23" - }, - { - "type": "text", - "text": "psi.book.page.vectorPrimer.24" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/assembly.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/assembly.json deleted file mode 100644 index 00bfa56f7..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/assembly.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "psi.book.entry.assembly", - "category": "components", - "icon": "psi:cad_assembly_iron", - "pages": [ - { - "type": "text", - "text": "psi.book.page.assembly.0" - }, - { - "type": "text", - "text": "psi.book.page.assembly.1" - }, - { - "type": "spotlight", - "text": "psi.book.page.assembly.2", - "item": "psi:cad_assembly_iron", - "link_recipe": false, - "anchor": "iron" - }, - { - "type": "crafting", - "text": "psi.book.page.assembly.3", - "recipe": "psi:cad_assembly_iron" - }, - { - "type": "spotlight", - "text": "psi.book.page.assembly.4", - "item": "psi:cad_assembly_gold", - "link_recipe": false, - "anchor": "gold" - }, - { - "type": "crafting", - "text": "psi.book.page.assembly.5", - "recipe": "psi:cad_assembly_gold" - }, - { - "type": "spotlight", - "text": "psi.book.page.assembly.6", - "item": "psi:cad_assembly_psimetal", - "link_recipe": false, - "anchor": "psimetal" - }, - { - "type": "crafting", - "text": "psi.book.page.assembly.7", - "recipe": "psi:cad_assembly_psimetal" - }, - { - "type": "spotlight", - "text": "psi.book.page.assembly.8", - "item": "psi:cad_assembly_ebony_psimetal", - "link_recipe": false, - "anchor": "ebony" - }, - { - "type": "crafting", - "text": "psi.book.page.assembly.9", - "recipe": "psi:cad_assembly_ebony" - }, - { - "type": "spotlight", - "text": "psi.book.page.assembly.10", - "item": "psi:cad_assembly_ivory_psimetal", - "link_recipe": false, - "anchor": "ivory" - }, - { - "type": "crafting", - "text": "psi.book.page.assembly.11", - "recipe": "psi:cad_assembly_ivory" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/battery.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/battery.json deleted file mode 100644 index 46208037b..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/battery.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "psi.book.entry.battery", - "category": "components", - "icon": "psi:cad_battery_basic", - "pages": [ - { - "type": "text", - "text": "psi.book.page.battery.0" - }, - { - "type": "text", - "text": "psi.book.page.battery.1" - }, - { - "type": "crafting", - "text": "psi.book.page.battery.2", - "recipe": "psi:cad_battery_basic", - "anchor": "basic" - }, - { - "type": "crafting", - "text": "psi.book.page.battery.3", - "recipe": "psi:cad_battery_extended", - "anchor": "extended" - }, - { - "type": "crafting", - "text": "psi.book.page.battery.4", - "recipe": "psi:cad_battery_ultradense", - "anchor": "ultradense" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/colorizer.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/colorizer.json deleted file mode 100644 index 6c1b0b915..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/colorizer.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "psi.book.entry.colorizer", - "category": "components", - "icon": "psi:cad_colorizer_psi", - "pages": [ - { - "type": "text", - "text": "psi.book.page.colorizer.0" - }, - { - "type": "text", - "text": "psi.book.page.colorizer.1" - }, - { - "type": "text", - "text": "psi.book.page.colorizer.2" - }, - { - "type": "crafting_multi", - "text": "psi.book.page.colorizer.3", - "recipes": "psi:cad_colorizer_psi;psi:cad_colorizer_rainbow;psi:cad_colorizer_empty;psi:cad_colorizer_white;psi:cad_colorizer_orange;psi:cad_colorizer_magenta;psi:cad_colorizer_light_blue;psi:cad_colorizer_yellow;psi:cad_colorizer_lime;psi:cad_colorizer_pink;psi:cad_colorizer_gray;psi:cad_colorizer_light_gray;psi:cad_colorizer_cyan;psi:cad_colorizer_purple;psi:cad_colorizer_blue;psi:cad_colorizer_brown;psi:cad_colorizer_green;psi:cad_colorizer_red;psi:cad_colorizer_black" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/core.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/core.json deleted file mode 100644 index b03503f3d..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/core.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "psi.book.entry.core", - "category": "components", - "icon": "psi:cad_core_basic", - "pages": [ - { - "type": "text", - "text": "psi.book.page.core.0" - }, - { - "type": "text", - "text": "psi.book.page.core.1" - }, - { - "type": "spotlight", - "text": "psi.book.page.core.2", - "item": "psi:cad_core_basic", - "link_recipe": false, - "anchor": "basic" - }, - { - "type": "crafting", - "text": "psi.book.page.core.3", - "recipe": "psi:cad_core_basic" - }, - { - "type": "spotlight", - "text": "psi.book.page.core.4", - "item": "psi:cad_core_overclocked", - "link_recipe": false, - "anchor": "overclocked" - }, - { - "type": "crafting", - "text": "psi.book.page.core.5", - "recipe": "psi:cad_core_overclocked" - }, - { - "type": "spotlight", - "text": "psi.book.page.core.6", - "item": "psi:cad_core_conductive", - "link_recipe": false, - "anchor": "conductive" - }, - { - "type": "crafting", - "text": "psi.book.page.core.7", - "recipe": "psi:cad_core_conductive" - }, - { - "type": "spotlight", - "text": "psi.book.page.core.8", - "item": "psi:cad_core_hyperclocked", - "link_recipe": false, - "anchor": "hyperclocked" - }, - { - "type": "crafting", - "text": "psi.book.page.core.9", - "recipe": "psi:cad_core_hyperclocked" - }, - { - "type": "spotlight", - "text": "psi.book.page.core.10", - "item": "psi:cad_core_radiative", - "link_recipe": false, - "anchor": "radiative" - }, - { - "type": "crafting", - "text": "psi.book.page.core.11", - "recipe": "psi:cad_core_radiative" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/ebony_ivory.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/ebony_ivory.json deleted file mode 100644 index f4fb91cfb..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/ebony_ivory.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "psi.book.entry.ebonyIvory", - "category": "components", - "icon": "psi:ivory_substance", - "pages": [ - { - "type": "text", - "text": "psi.book.page.ebonyIvory.0" - }, - { - "type": "text", - "text": "psi.book.page.ebonyIvory.1" - }, - { - "type": "spotlight", - "text": "psi.book.page.ebonyIvory.2", - "item": "psi:ebony_substance", - "link_recipe": true - }, - { - "type": "spotlight", - "text": "psi.book.page.ebonyIvory.3", - "item": "psi:ivory_substance", - "link_recipe": true - }, - { - "type": "crafting", - "text": "psi.book.page.ebonyIvory.4", - "recipe": "psi:ebony_psimetal" - }, - { - "type": "crafting", - "text": "psi.book.page.ebonyIvory.5", - "recipe": "psi:ivory_psimetal" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psidust.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psidust.json deleted file mode 100644 index 5424174e7..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psidust.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "psi.book.entry.psidust", - "category": "components", - "icon": "psi:psidust", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.psidust.0" - }, - { - "type": "spotlight", - "text": "psi.book.page.psidust.1", - "item": "psi:psidust", - "link_recipe": true - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psigem.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psigem.json deleted file mode 100644 index 821dfbff8..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psigem.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "psi.book.entry.psigem", - "category": "components", - "icon": "psi:psigem", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.psigem.0" - }, - { - "type": "spotlight", - "text": "psi.book.page.psigem.1", - "item": "psi:psigem", - "link_recipe": true - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psimetal.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psimetal.json deleted file mode 100644 index 2bc24ef7e..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/psimetal.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "psi.book.entry.psimetal", - "category": "components", - "icon": "psi:psimetal", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.psimetal.0" - }, - { - "type": "spotlight", - "text": "psi.book.page.psimetal.1", - "item": "psi:psimetal", - "link_recipe": true - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/socket.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/socket.json deleted file mode 100644 index 17bb13fee..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/components/socket.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "psi.book.entry.socket", - "category": "components", - "icon": "psi:cad_socket_basic", - "pages": [ - { - "type": "text", - "text": "psi.book.page.socket.0" - }, - { - "type": "text", - "text": "psi.book.page.socket.1" - }, - { - "type": "spotlight", - "text": "psi.book.page.socket.2", - "item": "psi:cad_socket_basic", - "link_recipe": false, - "anchor": "basic" - }, - { - "type": "crafting", - "text": "psi.book.page.socket.3", - "recipe": "psi:cad_socket_basic" - }, - { - "type": "spotlight", - "text": "psi.book.page.socket.4", - "item": "psi:cad_socket_signaling", - "link_recipe": false, - "anchor": "signaling" - }, - { - "type": "crafting", - "text": "psi.book.page.socket.5", - "recipe": "psi:cad_socket_signaling" - }, - { - "type": "spotlight", - "text": "psi.book.page.socket.6", - "item": "psi:cad_socket_large", - "link_recipe": false, - "anchor": "large" - }, - { - "type": "crafting", - "text": "psi.book.page.socket.7", - "recipe": "psi:cad_socket_large" - }, - { - "type": "spotlight", - "text": "psi.book.page.socket.8", - "item": "psi:cad_socket_transmissive", - "link_recipe": false, - "anchor": "transmissive" - }, - { - "type": "crafting", - "text": "psi.book.page.socket.9", - "recipe": "psi:cad_socket_transmissive" - }, - { - "type": "spotlight", - "text": "psi.book.page.socket.10", - "item": "psi:cad_socket_huge", - "link_recipe": false, - "anchor": "huge" - }, - { - "type": "crafting", - "text": "psi.book.page.socket.11", - "recipe": "psi:cad_socket_huge" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/basic_bullet.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/basic_bullet.json deleted file mode 100644 index 0af30fe19..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/basic_bullet.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "psi.book.entry.basicBullet", - "category": "items", - "icon": "psi:spell_bullet", - "pages": [ - { - "type": "text", - "text": "psi.book.page.basicBullet.0" - }, - { - "type": "crafting", - "text": "psi.book.page.basicBullet.1", - "recipe": "psi:spell_bullet_basic" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/charge_bullet.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/charge_bullet.json deleted file mode 100644 index 88b415a63..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/charge_bullet.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "psi.book.entry.chargeBullet", - "category": "items", - "icon": "psi:spell_bullet_charge", - "pages": [ - { - "type": "text", - "text": "psi.book.page.chargeBullet.0" - }, - { - "type": "crafting", - "text": "psi.book.page.chargeBullet.1", - "recipe": "psi:spell_bullet_charge" - }, - { - "type": "text", - "text": "psi.book.page.chargeBullet.2" - }, - { - "type": "text", - "text": "psi.book.page.chargeBullet.3" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/circle_bullet.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/circle_bullet.json deleted file mode 100644 index d4d00cb81..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/circle_bullet.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "psi.book.entry.circleBullet", - "category": "items", - "icon": "psi:spell_bullet_circle", - "pages": [ - { - "type": "text", - "text": "psi.book.page.circleBullet.0" - }, - { - "type": "crafting", - "text": "psi.book.page.circleBullet.1", - "recipe": "psi:spell_bullet_circle" - }, - { - "type": "text", - "text": "psi.book.page.circleBullet.2" - }, - { - "type": "text", - "text": "psi.book.page.circleBullet.3" - }, - { - "type": "text", - "text": "psi.book.page.circleBullet.4" - }, - { - "type": "text", - "text": "psi.book.page.circleBullet.5" - }, - { - "type": "text", - "title": "psi.book.subsec.circleBullet.6", - "text": "psi.book.page.circleBullet.6", - "anchor": "circlesync" - }, - { - "type": "image", - "text": "psi.book.page.circleBullet.7", - "images": [ - "psi:textures/gui/entries/circle_bullet_circlesync.png" - ], - "border": false - }, - { - "type": "text", - "title": "psi.book.subsec.circleBullet.8", - "text": "psi.book.page.circleBullet.8", - "anchor": "20b_tower" - }, - { - "type": "text", - "text": "psi.book.page.circleBullet.9" - }, - { - "type": "image", - "text": "psi.book.page.circleBullet.10", - "images": [ - "psi:textures/gui/entries/circle_bullet_20b_tower.png" - ], - "border": false - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/detonator.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/detonator.json deleted file mode 100644 index b8ff9926c..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/detonator.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "psi.book.entry.detonator", - "category": "items", - "icon": "psi:detonator", - "pages": [ - { - "type": "text", - "text": "psi.book.page.detonator.0" - }, - { - "type": "crafting", - "text": "psi.book.page.detonator.1", - "recipe": "psi:detonator" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/exosuit.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/exosuit.json deleted file mode 100644 index 26e839e9b..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/exosuit.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "name": "psi.book.entry.exosuit", - "category": "items", - "icon": "psi:exosuit_controller", - "pages": [ - { - "type": "text", - "text": "psi.book.page.exosuit.0" - }, - { - "type": "text", - "text": "psi.book.page.exosuit.1" - }, - { - "type": "spotlight", - "text": "psi.book.page.exosuit.2", - "item": "psi:exosuit_controller", - "link_recipe": false, - "anchor": "controller" - }, - { - "type": "crafting", - "text": "psi.book.page.exosuit.3", - "recipe": "psi:exosuit_controller" - }, - { - "type": "text", - "text": "psi.book.page.exosuit.4" - }, - { - "type": "text", - "text": "psi.book.page.exosuit.5" - }, - { - "type": "spotlight", - "text": "psi.book.page.exosuit.6", - "item": "psi:psimetal_exosuit_helmet", - "link_recipe": false, - "anchor": "helmet" - }, - { - "type": "crafting", - "text": "psi.book.page.exosuit.7", - "recipe": "psi:psimetal_exosuit_helmet" - }, - { - "type": "spotlight", - "text": "psi.book.page.exosuit.8", - "item": "psi:psimetal_exosuit_chestplate", - "link_recipe": false, - "anchor": "chestplate" - }, - { - "type": "crafting", - "text": "psi.book.page.exosuit.9", - "recipe": "psi:psimetal_exosuit_chestplate" - }, - { - "type": "spotlight", - "text": "psi.book.page.exosuit.10", - "item": "psi:psimetal_exosuit_leggings", - "link_recipe": false, - "anchor": "leggings" - }, - { - "type": "crafting", - "text": "psi.book.page.exosuit.11", - "recipe": "psi:psimetal_exosuit_leggings" - }, - { - "type": "spotlight", - "text": "psi.book.page.exosuit.12", - "item": "psi:psimetal_exosuit_boots", - "link_recipe": false, - "anchor": "boots" - }, - { - "type": "crafting", - "text": "psi.book.page.exosuit.13", - "recipe": "psi:psimetal_exosuit_boots" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/exosuit_sensor.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/exosuit_sensor.json deleted file mode 100644 index 85b10f8da..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/exosuit_sensor.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "psi.book.entry.exosuitSensor", - "category": "items", - "icon": "psi:exosuit_sensor_light", - "pages": [ - { - "type": "text", - "text": "psi.book.page.exosuitSensor.0" - }, - { - "type": "text", - "text": "psi.book.page.exosuitSensor.1" - }, - { - "type": "spotlight", - "text": "psi.book.page.exosuitSensor.2", - "item": "psi:exosuit_sensor_light", - "link_recipe": false, - "anchor": "light" - }, - { - "type": "crafting", - "text": "psi.book.page.exosuitSensor.3", - "recipe": "psi:exosuit_sensor_light" - }, - { - "type": "spotlight", - "text": "psi.book.page.exosuitSensor.4", - "item": "psi:exosuit_sensor_heat", - "link_recipe": false, - "anchor": "heat" - }, - { - "type": "crafting", - "text": "psi.book.page.exosuitSensor.5", - "recipe": "psi:exosuit_sensor_heat" - }, - { - "type": "spotlight", - "text": "psi.book.page.exosuitSensor.6", - "item": "psi:exosuit_sensor_stress", - "link_recipe": false, - "anchor": "stress" - }, - { - "type": "crafting", - "text": "psi.book.page.exosuitSensor.7", - "recipe": "psi:exosuit_sensor_stress" - }, - { - "type": "spotlight", - "text": "psi.book.page.exosuitSensor.8", - "item": "psi:exosuit_sensor_water", - "link_recipe": false, - "anchor": "water" - }, - { - "type": "crafting", - "text": "psi.book.page.exosuitSensor.9", - "recipe": "psi:exosuit_sensor_water" - }, - { - "type": "spotlight", - "text": "psi.book.page.exosuitSensor.10", - "item": "psi:exosuit_sensor_trigger", - "link_recipe": false, - "anchor": "trigger" - }, - { - "type": "crafting", - "text": "psi.book.page.exosuitSensor.11", - "recipe": "psi:exosuit_sensor_trigger" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/grenade_bullet.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/grenade_bullet.json deleted file mode 100644 index bd09b2948..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/grenade_bullet.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "psi.book.entry.grenadeBullet", - "category": "items", - "icon": "psi:spell_bullet_grenade", - "pages": [ - { - "type": "text", - "text": "psi.book.page.grenadeBullet.0" - }, - { - "type": "crafting", - "text": "psi.book.page.grenadeBullet.1", - "recipe": "psi:spell_bullet_grenade" - }, - { - "type": "text", - "text": "psi.book.page.grenadeBullet.2" - }, - { - "type": "text", - "text": "psi.book.page.grenadeBullet.3" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/loopcast_bullet.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/loopcast_bullet.json deleted file mode 100644 index 425beacc7..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/loopcast_bullet.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "psi.book.entry.loopcastBullet", - "category": "items", - "icon": "psi:spell_bullet_loop", - "pages": [ - { - "type": "text", - "text": "psi.book.page.loopcastBullet.0" - }, - { - "type": "crafting", - "text": "psi.book.page.loopcastBullet.1", - "recipe": "psi:spell_bullet_loopcast" - }, - { - "type": "text", - "text": "psi.book.page.loopcastBullet.2" - }, - { - "type": "text", - "text": "psi.book.page.loopcastBullet.3" - }, - { - "type": "text", - "text": "psi.book.page.loopcastBullet.4" - }, - { - "type": "text", - "text": "psi.book.page.loopcastBullet.5" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/mine_bullet.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/mine_bullet.json deleted file mode 100644 index f4c6b0037..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/mine_bullet.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "psi.book.entry.mineBullet", - "category": "items", - "icon": "psi:spell_bullet_mine", - "pages": [ - { - "type": "text", - "text": "psi.book.page.mineBullet.0" - }, - { - "type": "crafting", - "text": "psi.book.page.mineBullet.1", - "recipe": "psi:spell_bullet_mine" - }, - { - "type": "text", - "text": "psi.book.page.mineBullet.2" - }, - { - "type": "text", - "text": "psi.book.page.mineBullet.3" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/projectile_bullet.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/projectile_bullet.json deleted file mode 100644 index 52b6c671f..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/projectile_bullet.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "psi.book.entry.projectileBullet", - "category": "items", - "icon": "psi:spell_bullet_projectile", - "pages": [ - { - "type": "text", - "text": "psi.book.page.projectileBullet.0" - }, - { - "type": "crafting", - "text": "psi.book.page.projectileBullet.1", - "recipe": "psi:spell_bullet_projectile" - }, - { - "type": "text", - "text": "psi.book.page.projectileBullet.2" - }, - { - "type": "text", - "text": "psi.book.page.projectileBullet.3" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/spell_bullet.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/spell_bullet.json deleted file mode 100644 index 1ad6771e3..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/spell_bullet.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "psi.book.entry.spellBullet", - "category": "items", - "icon": "minecraft:air", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.spellBullet.0" - }, - { - "type": "relations", - "text": "psi.book.page.spellBullet.1", - "entries": [ - "items/spell_bullet", - "items/projectile_bullet", - "items/loopcast_bullet", - "items/circle_bullet", - "items/grenade_bullet", - "items/charge_bullet", - "items/mine_bullet" - ], - "title": "Types of Bullets" - }, - { - "type": "text", - "text": "psi.book.page.spellBullet.2" - }, - { - "type": "text", - "text": "psi.book.page.spellBullet.3" - }, - { - "type": "text", - "text": "psi.book.page.spellBullet.4" - }, - { - "type": "text", - "text": "psi.book.page.spellBullet.5" - }, - { - "type": "text", - "text": "psi.book.page.spellBullet.6" - }, - { - "type": "text", - "text": "psi.book.page.spellBullet.7" - }, - { - "type": "text", - "text": "psi.book.page.spellBullet.8", - "anchor": "focal_point" - }, - { - "type": "text", - "text": "psi.book.page.spellBullet.9" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/spell_drive.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/spell_drive.json deleted file mode 100644 index 3b367d23b..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/spell_drive.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "psi.book.entry.spellDrive", - "category": "items", - "icon": "psi:spell_drive", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.spellDrive.0" - }, - { - "type": "crafting", - "text": "psi.book.page.spellDrive.1", - "recipe": "psi:spell_drive" - }, - { - "type": "text", - "text": "psi.book.page.spellDrive.2" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/tools.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/tools.json deleted file mode 100644 index 1293b2daf..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/tools.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "psi.book.entry.tools", - "category": "items", - "icon": "psi:psimetal_pickaxe", - "pages": [ - { - "type": "text", - "text": "psi.book.page.tools.0" - }, - { - "type": "crafting_multi", - "text": "psi.book.page.tools.1", - "recipes": "psi:psimetal_sword;psi:psimetal_shovel;psi:psimetal_pickaxe;psi:psimetal_axe" - }, - { - "type": "text", - "text": "psi.book.page.tools.2" - }, - { - "type": "text", - "text": "psi.book.page.tools.3" - }, - { - "type": "text", - "text": "psi.book.page.tools.4" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/vector_ruler.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/vector_ruler.json deleted file mode 100644 index 04d908e1d..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/items/vector_ruler.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "psi.book.entry.vectorRuler", - "category": "items", - "icon": "psi:vector_ruler", - "priority": true, - "pages": [ - { - "type": "text", - "text": "psi.book.page.vectorRuler.0" - }, - { - "type": "crafting", - "text": "psi.book.page.vectorRuler.1", - "recipe": "psi:vector_ruler" - }, - { - "type": "text", - "text": "psi.book.page.vectorRuler.2" - }, - { - "type": "text", - "text": "psi.book.page.vectorRuler.3" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/block_conjuration.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/block_conjuration.json deleted file mode 100644 index 7bebec6a6..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/block_conjuration.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "psi.book.entry.blockConjuration", - "category": "legacy", - "icon": "psi:textures/spell/trick_conjure_block.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.blockConjuration.0" - }, - { - "type": "text", - "text": "psi.book.page.blockConjuration.1" - }, - { - "type": "text", - "text": "psi.book.page.blockConjuration.2" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/block_movement.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/block_movement.json deleted file mode 100644 index 91ed43a57..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/block_movement.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "psi.book.entry.blockMovement", - "category": "legacy", - "icon": "psi:textures/spell/trick_move_block.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.blockMovement.0" - }, - { - "type": "text", - "text": "psi.book.page.blockMovement.1" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/blockworks.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/blockworks.json deleted file mode 100644 index b4e5b01ce..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/blockworks.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "psi.book.entry.blockworks", - "category": "legacy", - "icon": "psi:textures/spell/trick_break_in_sequence.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.blockworks.0" - }, - { - "type": "text", - "text": "psi.book.page.blockworks.1" - }, - { - "type": "text", - "text": "psi.book.page.blockworks.2" - }, - { - "type": "text", - "text": "psi.book.page.blockworks.3" - }, - { - "type": "text", - "text": "psi.book.page.blockworks.4" - }, - { - "type": "text", - "text": "psi.book.page.blockworks.5" - }, - { - "type": "text", - "text": "psi.book.page.blockworks.6" - }, - { - "type": "text", - "text": "psi.book.page.blockworks.7" - }, - { - "type": "text", - "text": "psi.book.page.blockworks.8" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/detection_dynamics.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/detection_dynamics.json deleted file mode 100644 index cd7e26990..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/detection_dynamics.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "psi.book.entry.detectionDynamics", - "category": "legacy", - "icon": "psi:textures/spell/trick_switch_target_slot.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.detectionDynamics.0" - }, - { - "type": "text", - "text": "psi.book.page.detectionDynamics.1" - }, - { - "type": "text", - "text": "psi.book.page.detectionDynamics.2" - }, - { - "type": "text", - "text": "psi.book.page.detectionDynamics.3" - }, - { - "type": "text", - "text": "psi.book.page.detectionDynamics.4" - }, - { - "type": "text", - "text": "psi.book.page.detectionDynamics.5" - }, - { - "type": "text", - "text": "psi.book.page.detectionDynamics.6" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/eidos_manipulation.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/eidos_manipulation.json deleted file mode 100644 index c3eab8210..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/eidos_manipulation.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "psi.book.entry.eidosManipulation", - "category": "legacy", - "icon": "psi:textures/spell/trick_eidos_reversal.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.eidosManipulation.0" - }, - { - "type": "text", - "text": "psi.book.page.eidosManipulation.1" - }, - { - "type": "text", - "text": "psi.book.page.eidosManipulation.2" - }, - { - "type": "text", - "text": "psi.book.page.eidosManipulation.3" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/elemental_arts.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/elemental_arts.json deleted file mode 100644 index 560e2eef0..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/elemental_arts.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "psi.book.entry.elementalArts", - "category": "legacy", - "icon": "psi:textures/spell/trick_smite.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.elementalArts.0" - }, - { - "type": "text", - "text": "psi.book.page.elementalArts.1" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/entities101.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/entities101.json deleted file mode 100644 index eb336f5c5..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/entities101.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "psi.book.entry.entities101", - "category": "legacy", - "icon": "psi:textures/spell/operator_closest_to_point.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.entities101.0" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/flow_control.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/flow_control.json deleted file mode 100644 index 759abb1e4..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/flow_control.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "psi.book.entry.flowControl", - "category": "legacy", - "icon": "psi:textures/spell/trick_delay.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.flowControl.0" - }, - { - "type": "text", - "text": "psi.book.page.flowControl.1" - }, - { - "type": "text", - "text": "psi.book.page.flowControl.2" - }, - { - "type": "text", - "text": "psi.book.page.flowControl.3" - }, - { - "type": "text", - "text": "psi.book.page.flowControl.4" - }, - { - "type": "text", - "text": "psi.book.page.flowControl.5" - }, - { - "type": "text", - "text": "psi.book.page.flowControl.6" - }, - { - "type": "text", - "text": "psi.book.page.flowControl.7" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/memory_management.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/memory_management.json deleted file mode 100644 index 94f62ab8b..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/memory_management.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "psi.book.entry.memoryManagement", - "category": "legacy", - "icon": "psi:textures/spell/trick_save_vector.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.memoryManagement.0" - }, - { - "type": "text", - "text": "psi.book.page.memoryManagement.1" - }, - { - "type": "text", - "text": "psi.book.page.memoryManagement.2" - }, - { - "type": "text", - "text": "psi.book.page.memoryManagement.3" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/movement_advances.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/movement_advances.json deleted file mode 100644 index 9e3c80f8c..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/movement_advances.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "psi.book.entry.movementAdvances", - "category": "legacy", - "icon": "psi:textures/spell/trick_blink.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.movementAdvances.0" - }, - { - "type": "text", - "text": "psi.book.page.movementAdvances.1" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/negative_effects.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/negative_effects.json deleted file mode 100644 index 15ba1aafd..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/negative_effects.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "psi.book.entry.negativeEffects", - "category": "legacy", - "icon": "psi:textures/spell/trick_wither.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.negativeEffects.0" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/positive_effects.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/positive_effects.json deleted file mode 100644 index 3d5e927cb..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/positive_effects.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "psi.book.entry.positiveEffects", - "category": "legacy", - "icon": "psi:textures/spell/trick_speed.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.positiveEffects.0" - }, - { - "type": "text", - "text": "psi.book.page.positiveEffects.1" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/secondary_operators.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/secondary_operators.json deleted file mode 100644 index ef9ef1efe..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/secondary_operators.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "psi.book.entry.secondaryOperators", - "category": "legacy", - "icon": "psi:textures/spell/operator_square.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.secondaryOperators.0" - }, - { - "type": "text", - "text": "psi.book.page.secondaryOperators.1" - }, - { - "type": "text", - "text": "psi.book.page.secondaryOperators.2" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/smeltery.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/smeltery.json deleted file mode 100644 index 73fac64f2..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/smeltery.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "psi.book.entry.smeltery", - "category": "legacy", - "icon": "psi:textures/spell/trick_smelt_item.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.smeltery.0" - }, - { - "type": "text", - "text": "psi.book.page.smeltery.1" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/trigonometry.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/trigonometry.json deleted file mode 100644 index 9b77e1af0..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/trigonometry.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "psi.book.entry.trigonometry", - "category": "legacy", - "icon": "psi:textures/spell/constant_pi.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.trigonometry.0" - }, - { - "type": "text", - "text": "psi.book.page.trigonometry.1" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/vectors101.json b/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/vectors101.json deleted file mode 100644 index 54116d5c2..000000000 --- a/src/main/resources/data/psi/patchouli_books/encyclopaedia_psionica/c/entries/legacy/vectors101.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "psi.book.entry.vectors101", - "category": "legacy", - "icon": "psi:textures/spell/operator_vector_construct.png", - "pages": [ - { - "type": "text", - "text": "psi.book.page.vectors101.0" - }, - { - "type": "text", - "text": "psi.book.page.vectors101.1" - } - ] -} \ No newline at end of file