From 64517f71bb50d245ea1dbd6d5d5119db7ea40902 Mon Sep 17 00:00:00 2001 From: copygirl Date: Fri, 22 Jul 2022 21:00:23 +0200 Subject: [PATCH] Add Every Compat --- docs/MODS.md | 2 + .../recipes/stonecutter_cuts_wood.js | 276 +++++++++++++++--- mods/every-compat.pw.toml | 13 + 3 files changed, 245 insertions(+), 46 deletions(-) create mode 100644 mods/every-compat.pw.toml diff --git a/docs/MODS.md b/docs/MODS.md index 3c33f86..7cbd674 100644 --- a/docs/MODS.md +++ b/docs/MODS.md @@ -54,6 +54,8 @@ Sleeping bags that don't set your spawn and hammocks that skip day - ![](icon/mr.png) [Eccentric Tome](https://modrinth.com/mod/eccentric-tome) - Book for storing other guide books +- ![](icon/cf.png) [Every Compat](https://www.curseforge.com/minecraft/mc-mods/every-compat) - + Craft certain modded blocks from additional modded materials - ![](icon/cf.png) [Farmer's Delight](https://www.curseforge.com/minecraft/mc-mods/farmers-delight) - More crops, cooking utensils, food and meals with effects - ![](icon/cf.png) [Copper's Delight](https://www.curseforge.com/minecraft/mc-mods/coppers-delight) - diff --git a/kubejs/server_scripts/recipes/stonecutter_cuts_wood.js b/kubejs/server_scripts/recipes/stonecutter_cuts_wood.js index 2a8a31e..1d69a3f 100644 --- a/kubejs/server_scripts/recipes/stonecutter_cuts_wood.js +++ b/kubejs/server_scripts/recipes/stonecutter_cuts_wood.js @@ -43,10 +43,36 @@ onEvent("recipes", event => { let WOOD_TYPES = { minecraft: [ "oak", "spruce", "birch", "jungle", "acacia", "dark_oak", "crimson", "warped" ], biomesoplenty: [ "cherry", "dead", "fir", "hellbark", "jacaranda", "magic", "mahogany", "palm", "redwood", "umbran", "willow" ], + botania: [ "livingwood", "dreamwood" ], + nourished_end: [ "seldge", "verdant", "cerulean" ], + malum: [ "runewood", "soulwood" ], + tconstruct: [ "greenheart", "skyroot", "bloodshroom" ], twilightforest: [ "twilight_oak", "canopy", "mangrove", "dark", "time", "transformation", "mining", "sorting" ], quark: [ "azalea", "blossom" ], }; + let EVERY_COMPAT_TYPES = [ + "ladder", "post", "stripped_post", "vertical_planks", + "beam", "palisade", "support", "seat", + "backpack_shelf", "banister", + ]; + function makeEveryCompatFormat(mod) { return { + // Quark + ladder: `{MOD}:q/${mod}/{WOOD}_ladder`, + post: `{MOD}:q/${mod}/{WOOD}_post`, + stripped_post: `{MOD}:q/${mod}/stripped_{WOOD}_post`, + vertical_planks: `{MOD}:q/${mod}/vertical_{WOOD}_planks`, + // Decorative Blocks + beam: `{MOD}:db/${mod}/{WOOD}_beam`, + palisade: `{MOD}:db/${mod}/{WOOD}_palisade`, + support: `{MOD}:db/${mod}/{WOOD}_support`, + seat: `{MOD}:db/${mod}/{WOOD}_seat`, + // Backpacked + backpack_shelf: `{MOD}:bp/${mod}/{WOOD}_backpack_shelf`, + // Twilight Forest + banister: `{MOD}:tf/${mod}/{WOOD}_banister`, + }; } + let DEFAULT_FORMAT = { DEFAULT: "{MOD}:{WOOD}_{TYPE}", any_log: "#{MOD}:{WOOD}_logs", @@ -57,6 +83,9 @@ onEvent("recipes", event => { }; let DEFINITIONS = { + // =============================== + // ========== MINECRAFT ========== + // =============================== minecraft: [ { woods: WOOD_TYPES.minecraft, @@ -78,17 +107,154 @@ onEvent("recipes", event => { }, }, { - woods: [ "oak" ], - types: [ "ladder" ], + woods: [ "oak" ], types: [ "ladder" ], format: { ladder: "{MOD}:{TYPE}" }, }, ], - decorative_blocks: [ + // ====================================== + // ========== BIOMES O' PLENTY ========== + // ====================================== + biomesoplenty: [ { - woods: WOOD_TYPES.minecraft, - types: [ "beam", "palisade", "support", "seat" ], + woods: WOOD_TYPES.biomesoplenty, + types: [ + "any_log", "log", "wood", "stripped_log", "stripped_wood", + "planks", "stairs", "slab", "door", "trapdoor", "fence", "fence_gate", + "sign", "button", "pressure_plate", "boat", + ], }, ], + // ============================= + // ========== BOTANIA ========== + // ============================= + botania: [ + { + woods: WOOD_TYPES.botania, + types: [ + "any_log", "log", "wood", "stripped_log", "stripped_wood", + "planks", "stairs", "slab", "fence", "fence_gate", + ], + format: { + wood: "{MOD}:{WOOD}", + stripped_wood: "{MOD}:stripped_{WOOD}", + stairs: "{MOD}:{WOOD}_planks_{TYPE}", + slab: "{MOD}:{WOOD}_planks_{TYPE}", + }, + }, + ], + // =================================== + // ========== NOURISHED END ========== + // =================================== + nourished_end: [ + { + woods: WOOD_TYPES.nourished_end, + types: [ + "any_log", "log", "wood", "stripped_log", "stripped_wood", + "planks", "door", "trapdoor", "fence", "fence_gate", + "button", "pressure_plate", + ], + format: { + // any_log: "#{MOD}:{WOOD}_stems", + log: "{MOD}:{WOOD}_stem", + wood: "{MOD}:{WOOD}_hyphae", + stripped_log: "{MOD}:stripped_{WOOD}_stem", + stripped_wood: "{MOD}:stripped_{WOOD}_hyphae", + }, + }, + { + woods: [ "seldge" ], + types: [ "stripped_log" ], + format: { stripped_log: "{MOD}:stripped_{WOOD}_log" }, + }, + { + woods: [ "verdant" ], + types: [ "any_log", "log" ], + format: { + any_log: "#{MOD}:{WOOD}_log", + log: "{MOD}:{WOOD}_stalk", + }, + }, + { + woods: [ "cerulean" ], + types: [ "log", "wood", "stripped_log", ], + format: { + log: "{MOD}:{WOOD}_stem_thick", + wood: "{MOD}:{WOOD}_wood", + stripped_log: "{MOD}:{WOOD}_stem_stripped", + }, + }, + ], + // =========================== + // ========== MALUM ========== + // =========================== + malum: [ + { + woods: WOOD_TYPES.malum, + types: [ + "any_log", "log", "wood", "stripped_log", "stripped_wood", + "planks", "door", "trapdoor", "fence", "fence_gate", + "sign", "boat", "vertical_planks", "beam", + ], + format: { + wood: "{MOD}:{WOOD}", + stripped_wood: "{MOD}:stripped_{WOOD}", + }, + }, + { + woods: WOOD_TYPES.malum, + types: [ "stairs", "slab", "fence", "fence_gate", "button", "pressure_plate" ], + format: { DEFAULT: "{MOD}:{WOOD}_planks_{TYPE}" }, + }, + ], + // ======================================== + // ========== TINKERS' CONSTRUCT ========== + // ======================================== + tconstruct: [ + { + woods: WOOD_TYPES.tconstruct, + types: [ + "any_log", "log", "wood", "stripped_log", "stripped_wood", + "planks", "door", "trapdoor", "fence", "fence_gate", + "sign", "button", "pressure_plate", + ], + }, + ], + // ===================================== + // ========== TWILIGHT FOREST ========== + // ===================================== + twilightforest: [ + { + woods: WOOD_TYPES.twilightforest, + types: [ + "any_log", "log", "wood", "stripped_log", "stripped_wood", + "planks", "stairs", "slab", "door", "trapdoor", "fence", "fence_gate", + "sign", "button", "pressure_plate", + ], + }, + { + woods: WOOD_TYPES.minecraft.concat(WOOD_TYPES.twilightforest), + types: [ "banister" ], + }, + { + woods: [ "dark" ], types: [ "sign", "banister" ], + format: { DEFAULT: "{MOD}:darkwood_{TYPE}" }, + }, + { + woods: [ "time", "dark" ], types: [ "any_log" ], + format: { any_log: "#{MOD}:{WOOD}wood_logs" } + }, + { + woods: [ "transformation" ], types: [ "any_log" ], + format: { any_log: "#{MOD}:transwood_logs" } + }, + { + woods: [ "sorting" ], types: [ "any_log" ], + format: { any_log: "#{MOD}:sortwood_logs" } + }, + ], + // =========================== + // ========== QUARK ========== + // =========================== quark: [ { woods: WOOD_TYPES.quark, @@ -113,6 +279,18 @@ onEvent("recipes", event => { types: [ "ladder" ], }, ], + // ======================================= + // ========== DECORATIVE BLOCKS ========== + // ======================================= + decorative_blocks: [ + { + woods: WOOD_TYPES.minecraft, + types: [ "beam", "palisade", "support", "seat" ], + }, + ], + // =========================== + // ========== ADORN ========== + // =========================== adorn: [ { woods: WOOD_TYPES.minecraft, @@ -124,68 +302,57 @@ onEvent("recipes", event => { format: { DEFAULT: "{MOD}:biomesoplenty/{WOOD}_{TYPE}" }, }, ], + // ================================ + // ========== BACKPACKED ========== + // ================================ backpacked: [ { woods: WOOD_TYPES.minecraft, types: [ "backpack_shelf" ], }, ], - biomesoplenty: [ - { - woods: WOOD_TYPES.biomesoplenty, - types: [ - "any_log", "log", "wood", "stripped_log", "stripped_wood", - "planks", "stairs", "slab", "door", "trapdoor", "fence", "fence_gate", - "sign", "button", "pressure_plate", "boat", - ], - } - ], + // ====================================== + // ========== COMPAT O' PLENTY ========== + // ====================================== compatoplenty: [ { woods: WOOD_TYPES.biomesoplenty, - types: [ "vertical_planks", "vertical_slab", "post", "stripped_post", "ladder" ], + types: [ "ladder", "vertical_planks", "vertical_slab", "post", "stripped_post" ], }, ], - twilightforest: [ + // ================================== + // ========== EVERY COMPAT ========== + // ================================== + everycomp: [ { - woods: WOOD_TYPES.twilightforest, - types: [ - "any_log", "log", "wood", "stripped_log", "stripped_wood", - "planks", "stairs", "slab", "door", "trapdoor", "fence", "fence_gate", - "button", "pressure_plate", - ], + woods: WOOD_TYPES.biomesoplenty, + types: [ "beam", "palisade", "support", "seat", "backpack_shelf", "banister" ], + format: makeEveryCompatFormat("biomesoplenty"), }, { - woods: WOOD_TYPES.twilightforest.filter(wood => wood != "dark"), - types: [ "sign" ], + woods: WOOD_TYPES.botania, + types: EVERY_COMPAT_TYPES, + format: makeEveryCompatFormat("botania"), }, { - woods: WOOD_TYPES.minecraft.concat(WOOD_TYPES.twilightforest).filter(wood => wood != "dark"), - types: [ "banister" ], + woods: WOOD_TYPES.nourished_end, + types: EVERY_COMPAT_TYPES, + format: makeEveryCompatFormat("nourished_end"), }, { - woods: [ "dark" ], - types: [ "sign", "banister" ], - format: { DEFAULT: "{MOD}:darkwood_{TYPE}" }, + woods: WOOD_TYPES.malum, + types: [ "palisade", "support", "seat", "backpack_shelf", "banister" ], + format: makeEveryCompatFormat("malum"), }, - ], - malum: [ { - woods: [ "runewood", "soulwood" ], - types: [ - "any_log", "log", "wood", "stripped_log", "stripped_wood", - "planks", "door", "trapdoor", "fence", "fence_gate", - "sign", "boat", "vertical_planks", "beam", - ], - format: { - wood: "{MOD}:{WOOD}", - stripped_wood: "{MOD}:stripped_{WOOD}", - }, + woods: WOOD_TYPES.tconstruct, + types: EVERY_COMPAT_TYPES, + format: makeEveryCompatFormat("tconstruct"), }, { - woods: [ "runewood", "soulwood" ], - types: [ "stairs", "slab", "fence", "fence_gate", "button", "pressure_plate" ], - format: { DEFAULT: "{MOD}:{WOOD}_planks_{TYPE}" }, + woods: WOOD_TYPES.twilightforest, + types: EVERY_COMPAT_TYPES.filter(type => type != "banister"), + format: makeEveryCompatFormat("twilightforest"), }, ], }; @@ -221,8 +388,25 @@ onEvent("recipes", event => { } } + // Additional Botania wood blocks + for (let wood of WOOD_TYPES.botania) { + event.stonecutting(`4x botania:framed_${wood}` , `#botania:${wood}_logs`); + event.stonecutting(`4x botania:pattern_framed_${wood}`, `#botania:${wood}_logs`); + + event.stonecutting(`botania:framed_${wood}` , `botania:${wood}_planks`); + event.stonecutting(`botania:pattern_framed_${wood}`, `botania:${wood}_planks`); + + event.stonecutting( `botania:${wood}_stairs`, `botania:${wood}`); + event.stonecutting(`2x botania:${wood}_slab` , `botania:${wood}`); + event.stonecutting( `botania:${wood}_wall` , `botania:${wood}`); + + event.stonecutting( `botania:stripped_${wood}_stairs`, `botania:stripped_${wood}`); + event.stonecutting(`2x botania:stripped_${wood}_slab` , `botania:stripped_${wood}`); + event.stonecutting( `botania:stripped_${wood}_wall` , `botania:stripped_${wood}`); + } + // Additional Malum wood blocks - for (let wood of [ "runewood", "soulwood" ]) { + for (let wood of WOOD_TYPES.malum) { event.stonecutting(`4x malum:${wood}_panel`, `#malum:${wood}_logs`); event.stonecutting(`4x malum:${wood}_tiles`, `#malum:${wood}_logs`); diff --git a/mods/every-compat.pw.toml b/mods/every-compat.pw.toml new file mode 100644 index 0000000..6afdef5 --- /dev/null +++ b/mods/every-compat.pw.toml @@ -0,0 +1,13 @@ +name = "Every Compat" +filename = "everycomp-1.18.2-1.5.9.jar" +side = "both" + +[download] +hash-format = "sha1" +hash = "8779b496650b2b19911bf7065fbfe830b17136de" +mode = "metadata:curseforge" + +[update] +[update.curseforge] +file-id = 3872509 +project-id = 628539