From ce668809af884e0f8198aebbcad04d55ed6c3b1b Mon Sep 17 00:00:00 2001 From: MundM2007 Date: Sun, 23 Jun 2024 21:09:28 +0200 Subject: [PATCH] intitial release - added better compatability checker - added official server to list, defautl options - added quests for pipez and storage drawers - added simple rpc - death waypoint for ftb chunks are now disabled - hid energy, gas and universal pipe from pipez - fixed hoppers not correctly interacting with pushers and shulkers - changed recipes from pipez and storagedrawers - added ways to automate storagedrawers and pipez mods and many recipes from minecraft - fixed many recipes - fixed steel hammer recipes and renamed hammer to iron hammer --- config/bcc-common.toml | 14 + config/defaultoptions/servers.dat | Bin 0 -> 129 bytes config/ftbquests/quests/chapters/tier_1.snbt | 34 ++- config/ftbquests/quests/chapters/tier_2.snbt | 17 ++ config/simple-rpc/server-entries.toml | 7 + config/simple-rpc/simple-rpc.toml | 241 ++++++++++++++++++ defaultconfigs/ftbchunks/client-config.snbt | 9 + .../item/ee/{hammer.png => iron_hammer.png} | Bin .../item/itemfilters/drawer_template_1x1.png | Bin 0 -> 306 bytes .../item/itemfilters/drawer_template_1x2.png | Bin 0 -> 317 bytes .../item/itemfilters/drawer_template_2x2.png | Bin 0 -> 319 bytes .../textures/item/itemfilters/license.txt | 165 ++++++++++++ kubejs/client_scripts/JeiCategories.js | 8 +- kubejs/client_scripts/jeiHide.js | 4 + kubejs/server_scripts/machineAPI.js | 18 +- .../server_scripts/machines/recipeIndexed.js | 2 +- kubejs/server_scripts/machines/simple.js | 2 +- kubejs/server_scripts/recipes/remove.js | 17 ++ kubejs/server_scripts/recipes/tier0.js | 6 + kubejs/server_scripts/recipes/tier1.js | 187 +++++++++++--- kubejs/server_scripts/recipes/tier2.js | 30 ++- kubejs/startup_scripts/items.js | 5 +- kubejs/startup_scripts/recipes/assembler.js | 182 ++++++++++++- kubejs/startup_scripts/recipes/compressor.js | 2 +- .../recipes/cutting_machine.js | 19 +- kubejs/startup_scripts/recipes/functions.js | 119 ++++++++- kubejs/startup_scripts/recipes/furnace.js | 90 +------ kubejs/startup_scripts/recipes/macerator.js | 39 +-- kubejs/startup_scripts/recipes/mixer.js | 4 +- kubejs/startup_scripts/recipes/packer.js | 94 ++++++- kubejs/startup_scripts/recipes/unpacker.js | 22 +- 31 files changed, 1150 insertions(+), 187 deletions(-) create mode 100644 config/bcc-common.toml create mode 100644 config/defaultoptions/servers.dat create mode 100644 config/simple-rpc/server-entries.toml create mode 100644 config/simple-rpc/simple-rpc.toml create mode 100644 defaultconfigs/ftbchunks/client-config.snbt rename kubejs/assets/kubejs/textures/item/ee/{hammer.png => iron_hammer.png} (100%) create mode 100644 kubejs/assets/kubejs/textures/item/itemfilters/drawer_template_1x1.png create mode 100644 kubejs/assets/kubejs/textures/item/itemfilters/drawer_template_1x2.png create mode 100644 kubejs/assets/kubejs/textures/item/itemfilters/drawer_template_2x2.png create mode 100644 kubejs/assets/kubejs/textures/item/itemfilters/license.txt diff --git a/config/bcc-common.toml b/config/bcc-common.toml new file mode 100644 index 0000000..0caba35 --- /dev/null +++ b/config/bcc-common.toml @@ -0,0 +1,14 @@ + +#General settings +[general] + #The CurseForge project ID for the modpack + #Range: > 0 + modpackProjectID = 1046852 + #The name of the modpack + modpackName = "Factorized Inventory" + #The version of the modpack + modpackVersion = "0.1.0" + #Use the metadata.json to determine the modpack version + #ONLY ENABLE THIS IF YOU KNOW WHAT YOU ARE DOING + useMetadata = false + diff --git a/config/defaultoptions/servers.dat b/config/defaultoptions/servers.dat new file mode 100644 index 0000000000000000000000000000000000000000..cf8ee0017cce58412865afa1ad797c1a0ed123f9 GIT binary patch literal 129 zcmX|)!3x4K5CvaEYTK*#k}v2_2!f}AenDt9bfMjZO$_MQTRnIj24;Go!zq(i(%b_u z2Ir(yNlLyfuG}d_Eg3D2;x@uCg}^hr)n46PqVk)(y-Br?U!%o=6Nd12EZv$rt$=6gXUaPyGM?WDk>+*VAjk&l@e@ zMHV}0?%$xcL^`Z>$~Gq61?;JzH$?Sb6!Nn?TbyvpRl&(QNr7vka23x2i-X4-ZgMYO z=*c==mc>MMO0dF=BvXM4+uq;daJT>CFhgz?YtY9{ei?_I)_yec4Sf}`tT0||+0ln? rjvFfk_T`#Rk@#CE)}kKQGROaR0`Jd){vH*e^B6o`{an^LB{Ts5(x7pE literal 0 HcmV?d00001 diff --git a/kubejs/assets/kubejs/textures/item/itemfilters/drawer_template_1x2.png b/kubejs/assets/kubejs/textures/item/itemfilters/drawer_template_1x2.png new file mode 100644 index 0000000000000000000000000000000000000000..744c9b3e7ec6582bc3a8cfad0d9310342de2edf1 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij?1AIbU|NQy$=FOY?_wV1hal_2atf;66C?l=9g%L=xmjw9*{|5sGDQ{*s zpb%$)M`SSr1K&XqX529``z=s#o~Mgrh=u>s$+!8AC~&aGdj0+HAJ^CLwdvZ~bIpo# zI#nkw`*UdK1hF|>nzbxa4*aK97D(zuRI)OC*4=T5!zCkwCq(g8i#l6?)xv(pVttRp zlbG6MSxii?XbHr8G#0quz#B)y_WH7Qq$w*CvJc%bd0~{jHmiT+W^q z)HY|{?#LNZ?b57AA3OfYU%l|ijs9YVHx+_K|CrA7@P6dU710H{l)=;0&t;ucLK6Vt Ce|N$F literal 0 HcmV?d00001 diff --git a/kubejs/assets/kubejs/textures/item/itemfilters/drawer_template_2x2.png b/kubejs/assets/kubejs/textures/item/itemfilters/drawer_template_2x2.png new file mode 100644 index 0000000000000000000000000000000000000000..3b75db1f9f8f758ef80def2c55313cdf2e703eee GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij?1AIbU|NQy$=FOY?_wV1hal_2atf;66C?l=9g%L=xmjw9*{|5sGDQ{*s zpb%$)M`SSr1K$AtznT_=`;p)J2i&X% + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. \ No newline at end of file diff --git a/kubejs/client_scripts/JeiCategories.js b/kubejs/client_scripts/JeiCategories.js index 64787fa..00038a3 100644 --- a/kubejs/client_scripts/JeiCategories.js +++ b/kubejs/client_scripts/JeiCategories.js @@ -70,7 +70,10 @@ JEIAddedEvents.registerRecipes((event) => { } let cuttingMachine = event.custom("kubejs:inventory_cutting_machine_tier_1") let cuttingMachineTemplate = event.custom("kubejs:inventory_cutting_machine_tier_1_template") - let seenCuttingMachineDisplay = { + let seenCuttingMachineDisplay = { + drawer_template_1x1: {}, + drawer_template_1x2: {}, + drawer_template_2x2: {}, air: {}, block_template: {}, boat_template: {}, @@ -102,6 +105,9 @@ JEIAddedEvents.registerRecipes((event) => { let packer = event.custom("kubejs:inventory_packer_tier_1") let packerTemplate = event.custom("kubejs:inventory_packer_tier_1_template") let seenPackerDisplay = { + drawer_template_1x1: {}, + drawer_template_1x2: {}, + drawer_template_2x2: {}, air: {}, block_template: {}, boat_template: {}, diff --git a/kubejs/client_scripts/jeiHide.js b/kubejs/client_scripts/jeiHide.js index 12b93c1..ecf1762 100644 --- a/kubejs/client_scripts/jeiHide.js +++ b/kubejs/client_scripts/jeiHide.js @@ -42,4 +42,8 @@ JEIEvents.hideItems(event => { event.hide("kubejs:zinc_crushed_ore") event.hide(/itemfilters:.*/) + + event.hide("pipez:energy_pipe") + event.hide("pipez:gas_pipe") + event.hide("pipez:universal_pipe") }) \ No newline at end of file diff --git a/kubejs/server_scripts/machineAPI.js b/kubejs/server_scripts/machineAPI.js index 240bf6a..2024257 100644 --- a/kubejs/server_scripts/machineAPI.js +++ b/kubejs/server_scripts/machineAPI.js @@ -30,7 +30,7 @@ function canInsert(inventory, slotIndex, item){ if(leftToInsert <= 0) return true } } - }else if(slotItem.is("kubejs:inventory_pusher_tier_1")){ + }else if(/kubejs:inventory_pusher_tier_.$/.test(slotItem.id)){ if(!slotItem.nbt) return true if(!slotItem.nbt.Item) return true let pusherItem = $ItemStack.of(slotItem.nbt.Item) @@ -52,7 +52,7 @@ function canInsertAnyItem(inventory, slotIndex){ if(!slotItem.nbt.BlockEntityTag) return true if(!slotItem.nbt.BlockEntityTag.Items) return true if(slotItem.nbt.BlockEntityTag.Items.length < 27) return true - }else if(slotItem.is("kubejs:inventory_pusher_tier_1")){ + }else if(/kubejs:inventory_pusher_tier_.$/.test(slotItem.id)){ if(!slotItem.nbt) return true if(!slotItem.nbt.Item) return true if($ItemStack.of(slotItem.nbt.Item).isEmpty()) return true @@ -71,16 +71,16 @@ function getAmountCanInsert(inventory, slotIndex, item){ if(!slotItem.nbt.BlockEntityTag) return item.count if(!slotItem.nbt.BlockEntityTag.Items) return item.count if(slotItem.nbt.BlockEntityTag.Items.length < 27) return item.count - let canInsert = item.count + let canInsert = 0 for(let i = 0; i < slotItem.nbt.BlockEntityTag.Items.length; i++){ let shulkerItem = $ItemStack.of(slotItem.nbt.BlockEntityTag.Items[i]) if($ItemStack.isSameItemSameTags(shulkerItem, item)){ - leftToInsert += shulkerItem.getMaxStackSize() - shulkerItem.count + canInsert += shulkerItem.getMaxStackSize() - shulkerItem.count if(canInsert > item.count) return item.count } } return canInsert - }else if(slotItem.is("kubejs:inventory_pusher_tier_1")){ + }else if(/kubejs:inventory_pusher_tier_.$/.test(slotItem.id)){ if(!slotItem.nbt) return item.count if(!slotItem.nbt.Item) return item.count let pusherItem = $ItemStack.of(slotItem.nbt.Item) @@ -148,7 +148,7 @@ function insertItem(inventory, slotIndex, item){ } } } - }else if(slotItem.is("kubejs:inventory_pusher_tier_1")){ + }else if(/kubejs:inventory_pusher_tier_.$/.test(slotItem.id)){ if(!slotItem.nbt) slotItem.nbt = {Item: convertToJson(item, 0)} else{ if(slotItem.nbt.Item){ slotItem.nbt.Item.Count += item.count} @@ -211,7 +211,7 @@ function canExtract(inventory, slotIndex, item){ if(leftToExtract <= 0) return true } } - }else if(slotItem.is("kubejs:inventory_puller_tier_1")){ + }else if(/kubejs:inventory_puller_tier_.$/.test(slotItem.id)){ if(!slotItem.nbt) return false if(!slotItem.nbt.Item) return false let pullerItem = $ItemStack.of(slotItem.nbt.Item) @@ -259,7 +259,7 @@ function extractItem(inventory, slotIndex, item){ for(let i = toSplice.length - 1; i >= 0; i--){ slotItem.nbt.BlockEntityTag.Items.remove(toSplice[i]) } - }else if(slotItem.is("kubejs:inventory_puller_tier_1")){ + }else if(/kubejs:inventory_puller_tier_.$/.test(slotItem.id)){ let pullerItem = $ItemStack.of(slotItem.nbt.Item) if(pullerItem.count > item.count){ slotItem.nbt.Item.Count = pullerItem.count - item.count @@ -305,7 +305,7 @@ function getExtractItem(inventory, slotIndex){ return $ItemStack.of(slotItem.nbt.BlockEntityTag.Items[i]) } return Item.of("minecraft:air") - }else if(slotItem.is("kubejs:inventory_puller_tier_1")){ + }else if(/kubejs:inventory_puller_tier_.$/.test(slotItem.id)){ if(!slotItem.nbt) return Item.of("minecraft:air") if(!slotItem.nbt.Item) return Item.of("minecraft:air") return $ItemStack.of(slotItem.nbt.Item) diff --git a/kubejs/server_scripts/machines/recipeIndexed.js b/kubejs/server_scripts/machines/recipeIndexed.js index 244970e..da06abf 100644 --- a/kubejs/server_scripts/machines/recipeIndexed.js +++ b/kubejs/server_scripts/machines/recipeIndexed.js @@ -186,7 +186,7 @@ function getRecipeIndexedMachineRecipe(recipes, slotItems, amountSlots, tier){ break } } - }else if(slotItem.is("kubejs:inventory_puller_tier_1")){ + }else if(/kubejs:inventory_puller_tier_.$/.test(slotItem.id)){ if(!slotItem.nbt) continue if(!slotItem.nbt.Item) continue let doneSomething = false diff --git a/kubejs/server_scripts/machines/simple.js b/kubejs/server_scripts/machines/simple.js index 8f4add3..455781b 100644 --- a/kubejs/server_scripts/machines/simple.js +++ b/kubejs/server_scripts/machines/simple.js @@ -114,7 +114,7 @@ function getRecipeSimpleMachine(machine, slotItem, tier, templateItem){ return [$ItemStack.of(shulkerItem), recipe] } } - }else if(slotItem.is("kubejs:inventory_puller_tier_1")){ + }else if(/kubejs:inventory_puller_tier_.$/.test(slotItem.id)){ if(!slotItem.nbt) return [] if(!slotItem.nbt.Item) return [] let pullerItem = $ItemStack.of(slotItem.nbt.Item) diff --git a/kubejs/server_scripts/recipes/remove.js b/kubejs/server_scripts/recipes/remove.js index 9518db5..6597dfc 100644 --- a/kubejs/server_scripts/recipes/remove.js +++ b/kubejs/server_scripts/recipes/remove.js @@ -5,4 +5,21 @@ ServerEvents.recipes(event => { event.remove({type: "minecraft:campfire_cooking"}) event.remove({mod: "itemfilters"}) + + event.remove({id: 'storagedrawers:compacting_drawers_3'}) + event.remove({id: 'storagedrawers:controller'}) + event.remove({id: 'storagedrawers:controller_slave'}) + + event.remove({id: 'storagedrawers:obsidian_storage_upgrade'}) + event.remove({id: 'storagedrawers:iron_storage_upgrade'}) + event.remove({id: 'storagedrawers:gold_storage_upgrade'}) + event.remove({id: 'storagedrawers:diamond_storage_upgrade'}) + event.remove({id: 'storagedrawers:emerald_storage_upgrade'}) + + event.remove({id: 'pipez:item_pipe'}) + event.remove({id: 'pipez:fluid_pipe'}) + event.remove({id: 'pipez:energy_pipe'}) + event.remove({id: 'pipez:gas_pipe'}) + event.remove({id: 'pipez:universal_pipe'}) + event.remove({id: 'pipez:ultimate_upgrade'}) }) \ No newline at end of file diff --git a/kubejs/server_scripts/recipes/tier0.js b/kubejs/server_scripts/recipes/tier0.js index 8c1d764..903deff 100644 --- a/kubejs/server_scripts/recipes/tier0.js +++ b/kubejs/server_scripts/recipes/tier0.js @@ -1,3 +1,5 @@ +// priority: 100 + function addStorage(event, material){ event.shapeless(`kubejs:${material}_storage_block`, `9x kubejs:${material}_ingot`) event.shapeless(`9x kubejs:${material}_ingot`, `kubejs:${material}_storage_block`) @@ -16,6 +18,10 @@ function addStorageAll(event, material){ } ServerEvents.recipes(event => { + global.hammers = Ingredient.of([ + "kubejs:iron_hammer", + "kubejs:steel_hammer", + ]) //addStorageAll(event, "aluminum") addStorage(event, "battery_alloy") addStorage(event, "brass") diff --git a/kubejs/server_scripts/recipes/tier1.js b/kubejs/server_scripts/recipes/tier1.js index 11b3907..d2d0e1d 100644 --- a/kubejs/server_scripts/recipes/tier1.js +++ b/kubejs/server_scripts/recipes/tier1.js @@ -6,8 +6,8 @@ function addGearRotorRecipe(event, material){ ], { R: `kubejs:${material}_ring`, P: `kubejs:${material}_plate`, - H: "kubejs:hammer" - }).damageIngredient("kubejs:hammer", 2) + H: global.hammers + }).damageIngredient(global.hammers, 2) event.shaped(`kubejs:${material}_gear`, [ "PHP", "PRP", @@ -15,8 +15,8 @@ function addGearRotorRecipe(event, material){ ], { R: `kubejs:${material}_ring`, P: `kubejs:${material}_plate`, - H: "kubejs:hammer" - }).damageIngredient("kubejs:hammer", 2) + H: global.hammers + }).damageIngredient(global.hammers, 2) event.shaped(`kubejs:${material}_rotor`, [ "PMP", @@ -27,8 +27,8 @@ function addGearRotorRecipe(event, material){ P: `kubejs:${material}_curved_plate`, M: `kubejs:${material}_rod`, B: `kubejs:${material}_bolt`, - H: "kubejs:hammer" - }).damageIngredient("kubejs:hammer", 3) + H: global.hammers + }).damageIngredient(global.hammers, 3) event.shaped(`kubejs:${material}_rotor`, [ "PHP", "BRB", @@ -38,8 +38,8 @@ function addGearRotorRecipe(event, material){ P: `kubejs:${material}_curved_plate`, M: `kubejs:${material}_rod`, B: `kubejs:${material}_bolt`, - H: "kubejs:hammer" - }).damageIngredient("kubejs:hammer", 3) + H: global.hammers + }).damageIngredient(global.hammers, 3) } @@ -77,32 +77,32 @@ ServerEvents.recipes(event => { event.shaped("3x kubejs:bronze_dust", ["CC", "CT"], {C: "kubejs:copper_dust", T: "kubejs:tin_dust"}) event.shaped("3x kubejs:brass_dust", ["CT", "CT"], {C: "kubejs:copper_dust", T: "kubejs:zinc_dust"}) - event.shaped("kubejs:hammer", [" I ", " SI", "S "], {I: "minecraft:iron_ingot", S: "minecraft:stick"}) + event.shaped("kubejs:iron_hammer", [" I ", " SI", "S "], {I: "minecraft:iron_ingot", S: "minecraft:stick"}) - event.shapeless("kubejs:brass_dust", ["kubejs:brass_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("2x kubejs:brass_rod", ["kubejs:brass_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("kubejs:brass_ring", ["kubejs:brass_rod", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 1) - event.shapeless("kubejs:brass_plate", ["kubejs:brass_ingot", "kubejs:brass_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 3) - event.shapeless("kubejs:bronze_dust", ["kubejs:bronze_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("2x kubejs:bronze_rod", ["kubejs:bronze_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("kubejs:bronze_ring", ["kubejs:bronze_rod", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 1) - event.shapeless("kubejs:bronze_plate", ["kubejs:bronze_ingot", "kubejs:bronze_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 3) - event.shapeless("kubejs:copper_dust", ["minecraft:copper_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("2x kubejs:copper_rod", ["minecraft:copper_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("kubejs:copper_ring", ["kubejs:copper_rod", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 1) - event.shapeless("kubejs:copper_plate", ["minecraft:copper_ingot", "minecraft:copper_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 3) - event.shapeless("kubejs:iron_dust", ["minecraft:iron_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("2x kubejs:iron_rod", ["minecraft:iron_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("kubejs:iron_ring", ["kubejs:iron_rod", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 1) - event.shapeless("kubejs:iron_plate", ["minecraft:iron_ingot", "minecraft:iron_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 3) - event.shapeless("kubejs:tin_dust", ["kubejs:tin_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("2x kubejs:tin_rod", ["kubejs:tin_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("kubejs:tin_ring", ["kubejs:tin_rod", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 1) - event.shapeless("kubejs:tin_plate", ["kubejs:tin_ingot", "kubejs:tin_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 3) - event.shapeless("kubejs:zinc_dust", ["kubejs:zinc_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("2x kubejs:zinc_rod", ["kubejs:zinc_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 2) - event.shapeless("kubejs:zinc_ring", ["kubejs:zinc_rod", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 1) - event.shapeless("kubejs:zinc_plate", ["kubejs:zinc_ingot", "kubejs:zinc_ingot", "kubejs:hammer"]).damageIngredient("kubejs:hammer", 3) + event.shapeless("kubejs:brass_dust", ["kubejs:brass_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("2x kubejs:brass_rod", ["kubejs:brass_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("kubejs:brass_ring", ["kubejs:brass_rod", global.hammers]).damageIngredient(global.hammers, 1) + event.shapeless("kubejs:brass_plate", ["kubejs:brass_ingot", "kubejs:brass_ingot", global.hammers]).damageIngredient(global.hammers, 3) + event.shapeless("kubejs:bronze_dust", ["kubejs:bronze_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("2x kubejs:bronze_rod", ["kubejs:bronze_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("kubejs:bronze_ring", ["kubejs:bronze_rod", global.hammers]).damageIngredient(global.hammers, 1) + event.shapeless("kubejs:bronze_plate", ["kubejs:bronze_ingot", "kubejs:bronze_ingot", global.hammers]).damageIngredient(global.hammers, 3) + event.shapeless("kubejs:copper_dust", ["minecraft:copper_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("2x kubejs:copper_rod", ["minecraft:copper_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("kubejs:copper_ring", ["kubejs:copper_rod", global.hammers]).damageIngredient(global.hammers, 1) + event.shapeless("kubejs:copper_plate", ["minecraft:copper_ingot", "minecraft:copper_ingot", global.hammers]).damageIngredient(global.hammers, 3) + event.shapeless("kubejs:iron_dust", ["minecraft:iron_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("2x kubejs:iron_rod", ["minecraft:iron_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("kubejs:iron_ring", ["kubejs:iron_rod", global.hammers]).damageIngredient(global.hammers, 1) + event.shapeless("kubejs:iron_plate", ["minecraft:iron_ingot", "minecraft:iron_ingot", global.hammers]).damageIngredient(global.hammers, 3) + event.shapeless("kubejs:tin_dust", ["kubejs:tin_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("2x kubejs:tin_rod", ["kubejs:tin_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("kubejs:tin_ring", ["kubejs:tin_rod", global.hammers]).damageIngredient(global.hammers, 1) + event.shapeless("kubejs:tin_plate", ["kubejs:tin_ingot", "kubejs:tin_ingot", global.hammers]).damageIngredient(global.hammers, 3) + event.shapeless("kubejs:zinc_dust", ["kubejs:zinc_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("2x kubejs:zinc_rod", ["kubejs:zinc_ingot", global.hammers]).damageIngredient(global.hammers, 2) + event.shapeless("kubejs:zinc_ring", ["kubejs:zinc_rod", global.hammers]).damageIngredient(global.hammers, 1) + event.shapeless("kubejs:zinc_plate", ["kubejs:zinc_ingot", "kubejs:zinc_ingot", global.hammers]).damageIngredient(global.hammers, 3) //addGearRotorRecipe(event, "aluminum") addGearRotorRecipe(event, "brass") @@ -484,6 +484,30 @@ ServerEvents.recipes(event => { }) // templates + event.shaped("kubejs:drawer_template_1x1", [ + " D ", + "DPD", + " D " + ], { + P: "minecraft:paper", + D: /storagedrawers:.*_drawers_1/ + }) + event.shaped("kubejs:drawer_template_1x2", [ + " D ", + "DPD", + " D " + ], { + P: "minecraft:paper", + D: /storagedrawers:.*_drawers_2/ + }) + event.shaped("kubejs:drawer_template_2x2", [ + " D ", + "DPD", + " D " + ], { + P: "minecraft:paper", + D: /storagedrawers:.*_drawers_4/ + }) event.shaped("kubejs:block_template", [ "SSS", "SPS", @@ -633,4 +657,101 @@ ServerEvents.recipes(event => { P: "minecraft:paper", W: 'minecraft:honeycomb' }) + + event.shaped("2x storagedrawers:compacting_drawers_3", [ + "SIS", + "PDP", + "SRS" + ], { + S: "minecraft:stone", + I: "kubejs:iron_plate", + P: "minecraft:piston", + D: "#storagedrawers:drawers", + R: "kubejs:iron_rotor" + }) + + event.shaped("storagedrawers:obsidian_storage_upgrade", [ + "SSS", + "TOT", + "SSS" + ], { + S: "minecraft:stick", + T: "storagedrawers:upgrade_template", + O: "minecraft:obsidian" + }) + event.shaped("2x storagedrawers:obsidian_storage_upgrade", [ + "SCS", + "TOT", + "SCS" + ], { + S: "minecraft:stick", + C: "minecraft:coal", + T: "storagedrawers:upgrade_template", + O: "minecraft:obsidian" + }) + event.shaped("storagedrawers:iron_storage_upgrade", [ + "SSS", + "UIU", + "SSS" + ], { + S: "minecraft:stick", + U: "storagedrawers:obsidian_storage_upgrade", + I: "minecraft:iron_ingot" + }) + event.shaped("storagedrawers:gold_storage_upgrade", [ + "SSS", + "UIU", + "SSS" + ], { + S: "minecraft:stick", + U: "storagedrawers:iron_storage_upgrade", + I: "minecraft:gold_ingot" + }) + event.shaped("storagedrawers:diamond_storage_upgrade", [ + "SSS", + "UIU", + "SSS" + ], { + S: "minecraft:stick", + U: "storagedrawers:gold_storage_upgrade", + I: "minecraft:diamond" + }) + event.shaped("storagedrawers:emerald_storage_upgrade", [ + "SSS", + "UBU", + "SSS" + ], { + S: "minecraft:stick", + U: "storagedrawers:diamond_storage_upgrade", + B: "minecraft:emerald_block", + }) + + event.shaped("32x pipez:item_pipe", [ + "BHB", + "DRD", + "BBB", + ], { + B: "kubejs:brass_plate", + H: "minecraft:hopper", + D: "minecraft:dropper", + R: "minecraft:redstone_block" + }) + event.shaped("16x pipez:fluid_pipe", [ + "CCC", + "BRB", + "CCC", + ], { + C: "kubejs:copper_plate", + B: "minecraft:bucket", + R: "minecraft:redstone_block" + }) + event.shaped("3x pipez:ultimate_upgrade", [ + "NRN", + "UUU", + "NRN", + ], { + N: "minecraft:netherite_ingot", + R: "minecraft:redstone_block", + U: "pipez:advanced_upgrade" + }) }) \ No newline at end of file diff --git a/kubejs/server_scripts/recipes/tier2.js b/kubejs/server_scripts/recipes/tier2.js index 2405899..a3cd576 100644 --- a/kubejs/server_scripts/recipes/tier2.js +++ b/kubejs/server_scripts/recipes/tier2.js @@ -45,8 +45,9 @@ ServerEvents.recipes(event => { ], { I: "kubejs:iron_dust", N: "kubejs:nickel_ingot", - H: "kubejs:hammer"} - ).damageIngredient("kubejs:hammer", 1) + H: global.hammers + } + ).damageIngredient(global.hammers, 1) event.shaped(addBaseNBT("kubejs:inventory_furnace_tier_2"), [ "PGP", @@ -350,5 +351,28 @@ ServerEvents.recipes(event => { M: "kubejs:motor" }) - event.shaped("kubejs:hammer", [" I ", " SI", "S "], {I: "kubejs:steel_ingot", S: "minecraft:stick"}) + event.shaped("kubejs:steel_hammer", [" I ", " SI", "S "], {I: "kubejs:steel_ingot", S: "minecraft:stick"}) + + event.shaped("storagedrawers:controller", [ + "SGS", + "CDC", + "SIS" + ], { + S: "kubejs:steel_plate", + I: "minecraft:diamond", + C: "minecraft:comparator", + D: "#storagedrawers:drawers", + G: "kubejs:invar_gear" + }) + event.shaped("storagedrawers:controller_slave", [ + "SGS", + "CDC", + "SIS" + ], { + S: "kubejs:steel_plate", + I: "minecraft:gold_ingot", + C: "minecraft:comparator", + D: "#storagedrawers:drawers", + G: "kubejs:invar_gear" + }) }) \ No newline at end of file diff --git a/kubejs/startup_scripts/items.js b/kubejs/startup_scripts/items.js index 5af493d..cb90c6f 100644 --- a/kubejs/startup_scripts/items.js +++ b/kubejs/startup_scripts/items.js @@ -305,6 +305,9 @@ StartupEvents.registry("item", event => { event.create("zinc_wire").texture("kubejs:item/materials/zinc/zinc_wire") + event.create("drawer_template_1x1").displayName("1x1 Drawer Template").texture("kubejs:item/itemfilters/drawer_template_1x1") + event.create("drawer_template_1x2").displayName("1x2 Drawer Template").texture("kubejs:item/itemfilters/drawer_template_1x2") + event.create("drawer_template_2x2").displayName("2x2 Drawer Template").texture("kubejs:item/itemfilters/drawer_template_2x2") event.create("block_template").texture("kubejs:item/itemfilters/block_template") event.create("boat_template").texture("kubejs:item/itemfilters/boat_template") event.create("button_template").texture("kubejs:item/itemfilters/button_template") @@ -325,7 +328,7 @@ StartupEvents.registry("item", event => { //tier 1 - event.create("hammer").texture("kubejs:item/ee/hammer").maxDamage(256) + event.create("iron_hammer").texture("kubejs:item/ee/iron_hammer").maxDamage(256) //tier 2 event.create("coal_coke").texture("kubejs:item/materials/coal_coke/coal_coke").burnTime(3200) diff --git a/kubejs/startup_scripts/recipes/assembler.js b/kubejs/startup_scripts/recipes/assembler.js index 18b696c..0b935bf 100644 --- a/kubejs/startup_scripts/recipes/assembler.js +++ b/kubejs/startup_scripts/recipes/assembler.js @@ -1,7 +1,4 @@ -// sea lantern -addAssemblerRecipe('minecraft:sea_lantern', ['5x minecraft:prismarine_crystals', '4x minecraft:prismarine_shard'], 100, 1) - - +// drills addAssemblerRecipe("kubejs:copper_drill_head", ["2x kubejs:copper_curved_plate", "2x kubejs:copper_rod", "kubejs:copper_gear", "kubejs:copper_plate"]) addAssemblerRecipe("kubejs:bronze_drill_head", ["2x kubejs:bronze_curved_plate", "2x kubejs:bronze_rod", "kubejs:bronze_gear", "kubejs:bronze_plate"]) addAssemblerRecipe("kubejs:steel_drill_head", ["2x kubejs:steel_curved_plate", "2x kubejs:steel_rod", "kubejs:steel_gear", "kubejs:steel_plate"]) @@ -12,12 +9,14 @@ addAssemblerRecipe("4x kubejs:bronze_drill", ["kubejs:bronze_drill_head", "2x ku addAssemblerRecipe("4x kubejs:steel_drill", ["kubejs:steel_drill_head", "2x kubejs:iron_gear", "2x kubejs:analog_circuit", "kubejs:motor"]) addAssemblerRecipe("4x kubejs:gold_drill", ["kubejs:gold_drill_head", "2x kubejs:iron_gear", "2x kubejs:analog_circuit", "kubejs:motor"]) +// components addAssemblerRecipe("kubejs:capacitor", ["2x kubejs:gold_plate", "2x kubejs:copper_wire", "kubejs:battery_alloy_plate"]) addAssemblerRecipe("kubejs:resistor", ["minecraft:brick", "6x kubejs:copper_wire"]) addAssemblerRecipe("kubejs:inductor", ["kubejs:steel_rod", "8x kubejs:copper_wire"]) addAssemblerRecipe("kubejs:analog_circuit", ["kubejs:lapis_lazuli_plate", "2x kubejs:copper_wire", "2x kubejs:capacitor", "2x kubejs:resistor", "kubejs:inductor"]) addAssemblerRecipe("kubejs:motor", ["4x kubejs:copper_wire", "2x kubejs:steel_curved_plate", "kubejs:steel_gear", "kubejs:steel_rod"]) +// gears addAssemblerRecipe("kubejs:brass_gear", ["4x kubejs:brass_plate", "kubejs:brass_ring"]) addAssemblerRecipe("kubejs:bronze_gear", ["4x kubejs:bronze_plate", "kubejs:bronze_ring"]) addAssemblerRecipe("kubejs:copper_gear", ["4x kubejs:copper_plate", "kubejs:copper_ring"]) @@ -33,6 +32,7 @@ addAssemblerRecipe("kubejs:steel_gear", ["4x kubejs:steel_plate", "kubejs:steel_ addAssemblerRecipe("kubejs:tin_gear", ["4x kubejs:tin_plate", "kubejs:tin_ring"]) addAssemblerRecipe("kubejs:zinc_gear", ["4x kubejs:zinc_plate", "kubejs:zinc_ring"]) +// rotors addAssemblerRecipe("kubejs:brass_rotor", ["4x kubejs:brass_curved_plate", "kubejs:brass_rod", "kubejs:brass_ring"]) addAssemblerRecipe("kubejs:bronze_rotor", ["4x kubejs:bronze_curved_plate", "kubejs:bronze_rod", "kubejs:bronze_ring"]) addAssemblerRecipe("kubejs:copper_rotor", ["4x kubejs:copper_curved_plate", "kubejs:copper_rod", "kubejs:copper_ring"]) @@ -48,3 +48,177 @@ addAssemblerRecipe("kubejs:steel_rotor", ["4x kubejs:steel_curved_plate", "kubej addAssemblerRecipe("kubejs:tin_rotor", ["4x kubejs:tin_curved_plate", "kubejs:tin_rod", "kubejs:tin_ring"]) addAssemblerRecipe("kubejs:zinc_rotor", ["4x kubejs:zinc_curved_plate", "kubejs:zinc_rod", "kubejs:zinc_ring"]) +// inventory hopper +addAssemblerRecipe('kubejs:inventory_hopper_tier_1', ['4x minecraft:iron_ingot', 'kubejs:iron_plate']) +addAssemblerRecipe('kubejs:inventory_hopper_tier_2', ['kubejs:inventory_hopper_tier_1', '4x minecraft:gold_ingot', 'kubejs:gold_gear']) +addAssemblerRecipe('kubejs:inventory_hopper_tier_3', ['kubejs:inventory_hopper_tier_2', '4x minecraft:diamond', 'kubejs:diamond_rotor']) +// casings +addAssemblerRecipe('kubejs:bronze_machine_casing', ['4x kubejs:bronze_plate', 'kubejs:bronze_gear', '3x minecraft:redstone']) +addAssemblerRecipe('kubejs:steel_machine_casing', ['4x kubejs:steel_plate', 'kubejs:steel_gear', '2x minecraft:redstone']) + +// storage drawers +let drawers = [] +for(let i = 0; i < 8; i++){ + let woodType = planks[i].split(":")[1].replace("_planks", "") + drawers.push(`storagedrawers:${woodType}_full_drawers_1`) + drawers.push(`storagedrawers:${woodType}_full_drawers_2`) + drawers.push(`storagedrawers:${woodType}_full_drawers_4`) + drawers.push(`storagedrawers:${woodType}_half_drawers_1`) + drawers.push(`storagedrawers:${woodType}_half_drawers_2`) + drawers.push(`storagedrawers:${woodType}_half_drawers_4`) +} +for(let i = 0; i < drawers.length; i++){ + addAssemblerRecipe("storagedrawers:compacting_drawers_3", [drawers[i], "4x minecraft:stone", "2x minecraft:piston", "kubejs:iron_rotor"], 200, 1, [drawers, "4x minecraft:stone", "2x minecraft:piston", "kubejs:iron_rotor"]) + addAssemblerRecipe("storagedrawers:controller", [drawers[i], "4x kubejs:steel_plate", "2x minecraft:comparator", "minecraft:diamond", "kubejs:invar_gear"], 200, 1, [drawers, "4x kubejs:steel_plate", "2x minecraft:comparator", "minecraft:diamond", "kubejs:invar_gear"]) + addAssemblerRecipe("storagedrawers:controller_slave", [drawers[i], "4x kubejs:steel_plate", "2x minecraft:comparator", "minecraft:gold_ingot", "kubejs:invar_gear"], 200, 1, [drawers, "4x kubejs:steel_plate", "2x minecraft:comparator", "minecraft:gold_ingot", "kubejs:invar_gear"]) + addAssemblerRecipe("4x storagedrawers:upgrade_template", [drawers[i], "4x minecraft:stick"], 100, 1, [drawers, "4x minecraft:stick"]) +} + +addAssemblerRecipe("2x storagedrawers:obsidian_storage_upgrade", ["2x storagedrawers:upgrade_template", "minecraft:obsidian", "2x minecraft:coal", "2x minecraft:stick"], 200, 1) +addAssemblerRecipe("storagedrawers:iron_storage_upgrade", ["2x storagedrawers:obsidian_storage_upgrade", "8x minecraft:iron_nugget", "3x minecraft:stick"], 200, 1) +addAssemblerRecipe("storagedrawers:gold_storage_upgrade", ["2x storagedrawers:iron_storage_upgrade", "minecraft:gold_ingot", "3x minecraft:stick"], 200, 1) +addAssemblerRecipe("storagedrawers:diamond_storage_upgrade", ["2x storagedrawers:gold_storage_upgrade", "minecraft:diamond", "3x minecraft:stick"], 200, 1) +addAssemblerRecipe("storagedrawers:emerald_storage_upgrade", ["2x storagedrawers:diamond_storage_upgrade", "minecraft:emerald_block", "3x minecraft:stick"], 200, 1) +addAssemblerRecipe("storagedrawers:one_stack_upgrade" , ["storagedrawers:upgrade_template", "2x minecraft:flint", "3x minecraft:stick"], 100, 1) +addAssemblerRecipe("storagedrawers:void_upgrade", ["storagedrawers:upgrade_template", "4x minecraft:obsidian"], 100, 1) +addAssemblerRecipe("storagedrawers:redstone_upgrade", ["storagedrawers:upgrade_template", "3x minecraft:redstone", "2x minecraft:stick"], 100, 1) +addAssemblerRecipe("storagedrawers:min_redstone_upgrade", ["storagedrawers:redstone_upgrade", "2x minecraft:stick"], 100, 1) +addAssemblerRecipe("storagedrawers:max_redstone_upgrade", ["storagedrawers:min_redstone_upgrade"], 100, 1) +addAssemblerRecipe("storagedrawers:illumination_upgrade", ["storagedrawers:upgrade_template", "3x minecraft:glowstone", "2x minecraft:stick"], 100, 1) +addAssemblerRecipe("storagedrawers:fill_level_upgrade", ["storagedrawers:upgrade_template", "minecraft:repeater"], 100, 1) + +// pipez +addAssemblerRecipe("32x pipez:item_pipe", ["4x kubejs:brass_plate", "2x minecraft:dropper", "minecraft:hopper", "minecraft:redstone_block"], 200, 1) +addAssemblerRecipe("pipez:basic_upgrade", ["4x minecraft:iron_ingot", "minecraft:redstone"], 100, 1) +addAssemblerRecipe("pipez:improved_upgrade", ["pipez:basic_upgrade", "4x minecraft:gold_ingot", "4x minecraft:redstone"], 100, 1) +addAssemblerRecipe("pipez:advanced_upgrade", ["pipez:improved_upgrade", "4x minecraft:diamond", "4x minecraft:redstone_block"], 100, 1) +addAssemblerRecipe("pipez:ultimate_upgrade", ["pipez:advanced_upgrade", "minecraft:netherite_ingot", "minecraft:redstone_block"], 100, 1) + + +// torch +addAssemblerRecipe('5x minecraft:torch', ['minecraft:coal', 'minecraft:stick'], 100, 1, ["#minecraft:coals", 'minecraft:stick']) +addAssemblerRecipe('5x minecraft:torch', ['minecraft:charcoal', 'minecraft:stick'], 100, 1, ["#minecraft:coals", 'minecraft:stick']) +for(let i = 0; i < soul_fire_base_blocks.length; i++){ + addAssemblerRecipe('5x minecraft:soul_torch', ['minecraft:coal', soul_fire_base_blocks[i]], 100, 1, ["#minecraft:coals", soul_fire_base_blocks]) + addAssemblerRecipe('5x minecraft:soul_torch', ['minecraft:charcoal', soul_fire_base_blocks[i]], 100, 1, ["#minecraft:coals", soul_fire_base_blocks]) +} +addAssemblerRecipe('minecraft:redstone_torch', ['minecraft:redstone', 'minecraft:stick'], 100) +// lantern +addAssemblerRecipe('minecraft:lantern', ['6x minecraft:iron_nugget', 'minecraft:torch'], 100) +addAssemblerRecipe('minecraft:soul_lantern', ['6x minecraft:iron_nugget', 'minecraft:soul_torch'], 100) +// end rod +addAssemblerRecipe('4x minecraft:end_rod', ['minecraft:blaze_rod', 'minecraft:poppy'], 100) +// lamp +addAssemblerRecipe('minecraft:redstone_lamp', ['minecraft:glowstone', '3x minecraft:redstone'], 200) +// beehive / bookshelf / lectern / workstations / daylight detector / piston +addAssemblerRecipe('minecraft:stonecutter', ['minecraft:iron_ingot', '3x minecraft:stone'], 200) +addAssemblerRecipe('minecraft:blast_furnace', ['5x minecraft:iron_ingot', '3x minecraft:smooth_stone', 'minecraft:furnace'], 200) +addAssemblerRecipe('minecraft:anvil', ['3x minecraft:iron_block', '4x minecraft:iron_ingot'], 200) +addAssemblerRecipe('minecraft:enchanting_table', ['4x minecraft:obsidian', '2x minecraft:diamond', 'minecraft:book'], 200) +for(let i = 0; i < stone_tool_materials.length; i++){ + addAssemblerRecipe('minecraft:brewing_stand', [stone_tool_materials3[i], 'minecraft:blaze_rod'], 200, 1, [stone_tool_materials3, 'minecraft:blaze_rod']) +} +addAssemblerRecipe('minecraft:cauldron', ['6x minecraft:iron_ingot', 'minecraft:iron_nugget'], 200) +for(let i = 0; i < planks.length; i++){ + addAssemblerRecipe('minecraft:beehive', [planks6[i], '3x minecraft:honeycomb'], 200, 1, [planks6, '3x minecraft:honeycomb']) + addAssemblerRecipe('minecraft:bookshelf', [planks6[i], '3x minecraft:book'], 200, 1, [planks6, '3x minecraft:book']) + addAssemblerRecipe('minecraft:lectern', [slabs3[i], 'minecraft:bookshelf'], 200, 1, [slabs3, 'minecraft:bookshelf']) + addAssemblerRecipe('minecraft:daylight_detector', ['3x minecraft:glass', '3x minecraft:quartz', slabs3[i]], 200, 1, ['3x minecraft:glass', '3x minecraft:quartz', slabs3]) + addAssemblerRecipe('minecraft:piston', [planks2[i], '3x minecraft:cobblestone', 'minecraft:iron_ingot', 'minecraft:redstone'], 200, 1, [planks2, '3x minecraft:cobblestone', 'minecraft:iron_ingot', 'minecraft:redstone']) + + addAssemblerRecipe('minecraft:cartography_table', [planks4[i], '2x minecraft:paper'], 200, 1, [planks4, '2x minecraft:paper']) + addAssemblerRecipe('minecraft:fletching_table', [planks4[i], '2x minecraft:flint'], 200, 1, [planks4, '2x minecraft:flint']) + addAssemblerRecipe('minecraft:smithing_table', [planks4[i], '2x minecraft:iron_ingot'], 200, 1, [planks4, '2x minecraft:iron_ingot']) + addAssemblerRecipe('minecraft:grindstone', [planks2[i], 'minecraft:stone_slab'], 200, 1, [planks2, 'minecraft:stone_slab']) + addAssemblerRecipe('minecraft:loom', [planks2[i], '2x minecraft:string'], 200, 1, [planks2, '2x minecraft:string']) + addAssemblerRecipe('minecraft:jukebox', [planks6[i], 'minecraft:diamond'], 200, 1, [planks6, 'minecraft:diamond']) +} +// ladders +addAssemblerRecipe('3x minecraft:ladder', ['6x minecraft:stick'], 100) +// scaffolding +addAssemblerRecipe('6x minecraft:scaffolding', ['6x minecraft:bamboo', 'minecraft:string'], 100) +// armor stand +addAssemblerRecipe('minecraft:armor_stand', ['6x minecraft:stick', 'minecraft:smooth_stone_slab'], 100) +// item frames +addAssemblerRecipe('minecraft:item_frame', ['6x minecraft:stick', 'minecraft:leather'], 100) +addAssemblerRecipe('minecraft:glow_item_frame', ['minecraft:item_frame', 'minecraft:glow_ink_sac'], 100) +// paintings +let wools = colors.map(color => `minecraft:${color}_wool`) +for(let i = 0; i < 16; i++){ + addAssemblerRecipe(`minecraft:painting`, ['6x minecraft:stick', wools[i]], 100, 1, ['6x minecraft:stick', wools]) +} +// ender chest +addAssemblerRecipe('minecraft:ender_chest', ['8x minecraft:obsidian', 'minecraft:ender_eye'], 100) +// respawn anchor +addAssemblerRecipe('minecraft:respawn_anchor', ['6x minecraft:crying_obsidian', '3x minecraft:glowstone'], 100) +// smoker + campfire +for(let i = 0; i < logs.length; i++){ + addAssemblerRecipe('minecraft:smoker', [logs4[i], 'minecraft:furnace'], 100, 1, [logs4, 'minecraft:furnace']) + addAssemblerRecipe('minecraft:campfire', [logs3[i], 'minecraft:coal'], 100, 1, [logs3, '#minecraft:coals']) + addAssemblerRecipe('minecraft:campfire', [logs3[i], 'minecraft:charcoal'], 100, 1, [logs3, '#minecraft:coals']) + for(let j = 0; j < soul_fire_base_blocks.length; j++){ + addAssemblerRecipe('minecraft:soul_campfire', [logs3[i], soul_fire_base_blocks[j]], 100, 1, [logs3, soul_fire_base_blocks]) + } +} +// end crystals +addAssemblerRecipe('minecraft:end_crystal', ['6x minecraft:glass', 'minecraft:ender_eye', 'minecraft:ghast_tear'], 200) +// sea lantern +addAssemblerRecipe('minecraft:sea_lantern', ['5x minecraft:prismarine_crystals', '4x minecraft:prismarine_shard'], 100) +// beacon +addAssemblerRecipe('minecraft:beacon', ['3x minecraft:obsidian', '3x minecraft:glass', 'minecraft:nether_star'], 200) +// conduit +addAssemblerRecipe('minecraft:conduit', ['6x minecraft:prismarine', 'minecraft:heart_of_the_sea'], 200) +// lodestone +addAssemblerRecipe('minecraft:lodestone', ['4x minecraft:chiseled_stone_bricks', 'minecraft:netherite_ingot'], 100) +// redstone repeater +addAssemblerRecipe('minecraft:repeater', ['3x minecraft:stone', '2x minecraft:redstone_torch', 'minecraft:redstone'], 200) +// redstone comparator +addAssemblerRecipe('minecraft:comparator', ['3x minecraft:stone', '3x minecraft:redstone_torch', 'minecraft:quartz'], 200) +// target +addAssemblerRecipe('minecraft:target', ['minecraft:hay_block', '4x minecraft:redstone'], 100) +// lever +addAssemblerRecipe('minecraft:lever', ['minecraft:stick', 'minecraft:cobblestone'], 100) +// calibrated sculk sensor +addAssemblerRecipe('minecraft:calibrated_sculk_sensor', ['minecraft:sculk_sensor', '3x minecraft:amethyst_shard'], 100) +// hopper +for(let i = 0; i < 2; i++){ + addAssemblerRecipe('minecraft:hopper', ['5x minecraft:iron_ingot', chests[i]], 100, 1, ['5x minecraft:iron_ingot', chests]) +} +// observer +addAssemblerRecipe('minecraft:observer', ['6x minecraft:stone', '2x minecraft:redstone', 'minecraft:quartz'], 100) +// rails +addAssemblerRecipe('16x minecraft:rail', ['6x minecraft:iron_ingot', 'minecraft:stick'], 100) +addAssemblerRecipe('6x minecraft:powered_rail', ['6x minecraft:gold_ingot', 'minecraft:stick', 'minecraft:redstone'], 100) +addAssemblerRecipe('6x minecraft:detector_rail', ['6x minecraft:iron_ingot', 'minecraft:stone_pressure_plate', 'minecraft:redstone'], 100) +addAssemblerRecipe('6x minecraft:activator_rail', ['6x minecraft:iron_ingot', '2x minecraft:redstone_torch'], 100) +// fire charge +addAssemblerRecipe('3x minecraft:fire_charge', ['minecraft:coal', 'minecraft:blaze_powder', 'minecraft:gunpowder'], 100, 1, ['#minecraft:coals', 'minecraft:blaze_powder', 'minecraft:gunpowder']) +addAssemblerRecipe('3x minecraft:fire_charge', ['minecraft:charcoal', 'minecraft:blaze_powder', 'minecraft:gunpowder'], 100, 1, ['#minecraft:coals', 'minecraft:blaze_powder', 'minecraft:gunpowder']) +// spyglass +addAssemblerRecipe('minecraft:spyglass', ['2x minecraft:copper_ingot', 'minecraft:amethyst_shard'], 100) +// book and quill +addAssemblerRecipe('minecraft:writable_book', ['minecraft:book', 'minecraft:ink_sac', 'minecraft:feather'], 100) +// arrow +addAssemblerRecipe('6x minecraft:arrow', ['minecraft:flint', 'minecraft:stick', 'minecraft:feather'], 200) +// spectral arrow +addAssemblerRecipe('2x minecraft:spectral_arrow', ['minecraft:arrow', '3x minecraft:glowstone'], 200) +// cookie +addAssemblerRecipe('8x minecraft:cookie', ['2x minecraft:wheat', 'minecraft:cocoa_beans'], 200) +// pumpkin pie +addAssemblerRecipe('minecraft:pumpkin_pie', ['minecraft:pumpkin', 'minecraft:sugar', 'minecraft:egg'], 200) +// mushroom stew +addAssemblerRecipe('minecraft:mushroom_stew', ['minecraft:brown_mushroom', 'minecraft:red_mushroom', 'minecraft:bowl'], 200) +// beetroot soup +addAssemblerRecipe('minecraft:beetroot_soup', ['6x minecraft:beetroot', 'minecraft:bowl'], 200) +// rabbit stew +addAssemblerRecipe('minecraft:rabbit_stew', ['minecraft:cooked_rabbit', 'minecraft:carrot', 'minecraft:baked_potato', 'minecraft:brown_mushroom', 'minecraft:bowl'], 200) +addAssemblerRecipe('minecraft:rabbit_stew', ['minecraft:cooked_rabbit', 'minecraft:carrot', 'minecraft:baked_potato', 'minecraft:red_mushroom', 'minecraft:bowl'], 200) +addAssemblerRecipe('minecraft:rabbit_stew', ['minecraft:cooked_rabbit', 'minecraft:carrot', 'minecraft:baked_potato', 'biomesoplenty:toadstool', 'minecraft:bowl'], 200) +// empty map +addAssemblerRecipe('minecraft:map', ['8x minecraft:paper', 'minecraft:compass'], 100) +// recovery compass +addAssemblerRecipe('minecraft:recovery_compass', ['minecraft:compass', '8x minecraft:echo_shard'], 100) +// book +addAssemblerRecipe('minecraft:book', ['3x minecraft:paper', 'minecraft:leather'], 100) +// lead +addAssemblerRecipe('2x minecraft:lead', ['3x minecraft:string', 'minecraft:slime_ball'], 100) \ No newline at end of file diff --git a/kubejs/startup_scripts/recipes/compressor.js b/kubejs/startup_scripts/recipes/compressor.js index c8e6f4f..ec78f52 100644 --- a/kubejs/startup_scripts/recipes/compressor.js +++ b/kubejs/startup_scripts/recipes/compressor.js @@ -55,4 +55,4 @@ addCompressorRecipe("kubejs:lapis_lazuli_curved_plate", "2x kubejs:lapis_lazuli_ addCompressorRecipe("kubejs:lapis_lazuli_ring", "kubejs:lapis_lazuli_rod"); // blaze rod -addCompressorRecipe("kubejs:blaze_rod", "5x minecraft:blaze_powder"); \ No newline at end of file +addCompressorRecipe("minecraft:blaze_rod", "5x minecraft:blaze_powder"); \ No newline at end of file diff --git a/kubejs/startup_scripts/recipes/cutting_machine.js b/kubejs/startup_scripts/recipes/cutting_machine.js index 2a3fa21..7a9f3a8 100644 --- a/kubejs/startup_scripts/recipes/cutting_machine.js +++ b/kubejs/startup_scripts/recipes/cutting_machine.js @@ -29,7 +29,7 @@ function addCuttingMachineRecipesWood(mod, material){ addCuttingMachineRecipe(`2x ${mod}:${material}_button`, `${mod}:${material}_planks`, 100, 1, "button_template") addCuttingMachineRecipe(`${mod}:${material}_sign`, `2x ${mod}:${material}_planks`, 100, 1, "sign_template") addCuttingMachineRecipe(`${mod}:${material}_boat`, `4x ${mod}:${material}_planks`, 100, 1, "boat_template") - addCuttingMachineRecipe('minecraft:chest', `8x ${mod}:${material}_planks`, 100, 1, "block_template") + addCuttingMachineRecipe('minecraft:chest', `8x ${mod}:${material}_planks`, 100, 1, "block_template", planks.map(plank => `8x ${plank}`)) addCuttingMachineRecipe('4x minecraft:stick', `${mod}:${material}_planks`, 100, 1, "air", planks) } @@ -84,6 +84,7 @@ addCuttingMachineRecipe("minecraft:bamboo_pressure_plate", "minecraft:bamboo_pla addCuttingMachineRecipe("2x minecraft:bamboo_button", "minecraft:bamboo_planks", 100, 1, "button_template") addCuttingMachineRecipe("minecraft:bamboo_sign", "2x minecraft:bamboo_planks", 100, 1, "sign_template") addCuttingMachineRecipe("minecraft:bamboo_raft", "4x minecraft:bamboo_planks", 100, 1, "boat_template") +addCuttingMachineRecipe("minecraft:chest", "8x minecraft:bamboo_planks", 100, 1, "block_template", planks) addCuttingMachineRecipe("4x minecraft:stick", "minecraft:bamboo_planks", 100, 1, "air", planks) // crimson addCuttingMachineRecipe("minecraft:stripped_crimson_stem", "minecraft:crimson_stem", 100, 1, "log_template") @@ -101,6 +102,7 @@ addCuttingMachineRecipe("minecraft:crimson_trapdoor", "2x minecraft:crimson_plan addCuttingMachineRecipe("minecraft:crimson_pressure_plate", "minecraft:crimson_planks", 100, 1, "pressure_plate_template") addCuttingMachineRecipe("2x minecraft:crimson_button", "minecraft:crimson_planks", 100, 1, "button_template") addCuttingMachineRecipe("minecraft:crimson_sign", "2x minecraft:crimson_planks", 100, 1, "sign_template") +addCuttingMachineRecipe("minecraft:chest", "8x minecraft:crimson_planks", 100, 1, "block_template", planks) addCuttingMachineRecipe("4x minecraft:stick", "minecraft:crimson_planks", 100, 1, "air", planks) // warped addCuttingMachineRecipe("minecraft:stripped_warped_stem", "minecraft:warped_stem", 100, 1, "log_template") @@ -118,6 +120,7 @@ addCuttingMachineRecipe("minecraft:warped_trapdoor", "2x minecraft:warped_planks addCuttingMachineRecipe("minecraft:warped_pressure_plate", "minecraft:warped_planks", 100, 1, "pressure_plate_template") addCuttingMachineRecipe("2x minecraft:warped_button", "minecraft:warped_planks", 100, 1, "button_template") addCuttingMachineRecipe("minecraft:warped_sign", "2x minecraft:warped_planks", 100, 1, "sign_template") +addCuttingMachineRecipe("minecraft:chest", "8x minecraft:warped_planks", 100, 1, "block_template", planks) addCuttingMachineRecipe("4x minecraft:stick", "minecraft:warped_planks", 100, 1, "air", planks) // biomesoplenty addCuttingMachineRecipesWood("biomesoplenty", "fir") @@ -321,6 +324,20 @@ addCuttingMachineRecipe("minecraft:waxed_cut_copper_slab", "minecraft:waxed_expo // iron addCuttingMachineRecipe("minecraft:iron_door", "2x minecraft:iron_ingot", 100, 1, "door_template") addCuttingMachineRecipe("minecraft:iron_trapdoor", "3x minecraft:iron_ingot", 100, 1, "trapdoor_template") +addCuttingMachineRecipe("minecraft:heavy_weighted_pressure_plate", "2x minecraft:iron_ingot", 100, 1, "pressure_plate_template") +addCuttingMachineRecipe("4x minecraft:iron_bars", "minecraft:iron_ingot", 100, 1, "glass_pane_template") +addCuttingMachineRecipe("minecraft:chain", "minecraft:iron_ingot", 100, 1, "block_template") +addCuttingMachineRecipe("minecraft:minecart", "4x minecraft:iron_ingot", 100, 1, "boat_template") +addCuttingMachineRecipe("minecraft:bucket", "3x minecraft:iron_ingot", 100) +// gold +addCuttingMachineRecipe("minecraft:light_weighted_pressure_plate", "2x minecraft:gold_ingot", 100, 1, "pressure_plate_template") +// farmland +addCuttingMachineRecipe("minecraft:farmland", "minecraft:dirt", 100, 1, "block_template") +// pumpkin +addCuttingMachineRecipe("minecraft:carved_pumpkin", "minecraft:pumpkin", 100, 1, "block_template") +addCuttingMachineRecipe("4x minecraft:pumpkin_seeds", "minecraft:pumpkin", 100, 1) +// melon +addCuttingMachineRecipe("minecraft:melon_seeds", "minecraft:melon_slice", 100, 1) // white sandstone addCuttingMachineRecipe("biomesoplenty:white_sandstone_stairs", "biomesoplenty:white_sandstone", 100, 1, "stairs_template", ["biomesoplenty:white_sandstone", "biomesoplenty:chiseled_white_sandstone", "biomesoplenty:cut_white_sandstone"]) addCuttingMachineRecipe("biomesoplenty:white_sandstone_stairs", "biomesoplenty:chiseled_white_sandstone", 100, 1, "stairs_template", ["biomesoplenty:white_sandstone", "biomesoplenty:chiseled_white_sandstone", "biomesoplenty:cut_white_sandstone"]) diff --git a/kubejs/startup_scripts/recipes/functions.js b/kubejs/startup_scripts/recipes/functions.js index cbd8246..b13ba0e 100644 --- a/kubejs/startup_scripts/recipes/functions.js +++ b/kubejs/startup_scripts/recipes/functions.js @@ -1,4 +1,98 @@ // priority: 1000 +const sands = [ + 'minecraft:sand', + 'minecraft:red_sand', + 'minecraft:suspicious_sand', + 'biomesoplenty:black_sand', + 'biomesoplenty:mossy_black_sand', + 'biomesoplenty:orange_sand', + 'biomesoplenty:white_sand', +] +const sands4 = sands.map(sand => "4x " + sand) +const logs = [ + "minecraft:oak_log", + "minecraft:spruce_log", + "minecraft:birch_log", + "minecraft:jungle_log", + "minecraft:acacia_log", + "minecraft:dark_oak_log", + "minecraft:mangrove_log", + "minecraft:cherry_log", + "minecraft:crimson_stem", + "minecraft:warped_stem", + "biomesoplenty:fir_log", + "biomesoplenty:redwood_log", + "biomesoplenty:mahogany_log", + "biomesoplenty:jacaranda_log", + "biomesoplenty:palm_log", + "biomesoplenty:willow_log", + "biomesoplenty:dead_log", + "biomesoplenty:magic_log", + "biomesoplenty:umbran_log", + "biomesoplenty:hellbark_log", + "minecraft:stripped_oak_log", + "minecraft:stripped_spruce_log", + "minecraft:stripped_birch_log", + "minecraft:stripped_jungle_log", + "minecraft:stripped_acacia_log", + "minecraft:stripped_dark_oak_log", + "minecraft:stripped_mangrove_log", + "minecraft:stripped_cherry_log", + "minecraft:stripped_crimson_stem", + "minecraft:stripped_warped_stem", + "biomesoplenty:stripped_fir_log", + "biomesoplenty:stripped_redwood_log", + "biomesoplenty:stripped_mahogany_log", + "biomesoplenty:stripped_jacaranda_log", + "biomesoplenty:stripped_palm_log", + "biomesoplenty:stripped_willow_log", + "biomesoplenty:stripped_dead_log", + "biomesoplenty:stripped_magic_log", + "biomesoplenty:stripped_umbran_log", + "biomesoplenty:stripped_hellbark_log", + "minecraft:oak_wood", + "minecraft:spruce_wood", + "minecraft:birch_wood", + "minecraft:jungle_wood", + "minecraft:acacia_wood", + "minecraft:dark_oak_wood", + "minecraft:mangrove_wood", + "minecraft:cherry_wood", + "minecraft:crimson_hyphae", + "minecraft:warped_hyphae", + "biomesoplenty:fir_wood", + "biomesoplenty:redwood_wood", + "biomesoplenty:mahogany_wood", + "biomesoplenty:jacaranda_wood", + "biomesoplenty:palm_wood", + "biomesoplenty:willow_wood", + "biomesoplenty:dead_wood", + "biomesoplenty:magic_wood", + "biomesoplenty:umbran_wood", + "biomesoplenty:hellbark_wood", + "minecraft:stripped_oak_wood", + "minecraft:stripped_spruce_wood", + "minecraft:stripped_birch_wood", + "minecraft:stripped_jungle_wood", + "minecraft:stripped_acacia_wood", + "minecraft:stripped_dark_oak_wood", + "minecraft:stripped_mangrove_wood", + "minecraft:stripped_cherry_wood", + "minecraft:stripped_crimson_hyphae", + "minecraft:stripped_warped_hyphae", + "biomesoplenty:stripped_fir_wood", + "biomesoplenty:stripped_redwood_wood", + "biomesoplenty:stripped_mahogany_wood", + "biomesoplenty:stripped_jacaranda_wood", + "biomesoplenty:stripped_palm_wood", + "biomesoplenty:stripped_willow_wood", + "biomesoplenty:stripped_dead_wood", + "biomesoplenty:stripped_magic_wood", + "biomesoplenty:stripped_umbran_wood", + "biomesoplenty:stripped_hellbark_wood" +] +const logs3 = logs.map(log => "3x " + log) +const logs4 = logs.map(log => "4x " + log) const planks = [ "minecraft:oak_planks", "minecraft:spruce_planks", @@ -6,11 +100,11 @@ const planks = [ "minecraft:jungle_planks", "minecraft:acacia_planks", "minecraft:dark_oak_planks", + "minecraft:crimson_planks", + "minecraft:warped_planks", "minecraft:mangrove_planks", "minecraft:cherry_planks", "minecraft:bamboo_planks", - "minecraft:crimson_planks", - "minecraft:warped_planks", "biomesoplenty:fir_planks", "biomesoplenty:redwood_planks", "biomesoplenty:mahogany_planks", @@ -22,13 +116,29 @@ const planks = [ "biomesoplenty:umbran_planks", "biomesoplenty:hellbark_planks" ] +const planks2 = planks.map(plank => "2x " + plank) +const planks3 = planks.map(plank => "3x " + plank) +const planks4 = planks.map(plank => "4x " + plank) +const planks6 = planks.map(plank => "6x " + plank) +const planks8 = planks.map(plank => "8x " + plank) +const slabs2 = planks2.map(plank => plank.replace("planks", "slab")) +const slabs3 = planks3.map(plank => plank.replace("planks", "slab")) +const slabs6 = planks6.map(plank => plank.replace("planks", "slab")) const colors = ["white", "light_gray", "gray", "black", "brown", "red", "orange", "yellow", "lime", "green", "cyan", "light_blue", "blue", "purple", "magenta", "pink"] +const chests = ["minecraft:chest", "minecraft:trapped_chest"] +const soul_fire_base_blocks = ["minecraft:soul_soil", "minecraft:soul_sand"] +const stone_tool_materials = ["minecraft:cobblestone", 'minecraft:blackstone', 'minecraft:cobbled_deepslate'] +const stone_tool_materials3 = stone_tool_materials.map(material => `3x ${material}`) +const stone_tool_materials8 = stone_tool_materials.map(material => `8x ${material}`) global.recipes = { furnace: {}, macerator: {}, compressor: {}, - cuttingMachine: { + cuttingMachine: { + drawer_template_1x1: {}, + drawer_template_1x2: {}, + drawer_template_2x2: {}, air: {}, block_template: {}, boat_template: {}, @@ -50,6 +160,9 @@ global.recipes = { waxing_template: {} }, packer: { + drawer_template_1x1: {count: 0, i0: {}, i1: {}, i2: {}}, + drawer_template_1x2: {count: 0, i0: {}, i1: {}, i2: {}}, + drawer_template_2x2: {count: 0, i0: {}, i1: {}, i2: {}}, air: {count: 0, i0: {}, i1: {}, i2: {}}, block_template: {count: 0, i0: {}, i1: {}, i2: {}}, boat_template: {count: 0, i0: {}, i1: {}, i2: {}}, diff --git a/kubejs/startup_scripts/recipes/furnace.js b/kubejs/startup_scripts/recipes/furnace.js index bc537c7..156d527 100644 --- a/kubejs/startup_scripts/recipes/furnace.js +++ b/kubejs/startup_scripts/recipes/furnace.js @@ -78,93 +78,9 @@ global.recipes.furnace = { } // charcoal from log -addFurnaceRecipe("minecraft:charcoal", "minecraft:oak_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:spruce_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:birch_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:jungle_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:acacia_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:dark_oak_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:mangrove_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:cherry_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:crimson_stem", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:warped_stem", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:fir_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:redwood_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:mahogany_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:jacaranda_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:palm_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:willow_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:dead_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:magic_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:umbran_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:hellbark_log", 200, 1, "#minecraft:logs") - -// charcoal from stripped log -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_oak_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_spruce_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_birch_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_jungle_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_acacia_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_dark_oak_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_mangrove_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_cherry_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_crimson_stem", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_warped_stem", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_fir_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_redwood_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_mahogany_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_jacaranda_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_palm_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_willow_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_dead_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_magic_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_umbran_log", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_hellbark_log", 200, 1, "#minecraft:logs") - -// charcoal from wood -addFurnaceRecipe("minecraft:charcoal", "minecraft:oak_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:spruce_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:birch_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:jungle_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:acacia_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:dark_oak_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:mangrove_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:cherry_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:crimson_hyphae", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:warped_hyphae", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:fir_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:redwood_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:mahogany_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:jacaranda_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:palm_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:willow_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:dead_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:magic_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:umbran_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:hellbark_wood", 200, 1, "#minecraft:logs") - -// charcoal from stripped wood -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_oak_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_spruce_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_birch_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_jungle_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_acacia_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_dark_oak_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_mangrove_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_cherry_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_crimson_hyphae", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "minecraft:stripped_warped_hyphae", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_fir_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_redwood_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_mahogany_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_jacaranda_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_palm_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_willow_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_dead_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_magic_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_umbran_wood", 200, 1, "#minecraft:logs") -addFurnaceRecipe("minecraft:charcoal", "biomesoplenty:stripped_hellbark_wood", 200, 1, "#minecraft:logs") - +for(let i = 0; i < logs.length; i++){ + addFurnaceRecipe("minecraft:charcoal", logs[i], 200, 1, "#minecraft:logs"); +} // ingot from dust //addFurnaceRecipe("kubejs:aluminum_ingot", "kubejs:aluminum_dust") diff --git a/kubejs/startup_scripts/recipes/macerator.js b/kubejs/startup_scripts/recipes/macerator.js index eb019c8..e7e4e93 100644 --- a/kubejs/startup_scripts/recipes/macerator.js +++ b/kubejs/startup_scripts/recipes/macerator.js @@ -66,6 +66,9 @@ addMaceratorRecipe("16x kubejs:lapis_lazuli_dust", "minecraft:lapis_ore", 400) addMaceratorRecipe("16x kubejs:lapis_lazuli_dust", "minecraft:deepslate_lapis_ore", 400) addMaceratorRecipe("6x minecraft:redstone", "minecraft:redstone_ore", 400) addMaceratorRecipe("6x minecraft:redstone", "minecraft:deepslate_redstone_ore", 400) +addMaceratorRecipe("10x minecraft:gold_nugget", "minecraft:nether_gold_ore", 400) +addMaceratorRecipe("2x minecraft:quartz", "minecraft:nether_quartz_ore", 400) +addMaceratorRecipe("3x minecraft:netherite_scrap", "2x minecraft:ancient_debris", 400, 2) function addMaceratorRecipes(material, tier) { @@ -198,17 +201,17 @@ addMaceratorRecipe("minecraft:diorite", "minecraft:polished_diorite", 100) // andesite addMaceratorRecipe("minecraft:andesite", "minecraft:polished_andesite", 100) // mud bricks -addMaceratorRecipe("minecraft:packed_mud", "kubejs:mud_bricks", 100) +addMaceratorRecipe("minecraft:packed_mud", "minecraft:mud_bricks", 200) // sand -addMaceratorRecipe("minecraft:gravel", "minecraft:cobblestone", 100) -addMaceratorRecipe("minecraft:sand", "minecraft:gravel", 100) +addMaceratorRecipe("minecraft:gravel", "minecraft:cobblestone", 200) +addMaceratorRecipe("minecraft:sand", "minecraft:gravel", 200) let sandstones = ["minecraft:sandstone", "minecraft:chiseled_sandstone", "minecraft:smooth_sandstone", "minecraft:cut_sandstone"] sandstones.forEach(sandstone => {addMaceratorRecipe("4x minecraft:sand", sandstone, 100, 1, sandstones)}) let red_sandstones = ["minecraft:red_sandstone", "minecraft:chiseled_red_sandstone", "minecraft:smooth_red_sandstone", "minecraft:cut_red_sandstone"] red_sandstones.forEach(red_sandstone => {addMaceratorRecipe("4x minecraft:red_sand", red_sandstone, 100, 1, red_sandstones)}) // prismarine addMaceratorRecipe("minecraft:prismarine_crystals", "minecraft:prismarine_shard", 100) -addMaceratorRecipe("9x minecraft:prismarine_shard", "minecraft:sea_lantern", 100) +addMaceratorRecipe("9x minecraft:prismarine_shard", "minecraft:sea_lantern", 200) // blackstone let blackstones = ["minecraft:chiseled_polished_blackstone", "minecraft:polished_blackstone", "minecraft:polished_blackstone_bricks", "minecraft:cracked_polished_blackstone_bricks"] blackstones.forEach(blackstone => {addMaceratorRecipe("minecraft:polished_blackstone", blackstone, 100, 1, blackstones)}) @@ -216,33 +219,33 @@ blackstones.forEach(blackstone => {addMaceratorRecipe("minecraft:polished_blacks let basalts = ["minecraft:smooth_basalt", "minecraft:polished_basalt"] basalts.forEach(basalt => {addMaceratorRecipe("minecraft:basalt", basalt, 100, 1, basalts)}) // end stone -addMaceratorRecipe("minecraft:end_stone", "minecraft:end_stone_bricks", 100) +addMaceratorRecipe("minecraft:end_stone", "minecraft:end_stone_bricks", 200) // purpur let purpurs = ["minecraft:purpur_block", "minecraft:purpur_pillar"] -purpurs.forEach(purpur => {addMaceratorRecipe("minecraft:popped_chorus_fruit", purpur, 100, 1, purpurs)}) +purpurs.forEach(purpur => {addMaceratorRecipe("minecraft:popped_chorus_fruit", purpur, 200, 1, purpurs)}) // quartz let quartzs = ["minecraft:chiseled_quartz_block", "minecraft:quartz_bricks", "minecraft:quartz_pillar", "minecraft:smooth_quartz"] -quartzs.forEach(quartz => {addMaceratorRecipe("4x minecraft:quartz", quartz, 100, 1, quartzs)}) +quartzs.forEach(quartz => {addMaceratorRecipe("4x minecraft:quartz", quartz, 200, 1, quartzs)}) // amethyst -addMaceratorRecipe("4x minecraft:amethyst_shard", "minecraft:amethyst_block", 100) +addMaceratorRecipe("4x minecraft:amethyst_shard", "minecraft:amethyst_block", 200) // snow -addMaceratorRecipe("4x minecraft:snow_ball", "minecraft:snow_block", 100) -addMaceratorRecipe("2x minecraft:snow_block", "minecraft:snow", 100) +addMaceratorRecipe("4x minecraft:snowball", "minecraft:snow_block", 200) +addMaceratorRecipe("minecraft:snow_block", "2x minecraft:snow", 200) // ice -addMaceratorRecipe("4x minecraft:snow_ball", "minecraft:ice", 100) +addMaceratorRecipe("4x minecraft:snowball", "minecraft:ice", 200) // dripstone -addMaceratorRecipe("4x minecraft:pointed_dripstone", "minecraft:dripstone_block", 100) +addMaceratorRecipe("4x minecraft:pointed_dripstone", "minecraft:dripstone_block", 200) // magma -addMaceratorRecipe("4x minecraft:magma_cream", "minecraft:magma_block", 100) +addMaceratorRecipe("4x minecraft:magma_cream", "minecraft:magma_block", 200) // nether wart -addMaceratorRecipe("9x minecraft:nether_wart", "minecraft:nether_wart_block", 100) +addMaceratorRecipe("9x minecraft:nether_wart", "minecraft:nether_wart_block", 200) // honey -addMaceratorRecipe("4x minecraft:honeycomb", "minecraft:honeycomb_block", 100) +addMaceratorRecipe("4x minecraft:honeycomb", "minecraft:honeycomb_block", 200) // wool let wools = colors.map(color => `minecraft:${color}_wool`) let carpets = colors.map(color => `minecraft:${color}_carpet`) for(let i = 0; i < 16; i++){ - addMaceratorRecipe("4x minecraft:string", `minecraft:${colors[i]}_wool`, 100, 1, wools) + addMaceratorRecipe("4x minecraft:string", `minecraft:${colors[i]}_wool`, 200, 1, wools) addMaceratorRecipe("2x minecraft:string", `minecraft:${colors[i]}_carpet`, 100, 1, carpets) } // clay @@ -257,6 +260,8 @@ addMaceratorRecipe("minecraft:sugar", "minecraft:sugar_cane", 100) for(let i = 0; i < 16; i++){ addMaceratorRecipe(`minecraft:${colors[i]}_concrete_powder`, `minecraft:${colors[i]}_concrete`, 100) } +// bone meal +addMaceratorRecipe("4x minecraft:bone_meal", "minecraft:bone", 200) // dye let dyes = { "minecraft:white_dye": ["minecraft:lily_of_the_valley", "minecraft:bone_meal", "biomesoplenty:white_petals"], @@ -286,7 +291,7 @@ addMaceratorRecipe("4x minecraft:purple_dye", "biomesoplenty:tall_lavender", 100 addMaceratorRecipe("4x minecraft:magenta_dye", "minecraft:lilac", 100) addMaceratorRecipe("4x minecraft:pink_dye", "minecraft:peony", 100) // rose quartz -addMaceratorRecipe("4x biomesoplenty:rose_quartz", "biomesoplenty:rose_quartz_block", 200) +addMaceratorRecipe("4x biomesoplenty:rose_quartz_chunk", "biomesoplenty:rose_quartz_block", 200) // white sandstone let white_sandstones = ["biomesoplenty:white_sandstone", "biomesoplenty:cut_white_sandstone", "biomesoplenty:chiseled_white_sandstone", "biomesoplenty:smooth_white_sandstone"] white_sandstones.forEach(white_sandstone => {addMaceratorRecipe("4x biomesoplenty:white_sand", white_sandstone, 100, 1, white_sandstones)}) diff --git a/kubejs/startup_scripts/recipes/mixer.js b/kubejs/startup_scripts/recipes/mixer.js index 0633958..1288046 100644 --- a/kubejs/startup_scripts/recipes/mixer.js +++ b/kubejs/startup_scripts/recipes/mixer.js @@ -9,8 +9,10 @@ addMixerRecipe("2x minecraft:purple_dye", ["minecraft:red_dye", "minecraft:blue_ addMixerRecipe("2x minecraft:magenta_dye", ["minecraft:purple_dye", "minecraft:pink_dye"], 100) addMixerRecipe("2x minecraft:pink_dye", ["minecraft:red_dye", "minecraft:white_dye"], 100) + // tier 2 addMixerRecipe("4x kubejs:brass_dust", ["2x kubejs:copper_dust", "2x kubejs:zinc_dust"]) addMixerRecipe("4x kubejs:bronze_dust", ["3x kubejs:copper_dust", "kubejs:tin_dust"]) addMixerRecipe("3x kubejs:invar_dust", ["2x kubejs:iron_dust", "kubejs:nickel_ingot"]) -addMixerRecipe("2x kubejs:battery_alloy_dust", ["kubejs:lead_dust", "kubejs:antimony_dust"]) \ No newline at end of file +addMixerRecipe("2x kubejs:battery_alloy_dust", ["kubejs:lead_dust", "kubejs:antimony_dust"]) +addMixerRecipe("minecraft:netherite_ingot", ["3x minecraft:netherite_scrap", "3x minecraft:gold_ingot"]) \ No newline at end of file diff --git a/kubejs/startup_scripts/recipes/packer.js b/kubejs/startup_scripts/recipes/packer.js index 5340151..101becc 100644 --- a/kubejs/startup_scripts/recipes/packer.js +++ b/kubejs/startup_scripts/recipes/packer.js @@ -16,8 +16,10 @@ function addPackerRecipesWood(mod, material){ addPackerRecipe(`4x ${mod}:${material}_wood`, [`4x ${mod}:${material}_log`], 100, 1, "block_template") addPackerRecipe(`4x ${mod}:stripped_${material}_wood`, [`4x ${mod}:stripped_${material}_log`], 100, 1, "block_template") - addPackerRecipe(`3x ${mod}:${material}_hanging_sign`, [`2x ${mod}:stripped_${material}_log`, "minecraft:chain"], 100, 1, "sign_template") - addPackerRecipe(`${mod}:${material}_chest_boat`, [`${mod}:${material}_boat`, "minecraft:chest"], 100, 1, "boat_template") + addPackerRecipe(`3x ${mod}:${material}_hanging_sign`, [`2x ${mod}:stripped_${material}_log`, "minecraft:chain"], 200, 1, "sign_template") + for(let i = 0; i < 2; i++){ + addPackerRecipe(`${mod}:${material}_chest_boat`, [`${mod}:${material}_boat`, chests[i]], 100, 1, "boat_template", [`${mod}:${material}_boat`, chests]) + } } //addStoragePackerAll("aluminum") @@ -50,16 +52,17 @@ addPackerRecipesWood("minecraft", "mangrove") addPackerRecipesWood("minecraft", "cherry") // bamboo addPackerRecipe('minecraft:bamboo_block', ['9x minecraft:bamboo'], 100, 1, "block_template") -addPackerRecipe('3x minecraft:bamboo_hanging_sign', ['2x minecraft:stripped_bamboo_block', "minecraft:chain"], 100, 1, "sign_template") -addPackerRecipe('minecraft:bamboo_chest_raft', ['minecraft:bamboo_raft', "minecraft:chest"], 100, 1, "boat_template") +addPackerRecipe('3x minecraft:bamboo_hanging_sign', ['2x minecraft:stripped_bamboo_block', "minecraft:chain"], 200, 1, "sign_template") +addPackerRecipe('minecraft:bamboo_chest_raft', ['minecraft:bamboo_raft', "minecraft:chest"], 100, 1, "boat_template", ["minecraft:bamboo_raft", chests]) +addPackerRecipe('minecraft:bamboo_chest_raft', ['minecraft:bamboo_raft', "minecraft:trapped_chest"], 100, 1, "boat_template", ["minecraft:bamboo_raft", chests]) // crimson addPackerRecipe('4x minecraft:crimson_hyphae', ['4x minecraft:crimson_stem'], 100, 1, "block_template") addPackerRecipe('4x minecraft:stripped_crimson_hyphae' , ['4x minecraft:stripped_crimson_stem'], 100, 1, "block_template") -addPackerRecipe('3x minecraft:crimson_hanging_sign', ['2x minecraft:stripped_crimson_stem', "minecraft:chain"], 100, 1, "sign_template") +addPackerRecipe('3x minecraft:crimson_hanging_sign', ['2x minecraft:stripped_crimson_stem', "minecraft:chain"], 200, 1, "sign_template") // warped addPackerRecipe('4x minecraft:warped_hyphae', ['4x minecraft:warped_stem'], 100, 1, "block_template") addPackerRecipe('4x minecraft:stripped_warped_hyphae' , ['4x minecraft:stripped_warped_stem'], 100, 1, "block_template") -addPackerRecipe('3x minecraft:warped_hanging_sign', ['2x minecraft:stripped_warped_stem', "minecraft:chain"], 100, 1, "sign_template") +addPackerRecipe('3x minecraft:warped_hanging_sign', ['2x minecraft:stripped_warped_stem', "minecraft:chain"], 200, 1, "sign_template") //biomesoplenty addPackerRecipesWood("biomesoplenty", "fir") addPackerRecipesWood("biomesoplenty", "redwood") @@ -71,8 +74,30 @@ addPackerRecipesWood("biomesoplenty", "dead") addPackerRecipesWood("biomesoplenty", "magic") addPackerRecipesWood("biomesoplenty", "umbran") addPackerRecipesWood("biomesoplenty", "hellbark") - - +//traped chests +addPackerRecipe('minecraft:trapped_chest', ['minecraft:chest', 'minecraft:tripwire_hook'], 100) +//tripwire hook / chiseled bookshelf / barrel / note block / bowl +for(let i = 0; i < planks.length; i++){ + addPackerRecipe("2x minecraft:tripwire_hook", [planks[i], 'minecraft:iron_ingot'], 100, 1, "air", [planks, "minecraft:iron_ingot"]) + addPackerRecipe("minecraft:chiseled_bookshelf", [planks6[i], slabs3[i]], 100, 1, "air", [planks6, slabs3]) + addPackerRecipe("minecraft:barrel", [planks6[i], slabs2[i]], 100, 1, "block_template", [planks6, slabs2]) + addPackerRecipe("minecraft:barrel", [slabs6[i], 'minecraft:stick'], 100, 1, "block_template", [slabs6, 'minecraft:stick']) + addAssemblerRecipe('minecraft:note_block', [planks8[i], 'minecraft:redstone'], 100, 1, [planks8, 'minecraft:redstone']) + addAssemblerRecipe('minecraft:bowl', [planks2[i], 'minecraft:stick'], 100, 1, [planks3, 'minecraft:stick']) +} +//drawers +for(let i = 0; i < 8; i++){ + let woodType = planks[i].split(":")[1].replace("_planks", "") + for(let j = 0; j < 2; j++){ + addPackerRecipe(`storagedrawers:${woodType}_full_drawers_1`, ["4x " + planks[i], chests[j]], 100, 1, "drawer_template_1x1", ["4x " + planks[i], "#forge:chests/wooden"]) + addPackerRecipe(`storagedrawers:${woodType}_full_drawers_2`, ["3x " + planks[i], chests[j]], 100, 1, "drawer_template_1x2", ["3x " + planks[i], "#forge:chests/wooden"]) + addPackerRecipe(`storagedrawers:${woodType}_full_drawers_4`, [planks[i], chests[j]], 100, 1, "drawer_template_2x2", [planks[i], "#forge:chests/wooden"]) + addPackerRecipe(`storagedrawers:${woodType}_half_drawers_1`, ["4x " + planks[i].replace("planks", "slab"), chests[j]], 100, 1, "drawer_template_1x1", ["4x " + planks[i].replace("planks", "slab"), "#forge:chests/wooden"]) + addPackerRecipe(`storagedrawers:${woodType}_half_drawers_2`, ["3x " + planks[i].replace("planks", "slab"), chests[j]], 100, 1, "drawer_template_1x2", ["3x " + planks[i].replace("planks", "slab"), "#forge:chests/wooden"]) + addPackerRecipe(`storagedrawers:${woodType}_half_drawers_4`, [planks[i].replace("planks", "slab"), chests[j]], 100, 1, "drawer_template_2x2", [planks[i].replace("planks", "slab"), "#forge:chests/wooden"]) + } + addPackerRecipe(`storagedrawers:${woodType}_trim`, [planks[i], "minecraft:stick"], 100, 1, "block_template") +} // mossy cobblestone addPackerRecipe('minecraft:mossy_cobblestone', ['minecraft:cobblestone', 'minecraft:moss_block'], 100, 1, "block_template") addPackerRecipe('minecraft:mossy_cobblestone', ['minecraft:cobblestone', 'minecraft:vine'], 100, 1, "block_template") @@ -104,7 +129,7 @@ addPackerRecipe('minecraft:bricks', ['4x minecraft:brick'], 100, 1, "block_templ // mud bricks addPackerRecipe('4x minecraft:mud_bricks', ['4x minecraft:packed_mud'], 100, 1, "block_template") // packed mud -addPackerRecipe('minecraft:packed_mud', ['minecraft:mud', 'minecraft:wheat'], 100, 1, "block_template") +addPackerRecipe('minecraft:packed_mud', ['minecraft:mud', 'minecraft:wheat'], 100) // sandstone addPackerRecipe('minecraft:sandstone', ['4x minecraft:sand'], 100, 1, "block_template") addPackerRecipe('minecraft:chiseled_sandstone', ['2x minecraft:sandstone_slab'], 100, 1, "block_template") @@ -144,6 +169,7 @@ addPackerRecipe('minecraft:chiseled_quartz_block', ['2x minecraft:quartz_slab'], addPackerRecipe('minecraft:copper_block', ['9x minecraft:copper_ingot'], 100, 1, "block_template") addPackerRecipe('minecraft:copper_ingot', ['9x kubejs:copper_nugget'], 100, 1, "block_template") addPackerRecipe('minecraft:raw_copper_block', ['9x minecraft:raw_copper'], 100, 1, "block_template") +addPackerRecipe("minecraft:lightning_rod", ["3x minecraft:copper_ingot"], 100) // waxing addPackerRecipe('2x minecraft:waxed_copper_block', ['2x minecraft:copper_block', 'minecraft:honeycomb'], 100, 1, "waxing_template") addPackerRecipe('2x minecraft:waxed_exposed_copper', ['2x minecraft:exposed_copper', 'minecraft:honeycomb'], 100, 1, "waxing_template") @@ -283,7 +309,6 @@ for (let i = 0; i < 16; i++) { addPackerRecipe(`minecraft:${colors[i]}_banner`, [`minecraft:${colors[j]}_banner`, `minecraft:${colors[i]}_dye`], 100, 1, "color_template", [currentBanners, `minecraft:${colors[i]}_dye`]) } // bed - let planks3 = planks.map(plank => `3x ${plank}`) for (let plank of planks3) { addPackerRecipe(`minecraft:${colors[i]}_bed`, [`3x minecraft:${colors[i]}_wool`, plank], 100, 1, "block_template", [`3x minecraft:${colors[i]}_wool`, planks3]) } @@ -302,5 +327,50 @@ for (let i = 0; i < 16; i++) { // candle addPackerRecipe(`minecraft:${colors[i]}_candle`, ['minecraft:candle', `minecraft:${colors[i]}_dye`], 100, 1, "color_template") } - - +// minecart +addPackerRecipe('minecraft:chest_minecart', ['minecraft:minecart', 'minecraft:chest'], 100, 1, "air", ["minecraft:minecart", chests]) +addPackerRecipe('minecraft:chest_minecart', ['minecraft:minecart', 'minecraft:trapped_chest'], 100, 1, "air", ["minecraft:minecart", chests]) +addPackerRecipe('minecraft:furnace_minecart', ['minecraft:minecart', 'minecraft:furnace'], 100, 1, "air") +addPackerRecipe('minecraft:hopper_minecart', ['minecraft:minecart', 'minecraft:hopper'], 100, 1, "air") +addPackerRecipe('minecraft:tnt_minecart', ['minecraft:minecart', 'minecraft:tnt'], 100, 1, "air") +// coarse dirt +addPackerRecipe('2x minecraft:coarse_dirt', ['minecraft:dirt', 'minecraft:gravel'], 100, 1, "block_template") +// melon +addPackerRecipe('minecraft:melon', ['9x minecraft:melon_slice'], 100, 1, "block_template") +// pumpkin +addPackerRecipe('minecraft:jack_o_lantern', ['minecraft:carved_pumpkin', 'minecraft:torch'], 100, 1, "block_template") +// workstations +addPackerRecipe('minecraft:crafting_table', ['8x minecraft:stick'], 100) +for(let i = 0; i < stone_tool_materials.length; i++){ + addPackerRecipe(`minecraft:furnace`, [stone_tool_materials8[i]], 100, 1, "air", [stone_tool_materials8]) +} +// pots +addPackerRecipe('minecraft:flower_pot', ['3x minecraft:brick'], 100) +// eye of ender +addPackerRecipe('minecraft:ender_eye', ['minecraft:ender_pearl', 'minecraft:blaze_powder'], 100, 1, "block_template") +// dropper +addPackerRecipe('minecraft:dropper', ['7x minecraft:cobblestone', 'minecraft:redstone'], 100, 1, "block_template") +// dispenser +addPackerRecipe('minecraft:dispenser', ['minecraft:dropper', '3x minecraft:stick', '3x minecraft:string'], 100, 1, "block_template") +// sticky piston +addPackerRecipe('minecraft:sticky_piston', ['minecraft:piston', 'minecraft:slime_ball'], 100, 1, "block_template") +// tnt +for(let i = 0; i < sands.length; i++){ + addPackerRecipe('minecraft:tnt', [sands4[i], 'minecraft:gunpowder'], 100, 1, "block_template", [sands4, 'minecraft:gunpowder']) +} +// compass +addPackerRecipe('minecraft:compass', ['4x minecraft:iron_ingot', 'minecraft:redstone'], 100) +// clock +addPackerRecipe('minecraft:clock', ['4x minecraft:gold_ingot', 'minecraft:redstone'], 100) +// golden apple +addPackerRecipe('minecraft:golden_apple', ['minecraft:apple', '8x minecraft:gold_ingot'], 100) +// golden carrot +addPackerRecipe('minecraft:golden_carrot', ['minecraft:carrot', '8x minecraft:gold_nugget'], 100) +// glistering melon +addPackerRecipe('minecraft:glistering_melon_slice', ['minecraft:melon_slice', '8x minecraft:gold_nugget'], 100) +// bread +addPackerRecipe('3x minecraft:bread', ['minecraft:hay_block'], 100) +// leather +addPackerRecipe('minecraft:leather', ['4x minecraft:rabbit_hide'], 100) +// fermentated spider eye +addPackerRecipe("minecraft:fermented_spider_eye", ["minecraft:spider_eye", "minecraft:sugar", "minecraft:brown_mushroom"], 100) \ No newline at end of file diff --git a/kubejs/startup_scripts/recipes/unpacker.js b/kubejs/startup_scripts/recipes/unpacker.js index 531e24f..fc91a50 100644 --- a/kubejs/startup_scripts/recipes/unpacker.js +++ b/kubejs/startup_scripts/recipes/unpacker.js @@ -51,16 +51,16 @@ addUnpackerRecipe(["9x minecraft:diamond"], "minecraft:diamond_block", 100) // netherite addUnpackerRecipe(["9x minecraft:netherite_ingot"], "minecraft:netherite_block", 100) // quartz -addUnpackerRecipe(["9x minecraft:quartz"], "minecraft:quartz_block", 100) +addUnpackerRecipe(["4x minecraft:quartz"], "minecraft:quartz_block", 100) // copper addUnpackerRecipe(["9x minecraft:copper_ingot"], "minecraft:copper_block", 100) addUnpackerRecipe(["9x kubejs:copper_nugget"], "minecraft:copper_ingot", 100) addUnpackerRecipe(["9x minecraft:raw_copper"], "minecraft:raw_copper_block", 100) // brick -addUnpackerRecipe(["4x minecraft:brick"], "minecraft:bricks", 100) +addUnpackerRecipe(["4x minecraft:brick"], "minecraft:bricks", 200) // nether brick -addUnpackerRecipe(["4x minecraft:nether_brick"], "minecraft:nether_bricks", 100) -addUnpackerRecipe(["2x minecraft:nether_brick", "2x minecraft:nether_wart"], "minecraft:red_nether_bricks", 100) +addUnpackerRecipe(["4x minecraft:nether_brick"], "minecraft:nether_bricks", 200) +addUnpackerRecipe(["2x minecraft:nether_brick", "2x minecraft:nether_wart"], "minecraft:red_nether_bricks", 200) // slime addUnpackerRecipe(["9x minecraft:slime_ball"], "minecraft:slime_block", 100) // bone @@ -72,13 +72,15 @@ addUnpackerRecipe(["9x minecraft:wheat"], "minecraft:hay_block", 100) // honey addUnpackerRecipe(["minecraft:honey_block", "4x minecraft:glass_bottle"], "4x minecraft:honey_bottle", 100) // sugar -addUnpackerRecipe(["3x minecraft:sugar", "minecraft:glass_bottle"], "minecraft:honey_bottle", 100) +addUnpackerRecipe(["12x minecraft:sugar"], "minecraft:honey_block", 100) // others addUnpackerRecipe(["minecraft:honeycomb", "minecraft:string"], "minecraft:candle", 100, 1, "#minecraft:candles") let concretePowders = colors.map(color => `minecraft:${color}_concrete_powder`) for(let i = 0; i < 16; i++){ - addUnpackerRecipe(["minecraft:honeycomb", "minecraft:string"], `minecraft:${colors[i]}_candle`, 100, 1, "#minecraft:candles") - addUnpackerRecipe([`6x minecraft:${colors[i]}_wool`, "minecraft:stick"], `minecraft:${colors[i]}_banner`, 100) - addUnpackerRecipe([`3x minecraft:${colors[i]}_wool`, "3x minecraft:oak"], `minecraft:${colors[i]}_bed`, 100) - addUnpackerRecipe(["4x minecraft:sand", "4x minecraft:gravel"], `minecraft:${colors[i]}_concrete_powder`, 100, 1, concretePowders) -} \ No newline at end of file + addUnpackerRecipe(["minecraft:honeycomb", "minecraft:string"], `minecraft:${colors[i]}_candle`, 200, 1, "#minecraft:candles") + addUnpackerRecipe([`6x minecraft:${colors[i]}_wool`, "minecraft:stick"], `minecraft:${colors[i]}_banner`, 200) + addUnpackerRecipe([`3x minecraft:${colors[i]}_wool`, "3x minecraft:oak"], `minecraft:${colors[i]}_bed`, 200) + addUnpackerRecipe(["4x minecraft:sand", "4x minecraft:gravel"], `minecraft:${colors[i]}_concrete_powder`, 200, 1, concretePowders) +} +// melon +addUnpackerRecipe(["9x minecraft:melon_slice"], "minecraft:melon", 100) \ No newline at end of file