From 8acca2fbac6ad528138fdf96e569bd002a941cb5 Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Sat, 5 Mar 2022 01:51:54 +0100 Subject: [PATCH] init --- .gitignore | 2 + modpacktoolsconfig.toml | 11 + src/modpack.lua | 264 ++ src/overrides/config/CBMicroblock.cfg | 16 + src/overrides/config/ChickenChunks.cfg | 21 + src/overrides/config/EnderStorage.cfg | 14 + src/overrides/config/Exchangers-1.toml.bak | 457 ++ src/overrides/config/Exchangers.toml | 457 ++ src/overrides/config/MouseTweaks.cfg | 8 + src/overrides/config/PregenConfig.toml | 52 + src/overrides/config/ProjectRed.cfg | 107 + .../config/abnormals_core-client.toml | 23 + .../config/abnormals_core-common.toml | 14 + .../config/advRocketry/asteroidConfig.xml | 11 + .../config/advRocketry/oreConfig.xml | 2 + .../config/advRocketry/planetDefs.xml | 49 + .../config/advancedRocketry-1.toml.bak | 225 + .../config/advancedRocketry-2.toml.bak | 225 + .../config/advancedRocketry-3.toml.bak | 225 + .../config/advancedRocketry-4.toml.bak | 225 + .../config/advancedRocketry-5.toml.bak | 225 + src/overrides/config/advancedRocketry.toml | 225 + .../config/aiimprovements-common.toml | 40 + src/overrides/config/antiqueatlas.client.toml | 60 + src/overrides/config/antiqueatlas.common.toml | 33 + src/overrides/config/appleskin-client.toml | 24 + .../config/appliedenergistics2-client.toml | 61 + .../config/appliedenergistics2-common.toml | 157 + src/overrides/config/aquaculture-common.toml | 52 + .../config/archers_paradox-client.toml | 3 + src/overrides/config/backtools.toml | 12 + .../config/betteradvancements-client.toml | 23 + .../config/betterburning-common.toml | 35 + .../config/biomesoplenty/biomes.json | 350 ++ .../config/biomesoplenty/client.toml | 6 + .../config/biomesoplenty/generation.toml | 20 + .../config/blockcarpentry-common.toml | 11 + src/overrides/config/buddycards-client.toml | 170 + src/overrides/config/bwncr-common.toml | 16 + src/overrides/config/cavebiomeapi-common.toml | 7 + src/overrides/config/cavern-common.toml | 20 + src/overrides/config/ccl.cfg | 10 + .../config/chiselsandbits-client.toml | 76 + .../config/chiselsandbits-common.toml | 18 + .../config/cobblegenrandomizer-common.toml | 33 + src/overrides/config/cofh_core-client.toml | 13 + .../config/computercraft-client.toml | 7 + src/overrides/config/configured-client.toml | 3 + src/overrides/config/connectivity-common.toml | 20 + .../config/constructionwand-client.toml | 16 + src/overrides/config/cookiecore-client.toml | 5 + .../config/cosmeticarmorreworked-client.toml | 28 + .../config/cosmeticarmorreworked-common.toml | 10 + .../config/craftingtweaks-client.toml | 17 + .../config/craftingtweaks-common.toml | 8 + src/overrides/config/create-client.toml | 120 + src/overrides/config/create-common.toml | 136 + src/overrides/config/curios-client.toml | 21 + .../config/custom-micromaterials.cfg | 9 + src/overrides/config/darkerdepths-common.toml | 7 + .../config/decorative_blocks-common.toml | 8 + .../config/defaultoptions-common.toml | 6 + .../config/defaultoptions/keybindings.txt | 140 + .../config/defaultoptions/options.txt | 0 src/overrides/config/dice-common.toml | 6 + src/overrides/config/dungeon_crawl.toml | 104 + .../config/enchantedbookredesign-client.toml | 5 + src/overrides/config/endergetic-common.toml | 6 + src/overrides/config/exoticbirds-common.toml | 501 ++ src/overrides/config/extcaves_config.toml | 271 ++ src/overrides/config/fairylights-client.toml | 7 + src/overrides/config/fairylights-common.toml | 8 + .../config/farmersdelight-client.toml | 8 + .../config/farmersdelight-common.toml | 100 + src/overrides/config/fastbench.cfg | 8 + src/overrides/config/ferritecore-mixin.toml | 21 + src/overrides/config/flywheel-client.toml | 5 + src/overrides/config/fml.toml | 8 + .../config/forbidden_arcanus-client.toml | 13 + .../config/forbidden_arcanus-common.toml | 222 + src/overrides/config/forge-client.toml | 24 + src/overrides/config/forge-common.toml | 7 + src/overrides/config/ftbbackups-common.toml | 40 + .../ftbquests/backup/chapter_groups.snbt | 6 + .../ftbquests/backup/chapters/lifesavers.snbt | 824 ++++ .../ftbquests/backup/chapters/market.snbt | 1144 +++++ .../ftbquests/backup/chapters/metallurgy.snbt | 333 ++ .../ftbquests/backup/chapters/overview.snbt | 501 ++ .../backup/chapters/professions.snbt | 1452 ++++++ .../ftbquests/backup/chapters/shipments.snbt | 4033 ++++++++++++++++ .../ftbquests/backup/chapters/stage_1.snbt | 748 +++ .../ftbquests/backup/chapters/stage_2.snbt | 748 +++ .../ftbquests/backup/chapters/stage_3.snbt | 1201 +++++ .../ftbquests/backup/chapters/stage_4.snbt | 855 ++++ .../ftbquests/backup/chapters/stage_4b.snbt | 865 ++++ .../ftbquests/backup/chapters/stage_5.snbt | 936 ++++ .../ftbquests/backup/chapters/welcome.snbt | 229 + .../config/ftbquests/backup/data.snbt | 22 + .../ftbquests/quests/chapter_groups.snbt | 6 + .../ftbquests/quests/chapters/lifesavers.snbt | 788 ++++ .../ftbquests/quests/chapters/market.snbt | 1180 +++++ .../ftbquests/quests/chapters/metallurgy.snbt | 333 ++ .../ftbquests/quests/chapters/overview.snbt | 513 ++ .../quests/chapters/professions.snbt | 1452 ++++++ .../ftbquests/quests/chapters/shipments.snbt | 4132 +++++++++++++++++ .../ftbquests/quests/chapters/stage_1.snbt | 748 +++ .../ftbquests/quests/chapters/stage_2.snbt | 748 +++ .../ftbquests/quests/chapters/stage_3.snbt | 1201 +++++ .../ftbquests/quests/chapters/stage_4.snbt | 855 ++++ .../ftbquests/quests/chapters/stage_4b.snbt | 865 ++++ .../ftbquests/quests/chapters/stage_5.snbt | 936 ++++ .../ftbquests/quests/chapters/welcome.snbt | 229 + .../config/ftbquests/quests/data.snbt | 22 + src/overrides/config/grapplemod.toml | 216 + src/overrides/config/ichunutil.toml | 38 + .../config/ichunutil/themes/aztec.json | 43 + .../config/ichunutil/themes/blue&black.json | 186 + .../config/ichunutil/themes/blue&orange.json | 187 + .../config/ichunutil/themes/default.json | 155 + .../config/ichunutil/themes/grassgreen.json | 185 + .../config/ichunutil/themes/green&black.json | 186 + .../config/ichunutil/themes/lazygray.json | 155 + .../config/ichunutil/themes/monogeneric.json | 185 + .../config/ichunutil/themes/nightblack.json | 155 + .../config/ichunutil/themes/red&black.json | 187 + .../config/ichunutil/themes/skyblue.json | 188 + .../config/ichunutil/themes/whitelight.json | 155 + .../config/improvedbackpacks-common.toml | 36 + .../config/infinitylib/config-common.toml | 5 + src/overrides/config/jade-common.toml | 15 + src/overrides/config/jei-client.toml | 55 + src/overrides/config/jei/blacklist.cfg | 1236 +++++ src/overrides/config/jei/bookmarks.ini | 0 .../jei/ingredient-list-mod-sort-order.ini | 71 + .../jei/ingredient-list-type-sort-order.ini | 5 + .../config/jei/recipe-category-sort-order.ini | 106 + src/overrides/config/libvulpes.toml | 7 + src/overrides/config/lootr-common.toml | 23 + src/overrides/config/magicfeather-common.toml | 16 + src/overrides/config/mantle-client.toml | 4 + src/overrides/config/moreminecartsconfig.toml | 4 + .../config/naturescompass-client.toml | 13 + .../config/naturescompass-common.toml | 18 + src/overrides/config/occultism-client.toml | 11 + src/overrides/config/occultism-common.toml | 85 + src/overrides/config/openloader-common.toml | 8 + src/overrides/config/oretweaker/Info.txt | 11 + .../config/oretweaker/OreTweaker.toml | 14 + .../config/oretweaker/backup/OreTweaker.json | 94 + .../config/oretweaker/data/apatite_ore.json | 14 + .../oretweaker/data/arcane_crystal_ore.json | 14 + .../data/aridrock_redstone_ore.json | 11 + .../oretweaker/data/aridrock_silver_ore.json | 11 + .../config/oretweaker/data/basalt.json | 11 + .../config/oretweaker/data/cinnabar_ore.json | 14 + .../config/oretweaker/data/emerald_ore.json | 14 + .../config/oretweaker/data/lead_ore.json | 14 + .../config/oretweaker/data/limestone.json | 11 + .../data/limestone_redstone_ore.json | 11 + .../oretweaker/data/limestone_silver_ore.json | 11 + .../config/oretweaker/data/marble.json | 11 + .../config/oretweaker/data/nickel_ore.json | 14 + .../config/oretweaker/data/niter_ore.json | 14 + .../config/oretweaker/data/quartz_ore.json | 14 + .../config/oretweaker/data/randomium_ore.json | 14 + .../config/oretweaker/data/redstone_ore.json | 11 + .../config/oretweaker/data/ruby_ore.json | 14 + .../config/oretweaker/data/sapphire_ore.json | 14 + .../config/oretweaker/data/silver_ore.json | 11 + .../oretweaker/data/xpetrified_ore.json | 14 + .../templates/collectives/default.json | 238 + .../templates/collectives/default_nether.json | 104 + .../collectives/default_overworld.json | 138 + .../templates/defaults/ancient_debris.json | 24 + .../templates/defaults/andesite.json | 14 + .../templates/defaults/blackstone.json | 14 + .../templates/defaults/coal_ore.json | 14 + .../templates/defaults/diamond_ore.json | 14 + .../templates/defaults/diorite.json | 14 + .../oretweaker/templates/defaults/dirt.json | 14 + .../templates/defaults/emerald_ore.json | 16 + .../templates/defaults/gold_ore.json | 14 + .../templates/defaults/granite.json | 14 + .../oretweaker/templates/defaults/gravel.json | 24 + .../templates/defaults/infested_stone.json | 16 + .../templates/defaults/iron_ore.json | 14 + .../templates/defaults/lapis_ore.json | 14 + .../templates/defaults/magma_block.json | 14 + .../templates/defaults/nether_gold_ore.json | 24 + .../templates/defaults/nether_quartz_ore.json | 24 + .../templates/defaults/redstone_ore.json | 14 + .../templates/defaults/soul_sand.json | 14 + .../templates/other/fuck_silverfish.json | 11 + .../templates/remove/remove_everything.json | 137 + .../remove/remove_everything_nether.json | 53 + .../remove/remove_everything_overworld.json | 95 + .../remove/remove_igneous_rocks.json | 25 + .../templates/remove/remove_ores.json | 74 + .../templates/remove/remove_ores_nether.json | 25 + .../remove/remove_ores_overworld.json | 53 + .../templates/remove/remove_stones.json | 67 + .../remove/remove_stones_nether.json | 25 + .../remove/remove_stones_overworld.json | 67 + src/overrides/config/paintings-client.toml | 5 + src/overrides/config/patchouli-client.toml | 16 + src/overrides/config/pathtodirt-common.toml | 7 + src/overrides/config/pipez-client.toml | 1 + src/overrides/config/ponderjs-client.toml | 11 + src/overrides/config/portality/modules.toml | 1 + .../config/portality/portality-1.toml.bak | 33 + src/overrides/config/portality/portality.toml | 33 + src/overrides/config/randomium-common.toml | 48 + .../repurposed_structures-forge/bastions.toml | 7 + ...ome_dimension_allow_disallow_configs.json5 | 155 + .../repurposed_structures-forge/cities.toml | 6 + .../dungeons-1.toml.bak | 0 .../repurposed_structures-forge/dungeons.toml | 87 + .../fortresses.toml | 24 + .../igloos-1.toml.bak | 0 .../repurposed_structures-forge/igloos.toml | 11 + .../repurposed_structures-forge/mansions.toml | 22 + .../mineshafts.toml | 139 + .../modded_loot.toml | 8 + .../natural_mob_spawning_configs.json5 | 374 ++ .../repurposed_structures-forge/outposts.toml | 34 + .../repurposed_structures-forge/pyramids.toml | 24 + .../ruined_portals.toml | 6 + .../repurposed_structures-forge/ruins.toml | 10 + .../shipwrecks.toml | 14 + .../strongholds.toml | 51 + .../repurposed_structures-forge/temples.toml | 14 + .../repurposed_structures-forge/villages.toml | 54 + .../repurposed_structures-forge/wells.toml | 18 + .../witch_huts.toml | 14 + src/overrides/config/sidebar_buttons.json | 17 + src/overrides/config/soundfilters-client.toml | 133 + src/overrides/config/spark/activity.json | 41 + .../config/storagedrawers-client.toml | 4 + .../config/storagedrawers-common.toml | 30 + src/overrides/config/strawgolem-common.toml | 59 + .../config/structurescompass-client.toml | 27 + .../config/structurescompass-common.toml | 27 + .../config/supplementaries-client.toml | 205 + .../config/supplementaries-common.toml | 364 ++ .../config/supplementaries-registry.toml | 92 + src/overrides/config/tconstruct-client.toml | 15 + src/overrides/config/tconstruct-common.toml | 108 + src/overrides/config/thermal-client.toml | 7 + src/overrides/config/titanium/modules.toml | 11 + src/overrides/config/titanium/resources.toml | 6 + .../config/titanium/titanium-tags.toml | 5 + src/overrides/config/titanium/titanium.toml | 14 + src/overrides/config/torchmaster.toml | 48 + .../config/valhelsia_core-client.toml | 11 + src/overrides/config/waila/waila.json | 46 + src/overrides/config/waila/waila_plugins.json | 54 + .../config/waterstrainer/waterstrainer.toml | 44 + .../waterstrainer_loottables.txt | 56 + src/overrides/config/xreliquary-client.toml | 54 + src/overrides/config/xreliquary-common.toml | 520 +++ .../defaultconfigs/create-server.toml | 392 ++ .../defaultconfigs/occultism-server.toml | 88 + .../defaultconfigs/pipez-server.toml | 104 + .../defaultconfigs/thermal-server.toml | 79 + .../kubejs/assets/kubejs/lang/en_us.json | 2 + .../kubejs/models/block/accellerator.json | 94 + .../kubejs/models/block/andesite_machine.json | 175 + .../kubejs/models/block/brass_machine.json | 196 + .../assets/kubejs/models/block/catalyst.json | 7 + .../kubejs/models/block/chaos_catalyst.json | 7 + .../kubejs/models/block/copper_machine.json | 144 + .../kubejs/models/block/enderium_casing.json | 8 + .../kubejs/models/block/enderium_machine.json | 13 + .../assets/kubejs/models/block/machine.json | 10 + .../models/block/mundane_substrate.json | 7 + .../models/block/ponder_laser_lamp.json | 91 + .../models/block/ponder_laser_lamp_on.json | 102 + .../assets/kubejs/models/block/substrate.json | 106 + .../kubejs/models/block/zinc_machine.json | 13 + .../models/item/computation_matrix.json | 365 ++ .../kubejs/models/item/profession_card.json | 8 + .../assets/kubejs/models/item/trade_card.json | 8 + .../assets/kubejs/ponder/laser_alchemy.nbt | Bin 0 -> 753 bytes .../assets/kubejs/ponder/rocket_scene.nbt | Bin 0 -> 1544 bytes .../textures/block/accellerator_glass.png | Bin 0 -> 554 bytes .../kubejs/textures/block/cage_lamp.png | Bin 0 -> 6278 bytes .../kubejs/textures/block/catalyst_glass.png | Bin 0 -> 718 bytes .../kubejs/textures/block/chaos_glass.png | Bin 0 -> 716 bytes .../textures/block/computation_matrix.png | Bin 0 -> 7558 bytes .../block/computation_matrix.png.mcmeta | 5 + .../textures/block/computation_matrix_2.png | Bin 0 -> 7502 bytes .../block/computation_matrix_2.png.mcmeta | 5 + .../kubejs/textures/block/enderium_casing.png | Bin 0 -> 268 bytes .../textures/block/enderium_casing.png.mcmeta | 7 + .../textures/block/enderium_casing_ctm.png | Bin 0 -> 439 bytes .../textures/block/enderium_casing_top.png | Bin 0 -> 272 bytes .../block/enderium_casing_top.png.mcmeta | 7 + .../block/enderium_casing_top_ctm.png | Bin 0 -> 316 bytes .../block/enderium_machine_bottom.png | Bin 0 -> 282 bytes .../textures/block/enderium_machine_inner.png | Bin 0 -> 234 bytes .../textures/block/enderium_machine_side.png | Bin 0 -> 359 bytes .../textures/block/enderium_machine_top.png | Bin 0 -> 309 bytes .../kubejs/textures/block/fluix_casing.png | Bin 0 -> 330 bytes .../textures/block/fluix_casing.png.mcmeta | 7 + .../textures/block/fluix_casing_ctm.png | Bin 0 -> 489 bytes .../kubejs/textures/block/invar_casing.png | Bin 0 -> 309 bytes .../textures/block/invar_casing.png.mcmeta | 7 + .../textures/block/invar_casing_bottom.png | Bin 0 -> 351 bytes .../textures/block/invar_casing_ctm.png | Bin 0 -> 514 bytes .../textures/block/invar_casing_top.png | Bin 0 -> 567 bytes .../kubejs/textures/block/mundane_glass.png | Bin 0 -> 673 bytes .../kubejs/textures/block/reagent_glass.png | Bin 0 -> 712 bytes .../kubejs/textures/block/zinc_casing.png | Bin 0 -> 278 bytes .../textures/block/zinc_casing.png.mcmeta | 7 + .../kubejs/textures/block/zinc_casing_ctm.png | Bin 0 -> 418 bytes .../textures/block/zinc_machine_bottom.png | Bin 0 -> 270 bytes .../textures/block/zinc_machine_inner.png | Bin 0 -> 241 bytes .../textures/block/zinc_machine_side.png | Bin 0 -> 327 bytes .../textures/block/zinc_machine_top.png | Bin 0 -> 278 bytes .../kubejs/textures/fluid/fine_sand_flow.png | Bin 0 -> 423 bytes .../textures/fluid/fine_sand_flow.png.mcmeta | 5 + .../kubejs/textures/fluid/fine_sand_still.png | Bin 0 -> 246 bytes .../kubejs/textures/fluid/matrix_flow.png | Bin 0 -> 13504 bytes .../textures/fluid/matrix_flow.png.mcmeta | 3 + .../kubejs/textures/fluid/matrix_still.png | Bin 0 -> 12772 bytes .../textures/fluid/matrix_still.png.mcmeta | 5 + .../kubejs/textures/fluid/number_flow.png | Bin 0 -> 4534 bytes .../textures/fluid/number_flow.png.mcmeta | 3 + .../kubejs/textures/fluid/number_still.png | Bin 0 -> 4204 bytes .../textures/fluid/number_still.png.mcmeta | 5 + .../textures/item/abstruse_mechanism.png | Bin 0 -> 324 bytes .../kubejs/textures/item/boot_medium.png | Bin 0 -> 311 bytes .../textures/item/calculation_mechanism.png | Bin 0 -> 354 bytes .../kubejs/textures/item/calculator.png | Bin 0 -> 267 bytes .../textures/item/charged_calculator.png | Bin 0 -> 362 bytes .../item/charged_calculator.png.mcmeta | 6 + .../textures/item/chromatic_resonator.png | Bin 0 -> 849 bytes .../item/chromatic_resonator.png.mcmeta | 6 + .../kubejs/textures/item/circuit_scrap.png | Bin 0 -> 265 bytes .../kubejs/textures/item/coke_chunk.png | Bin 0 -> 256 bytes .../kubejs/textures/item/creosote_pellet.png | Bin 0 -> 306 bytes .../assets/kubejs/textures/item/divide.png | Bin 0 -> 228 bytes .../kubejs/textures/item/divide_cast.png | Bin 0 -> 264 bytes .../item/dye_entangled_singularity.png | Bin 0 -> 5759 bytes .../item/dye_entangled_singularity.png.mcmeta | 6 + .../assets/kubejs/textures/item/eight.png | Bin 0 -> 243 bytes .../kubejs/textures/item/eight_cast.png | Bin 0 -> 266 bytes .../kubejs/textures/item/example_item.png | Bin 0 -> 372 bytes .../assets/kubejs/textures/item/five.png | Bin 0 -> 241 bytes .../assets/kubejs/textures/item/four.png | Bin 0 -> 234 bytes .../textures/item/ground_slimy_fern.png | Bin 0 -> 247 bytes .../item/incomplete_abstruse_mechanism.png | Bin 0 -> 275 bytes .../item/incomplete_calculation_mechanism.png | Bin 0 -> 368 bytes .../item/incomplete_calculation_processor.png | Bin 0 -> 246 bytes .../textures/item/incomplete_coke_chunk.png | Bin 0 -> 284 bytes .../item/incomplete_engineering_processor.png | Bin 0 -> 255 bytes .../item/incomplete_inductive_mechanism.png | Bin 0 -> 399 bytes .../item/incomplete_infernal_mechanism.png | Bin 0 -> 390 bytes .../item/incomplete_kinetic_mechanism.png | Bin 0 -> 295 bytes .../item/incomplete_logic_processor.png | Bin 0 -> 255 bytes .../item/incomplete_sealed_mechanism.png | Bin 0 -> 385 bytes .../textures/item/inductive_mechanism.png | Bin 0 -> 330 bytes .../textures/item/infernal_mechanism.png | Bin 0 -> 343 bytes .../kubejs/textures/item/invar_compound.png | Bin 0 -> 313 bytes .../textures/item/kinetic_mechanism.png | Bin 0 -> 342 bytes .../kubejs/textures/item/matter_plastics.png | Bin 0 -> 2393 bytes .../assets/kubejs/textures/item/minus.png | Bin 0 -> 216 bytes .../kubejs/textures/item/minus_cast.png | Bin 0 -> 255 bytes .../assets/kubejs/textures/item/missingno.png | Bin 0 -> 784 bytes .../kubejs/textures/item/missingno.png.mcmeta | 6 + .../assets/kubejs/textures/item/multiply.png | Bin 0 -> 239 bytes .../kubejs/textures/item/multiply_cast.png | Bin 0 -> 263 bytes .../kubejs/textures/item/nickel_compound.png | Bin 0 -> 612 bytes .../assets/kubejs/textures/item/nine.png | Bin 0 -> 242 bytes .../assets/kubejs/textures/item/one.png | Bin 0 -> 232 bytes .../textures/item/pipe_module_tier_1.png | Bin 0 -> 332 bytes .../textures/item/pipe_module_tier_2.png | Bin 0 -> 272 bytes .../textures/item/pipe_module_tier_3.png | Bin 0 -> 328 bytes .../textures/item/pipe_module_utility.png | Bin 0 -> 392 bytes .../assets/kubejs/textures/item/plus.png | Bin 0 -> 226 bytes .../assets/kubejs/textures/item/plus_cast.png | Bin 0 -> 264 bytes .../textures/item/profession_card_0.png | Bin 0 -> 265 bytes .../textures/item/profession_card_1.png | Bin 0 -> 165 bytes .../textures/item/profession_card_2.png | Bin 0 -> 166 bytes .../kubejs/textures/item/purified_sand.png | Bin 0 -> 277 bytes .../kubejs/textures/item/radiant_coil.png | Bin 0 -> 272 bytes .../kubejs/textures/item/radiant_sheet.png | Bin 0 -> 246 bytes .../kubejs/textures/item/rough_sand.png | Bin 0 -> 254 bytes .../assets/kubejs/textures/item/sand_ball.png | Bin 0 -> 253 bytes .../kubejs/textures/item/sealed_mechanism.png | Bin 0 -> 331 bytes .../assets/kubejs/textures/item/seven.png | Bin 0 -> 238 bytes .../kubejs/textures/item/silicon_compound.png | Bin 0 -> 293 bytes .../assets/kubejs/textures/item/six.png | Bin 0 -> 245 bytes .../kubejs/textures/item/slimy_fern_leaf.png | Bin 0 -> 259 bytes .../kubejs/textures/item/smoke_mote.png | Bin 0 -> 253 bytes .../kubejs/textures/item/thermal_cast.png | Bin 0 -> 223 bytes .../assets/kubejs/textures/item/three.png | Bin 0 -> 241 bytes .../kubejs/textures/item/three_cast.png | Bin 0 -> 263 bytes .../kubejs/textures/item/trade_card_0.png | Bin 0 -> 267 bytes .../kubejs/textures/item/trade_card_1.png | Bin 0 -> 166 bytes .../kubejs/textures/item/trade_card_2.png | Bin 0 -> 166 bytes .../assets/kubejs/textures/item/two.png | Bin 0 -> 241 bytes .../assets/kubejs/textures/item/zero.png | Bin 0 -> 237 bytes .../assets/kubejs/textures/item/zinc_dust.png | Bin 0 -> 259 bytes .../kubejs/textures/item/zinc_sheet.png | Bin 0 -> 260 bytes .../assets/ponderjs_generated/lang/en_us.json | 34 + src/overrides/kubejs/client_scripts/client.js | 166 + src/overrides/kubejs/client_scripts/ponder.js | 365 ++ src/overrides/kubejs/config/client.properties | 15 + src/overrides/kubejs/config/common.properties | 8 + .../loot_modifiers/wither_skeleton_bones.json | 5 + .../loot_tables/inject/fd_buddybeans.json | 15 + .../custom/loot_tables/chests/moon_junk.json | 312 ++ .../loot_tables/chests/moon_treasure.json | 393 ++ .../custom/loot_tables/chests/patience_1.json | 502 ++ .../custom/loot_tables/chests/patience_2.json | 130 + .../custom/loot_tables/chests/tinker.json | 1068 +++++ .../loot_tables/blocks/lavastone_slab.json | 32 + .../loot_tables/blocks/lavastone_stairs.json | 20 + .../blocks/polished_lavastone.json | 20 + .../blocks/polished_lavastone_slab.json | 32 + .../blocks/polished_lavastone_stairs.json | 20 + .../loot_tables/blocks/treasure_pot.json | 82 + .../loot_tables/blocks/treasure_pot_long.json | 68 + .../blocks/treasure_pot_quartz_long.json | 68 + .../blocks/treasure_pot_quartz_short.json | 92 + .../blocks/treasure_pot_short.json | 81 + .../inject/abandoned_mineshaft.json | 63 + .../blocks/datura_seed_additions.json | 30 + src/overrides/kubejs/exported/tags/blocks.txt | 2960 ++++++++++++ .../kubejs/exported/tags/enchantments.txt | 1 + .../kubejs/exported/tags/entity_types.txt | 314 ++ src/overrides/kubejs/exported/tags/fluids.txt | 304 ++ .../kubejs/exported/tags/functions.txt | 1 + src/overrides/kubejs/exported/tags/items.txt | 3984 ++++++++++++++++ .../kubejs/exported/tags/potions.txt | 1 + .../exported/tags/tile_entity_types.txt | 12 + .../server_scripts/better_dynamo_placement.js | 165 + .../server_scripts/bonkers_chemistry.js | 583 +++ .../kubejs/server_scripts/express_mode.js | 44 + src/overrides/kubejs/server_scripts/loot.js | 359 ++ src/overrides/kubejs/server_scripts/quests.js | 24 + .../kubejs/server_scripts/recipes.js | 2853 ++++++++++++ .../kubejs/startup_scripts/launch.js | 309 ++ .../kubejs/startup_scripts/trading.js | 548 +++ src/overrides/openloader/.cache | 1 + .../openloader/data/generated_datapack.zip | Bin 0 -> 877 bytes .../blockstates/fueltank.json | 6 + .../blockstates/launchpad.json | 6 + .../blockstates/moonturf.json | 31 + .../blockstates/rocketmotor.json | 6 + .../assets/advancedrocketry/lang/en_us.json | 11 + .../models/block/fuelingstation.json | 8 + .../models/block/fueltank.json | 36 + .../models/block/guidancecomputer.json | 8 + .../models/block/launchpad_all.json | 8 + .../models/block/moon_turf_1.json | 6 + .../models/block/moon_turf_2.json | 6 + .../models/block/oxygencharger.json | 7 + .../models/block/oxygenvent.json | 7 + .../models/block/rocketbuilder.json | 8 + .../models/block/rocketmotor.json | 106 + .../advancedrocketry/models/block/seat.json | 7 + .../models/block/structuretower.json | 79 + .../models/item/fueltank.json | 3 + .../models/item/launchpad.json | 3 + .../models/item/rocketmotor.json | 3 + .../textures/armor/spacesuit_layer1.png | Bin 0 -> 958 bytes .../armor/spacesuit_layer1_overlay.png | Bin 0 -> 138 bytes .../textures/armor/spacesuit_layer2.png | Bin 0 -> 1294 bytes .../armor/spacesuit_layer2_overlay.png | Bin 0 -> 413 bytes .../textures/blocks/assembler.png | Bin 0 -> 367 bytes .../textures/blocks/fluid/oxygen_flow.png | Bin 0 -> 4534 bytes .../blocks/fluid/oxygen_flow.png.mcmeta | 6 + .../textures/blocks/fluid/oxygen_still.png | Bin 0 -> 4204 bytes .../blocks/fluid/oxygen_still.png.mcmeta | 6 + .../textures/blocks/fuelloader.png | Bin 0 -> 401 bytes .../textures/blocks/fueltank.png | Bin 0 -> 323 bytes .../textures/blocks/fueltank.png.mcmeta | 15 + .../textures/blocks/fueltank_ctm.png | Bin 0 -> 2772 bytes .../textures/blocks/fueltank_top.png | Bin 0 -> 338 bytes .../textures/blocks/gaschargertop.png | Bin 0 -> 300 bytes .../textures/blocks/guidancecomputer.png | Bin 0 -> 323 bytes .../textures/blocks/machine.png | Bin 0 -> 287 bytes .../textures/blocks/machine_end.png | Bin 0 -> 256 bytes .../textures/blocks/machinevent.png | Bin 0 -> 305 bytes .../textures/blocks/machinevent_end.png | Bin 0 -> 256 bytes .../textures/blocks/moon_turf.png | Bin 0 -> 259 bytes .../textures/blocks/moon_turf_1.png | Bin 0 -> 245 bytes .../textures/blocks/moon_turf_2.png | Bin 0 -> 246 bytes .../textures/blocks/panelside.png | Bin 0 -> 245 bytes .../textures/blocks/rocketpad_side.png | Bin 0 -> 460 bytes .../textures/blocks/rocketpad_side.png.mcmeta | 11 + .../textures/blocks/rocketpad_top.png | Bin 0 -> 342 bytes .../textures/blocks/rocketpad_top.png.mcmeta | 12 + .../textures/blocks/rocketpad_top_ctm.png | Bin 0 -> 571 bytes .../textures/blocks/scaffold-ctm.png | Bin 0 -> 851 bytes .../textures/blocks/scaffold.png | Bin 0 -> 654 bytes .../textures/blocks/scaffold.png.mcmeta | 9 + .../advancedrocketry/textures/blocks/seat.png | Bin 0 -> 276 bytes .../textures/blocks/seat_top.png | Bin 0 -> 244 bytes .../textures/blocks/tank_inner.png | Bin 0 -> 156 bytes .../textures/blocks/thruster.png | Bin 0 -> 353 bytes .../textures/blocks/thruster_top.png | Bin 0 -> 311 bytes .../advancedrocketry/textures/env/sun.png | Bin 0 -> 1728 bytes .../advancedrocketry/textures/env/sun2.png | Bin 0 -> 713 bytes .../textures/gui/rockethud.png | Bin 0 -> 8078 bytes .../textures/items/planetidchip.png | Bin 0 -> 310 bytes .../textures/items/spacehelmet.png | Bin 0 -> 265 bytes .../textures/items/spacehelmet_overlay.png | Bin 0 -> 126 bytes .../textures/items/tank_hydrogen.png | Bin 0 -> 247 bytes .../textures/items/tank_oxygen.png | Bin 0 -> 247 bytes .../textures/models/girder.png | Bin 0 -> 192 bytes .../advancedrocketry/textures/models/grid.png | Bin 0 -> 224 bytes .../textures/models/round_h.png | Bin 0 -> 135 bytes .../textures/planets/atmosphere2.png | Bin 0 -> 3651 bytes .../textures/planets/earthlike.pdn | Bin 0 -> 5229 bytes .../textures/planets/earthlike.png | Bin 0 -> 954 bytes .../textures/planets/earthlikebase.png | Bin 0 -> 637 bytes .../textures/planets/earthlikeleo.jpg | Bin 0 -> 199464 bytes .../textures/planets/moon.png | Bin 0 -> 290 bytes .../textures/planets/moonleo.jpg | Bin 0 -> 165472 bytes .../textures/planets/shadow.png | Bin 0 -> 3393 bytes .../textures/planets/shadowold.png | Bin 0 -> 3374 bytes .../models/block/charger.json | 87 + .../models/block/sky_compass_base.json | 91 + .../models/block/sky_compass_pointer.json | 118 + .../textures/block/charger.png | Bin 0 -> 227 bytes .../textures/block/sky_compass.png | Bin 0 -> 4013 bytes .../textures/item/calculation_processor.png | Bin 0 -> 4019 bytes .../item/printed_calculation_processor.png | Bin 0 -> 4014 bytes .../textures/block/spanish_moss.png | Bin 0 -> 282 bytes .../textures/block/spanish_moss_plant.png | Bin 0 -> 271 bytes .../chisel/textures/block/tyrian/plate.png | Bin 0 -> 429 bytes .../textures/block/tyrian/plate.png.mcmeta | 9 + .../textures/gui/elements/scale_compact.png | Bin 0 -> 224 bytes .../simis_edits/assets/create/lang/en_us.json | 3 + .../portable_storage_interface/block.json | 63 + .../portable_storage_interface/item.json | 238 + .../block/portable_storage_interface.png | Bin 0 -> 825 bytes .../item/golden_electron_tube_unused.png | Bin 0 -> 426 bytes .../item/incomplete_precision_mechanism.png | Bin 0 -> 371 bytes .../assets/enderstorage/models/enderchest.png | Bin 0 -> 1293 bytes .../enderstorage/models/endertank.bbmodel | 1 + .../assets/enderstorage/models/endertank.json | 47 + .../assets/enderstorage/models/endertank.mtl | 4 + .../assets/enderstorage/models/endertank.obj | 851 ++++ .../assets/enderstorage/models/endertank.png | Bin 0 -> 1455 bytes .../enderstorage/textures/enderchest.png | Bin 0 -> 3578 bytes .../enderstorage/textures/endertank.png | Bin 0 -> 4111 bytes .../extcaves/blockstates/brokenstone.json | 9 + .../extcaves/models/block/brokenstone.json | 7 + .../extcaves/textures/block/brokenstone.png | Bin 0 -> 835 bytes .../assets/libvulpes/lang/en_us.json | 3 + .../assets/libvulpes/models/item/linker.json | 8 + .../assets/libvulpes/textures/item/linker.png | Bin 0 -> 379 bytes .../assets/metalbarrels/lang/en_us.json | 14 + .../textures/block/copper_barrel_bottom.png | Bin 0 -> 251 bytes .../textures/block/copper_barrel_side.png | Bin 0 -> 285 bytes .../textures/block/copper_barrel_top.png | Bin 0 -> 251 bytes .../textures/block/copper_barrel_top_open.png | Bin 0 -> 244 bytes .../textures/block/gold_barrel_bottom.png | Bin 0 -> 251 bytes .../textures/block/gold_barrel_side.png | Bin 0 -> 270 bytes .../textures/block/gold_barrel_top.png | Bin 0 -> 251 bytes .../textures/block/gold_barrel_top_open.png | Bin 0 -> 235 bytes .../textures/block/iron_barrel_bottom.png | Bin 0 -> 251 bytes .../textures/block/iron_barrel_side.png | Bin 0 -> 260 bytes .../textures/block/iron_barrel_top.png | Bin 0 -> 251 bytes .../textures/block/iron_barrel_top_open.png | Bin 0 -> 244 bytes .../textures/block/silver_barrel_bottom.png | Bin 0 -> 251 bytes .../textures/block/silver_barrel_side.png | Bin 0 -> 295 bytes .../textures/block/silver_barrel_top.png | Bin 0 -> 249 bytes .../textures/block/silver_barrel_top_open.png | Bin 0 -> 244 bytes .../textures/item/wood_to_copper.png | Bin 0 -> 530 bytes .../textures/item/wood_to_gold.png | Bin 0 -> 530 bytes .../textures/item/wood_to_iron.png | Bin 0 -> 530 bytes .../textures/item/wood_to_silver.png | Bin 0 -> 524 bytes .../assets/minecraft/texts/splashes.txt | 1 + .../gui/title/background/panorama_0.png | Bin 0 -> 312060 bytes .../gui/title/background/panorama_1.png | Bin 0 -> 341974 bytes .../gui/title/background/panorama_2.png | Bin 0 -> 329369 bytes .../gui/title/background/panorama_3.png | Bin 0 -> 329991 bytes .../gui/title/background/panorama_4.png | Bin 0 -> 339509 bytes .../gui/title/background/panorama_5.png | Bin 0 -> 291723 bytes .../assets/occultism/lang/en_us.json | 3 + .../assets/occultism/sounds/start_ritual.ogg | Bin 0 -> 23510 bytes .../assets/pipez/blockstates/energy_pipe.json | 518 +++ .../simis_edits/assets/pipez/lang/en_us.json | 3 + .../pipez/models/block/bottom_corner.json | 23 + .../assets/pipez/models/block/cover.json | 21 + .../assets/pipez/models/block/end.json | 124 + .../models/block/energy_pipe_extract.json | 36 + .../assets/pipez/models/block/open_end.json | 81 + .../pipez/models/block/side_corner.json | 23 + .../assets/pipez/models/block/single.json | 140 + .../assets/pipez/models/block/top_corner.json | 23 + .../assets/pipez/models/block/window.json | 16 + .../assets/pipez/models/item/energy_pipe.json | 203 + .../pipez/textures/block/pipe_cover.png | Bin 0 -> 269 bytes .../assets/pipez/textures/block/pipe_end.png | Bin 0 -> 249 bytes .../pipez/textures/block/pipe_end_inner.png | Bin 0 -> 271 bytes .../textures/block/pipe_extract_overlay.png | Bin 0 -> 301 bytes .../assets/pipez/textures/block/pipe_rims.png | Bin 0 -> 289 bytes .../pipez/textures/block/pipe_rims_inner.png | Bin 0 -> 260 bytes .../assets/prettypipes/blockstates/pipe.json | 576 +++ .../assets/prettypipes/lang/en_us.json | 4 + .../prettypipes/models/andesite_card.json | 79 + .../models/block/bottom_corner.json | 23 + .../prettypipes/models/block/cover.json | 21 + .../models/block/crafting_terminal.json | 99 + .../assets/prettypipes/models/block/end.json | 131 + .../models/block/item_terminal.json | 155 + .../assets/prettypipes/models/block/legs.json | 118 + .../prettypipes/models/block/open_end.json | 81 + .../prettypipes/models/block/pressurizer.json | 98 + .../prettypipes/models/block/side_corner.json | 23 + .../prettypipes/models/block/single.json | 140 + .../prettypipes/models/block/top_corner.json | 23 + .../prettypipes/models/block/window.json | 16 + .../assets/prettypipes/models/item/pipe.json | 269 ++ .../assets/prettypipes/textures/block/fan.png | Bin 0 -> 3147 bytes .../prettypipes/textures/block/fan.png.mcmeta | 16 + .../prettypipes/textures/block/pipe_cover.png | Bin 0 -> 270 bytes .../prettypipes/textures/block/pipe_end.png | Bin 0 -> 303 bytes .../textures/block/pipe_end_inner.png | Bin 0 -> 274 bytes .../prettypipes/textures/block/pipe_rims.png | Bin 0 -> 239 bytes .../textures/block/pipe_rims_inner.png | Bin 0 -> 257 bytes .../prettypipes/textures/block/terminal.png | Bin 0 -> 317 bytes .../prettypipes/textures/item/pipe_frame.png | Bin 0 -> 358 bytes .../assets/projectred-core/lang/en_us.json | 43 + .../rubber_duck/sounds/rubber_duck_use.ogg | Bin 0 -> 11423 bytes .../assets/structurescompass/lang/en_us.json | 3 + .../assets/tconstruct/lang/en_us.json | 6 + .../assets/thermal/lang/en_us.json | 12 + .../thermal/models/block/machine_press.json | 73 + .../config/machine_config_accessible.png | Bin 0 -> 223 bytes .../block/devices/device_collector.png | Bin 0 -> 331 bytes .../block/devices/device_collector_active.png | Bin 0 -> 346 bytes .../block/devices/device_collector_bottom.png | Bin 0 -> 276 bytes .../block/devices/device_collector_side.png | Bin 0 -> 317 bytes .../devices/device_collector_side_active.png | Bin 0 -> 330 bytes .../block/devices/device_nullifier.png | Bin 0 -> 293 bytes .../block/devices/device_nullifier_active.png | Bin 0 -> 367 bytes .../device_nullifier_active.png.mcmeta | 6 + .../block/devices/device_nullifier_bottom.png | Bin 0 -> 276 bytes .../block/devices/device_nullifier_side.png | Bin 0 -> 269 bytes .../block/devices/device_rock_gen.png | Bin 0 -> 319 bytes .../block/devices/device_rock_gen_active.png | Bin 0 -> 416 bytes .../devices/device_rock_gen_active.png.mcmeta | 6 + .../block/devices/device_rock_gen_bottom.png | Bin 0 -> 276 bytes .../block/devices/device_rock_gen_side.png | Bin 0 -> 307 bytes .../devices/device_rock_gen_side_active.png | Bin 0 -> 311 bytes .../block/machines/machine_sawmill_active.png | Bin 0 -> 636 bytes .../machine_sawmill_active.png.mcmeta | 5 + .../textures/block/trading_machine_front.png | Bin 0 -> 375 bytes .../textures/block/trading_machine_side.png | Bin 0 -> 354 bytes .../thermal/textures/gui/jei_handler.png | Bin 0 -> 7797 bytes .../item/augments/upgrade_augment_1.png | Bin 0 -> 272 bytes .../item/augments/upgrade_augment_2.png | Bin 0 -> 267 bytes .../textures/item/dusts/apatite_dust.png | Bin 0 -> 271 bytes .../textures/item/dusts/cinnabar_dust.png | Bin 0 -> 277 bytes .../textures/item/ingots/invar_ingot.png | Bin 0 -> 270 bytes .../assets/waterstrainer/lang/en_us.json | 9 + .../models/block/strainer_base_type5.json | 195 + .../models/block/strainer_base_type7.json | 195 + .../textures/blocks/strainer_base_side.png | Bin 0 -> 3042 bytes .../textures/blocks/strainer_base_top.png | Bin 0 -> 2985 bytes .../textures/blocks/strainer_fisherman.png | Bin 0 -> 2941 bytes .../blocks/strainer_fisherman_top.png | Bin 0 -> 2920 bytes .../textures/items/strainer_fisherman.png | Bin 0 -> 291 bytes .../items/strainer_fisherman_reinforced.png | Bin 0 -> 338 bytes .../textures/items/strainer_survivalist.png | Bin 0 -> 266 bytes .../items/strainer_survivalist_reinforced.png | Bin 0 -> 3844 bytes ...strainer_survivalist_reinforced.png.mcmeta | 6 + .../resources/simis_edits/pack.mcmeta | 6 + src/overrides/options.txt | 231 + .../structure_spawners/broken_windmill.json | 33 + .../structure_spawners/crashed_rocket.json | 25 + .../pack/structure_spawners/log_cabin.json | 33 + .../pack/structure_spawners/moonbase.json | 25 + .../pack/structure_spawners/oil_fountain.json | 28 + .../pack/structure_spawners/railshaft.json | 30 + .../data/pack/structure_spawners/ruins.json | 34 + .../data/pack/structure_spawners/slime.json | 32 + .../structure_spawners/underground_lab.json | 22 + .../data/pack/structures/blacksmith_shop.nbt | Bin 0 -> 5718 bytes .../data/pack/structures/broken_windmill.nbt | Bin 0 -> 5069 bytes .../data/pack/structures/campsite.nbt | Bin 0 -> 1464 bytes .../data/pack/structures/crashed_rocket.nbt | Bin 0 -> 4742 bytes .../data/pack/structures/log_cabin.nbt | Bin 0 -> 2015 bytes .../data/pack/structures/moonbase_cargo.nbt | Bin 0 -> 3318 bytes .../data/pack/structures/moonbase_me.nbt | Bin 0 -> 4123 bytes .../data/pack/structures/moonbase_oxygen.nbt | Bin 0 -> 3800 bytes .../data/pack/structures/moonbase_rusty.nbt | Bin 0 -> 3986 bytes .../data/pack/structures/moonbase_wreck.nbt | Bin 0 -> 2837 bytes .../data/pack/structures/oil_fountain.nbt | Bin 0 -> 3850 bytes .../data/pack/structures/oil_fountain_1.nbt | Bin 0 -> 5853 bytes .../pack/structures/railshaft/bad_ending.nbt | Bin 0 -> 2996 bytes .../pack/structures/railshaft/good_ending.nbt | Bin 0 -> 3068 bytes .../data/pack/structures/railshaft/house.nbt | Bin 0 -> 5720 bytes .../pack/structures/railshaft/slope_both.nbt | Bin 0 -> 1555 bytes .../pack/structures/railshaft/slope_left.nbt | Bin 0 -> 1501 bytes .../pack/structures/railshaft/slope_right.nbt | Bin 0 -> 1506 bytes .../structures/railshaft/slope_straight.nbt | Bin 0 -> 1219 bytes .../data/pack/structures/railshaft/watery.nbt | Bin 0 -> 1872 bytes .../pack/structures/railshaft/weak_slope.nbt | Bin 0 -> 1727 bytes .../pack/structures/ruins/gabbro/arch.nbt | Bin 0 -> 1431 bytes .../pack/structures/ruins/gabbro/bridge.nbt | Bin 0 -> 1924 bytes .../pack/structures/ruins/gabbro/crossing.nbt | Bin 0 -> 1413 bytes .../data/pack/structures/ruins/gabbro/end.nbt | Bin 0 -> 739 bytes .../structures/ruins/gabbro/foundation.nbt | Bin 0 -> 1509 bytes .../pack/structures/ruins/gabbro/house.nbt | Bin 0 -> 1707 bytes .../pack/structures/ruins/gabbro/spires.nbt | Bin 0 -> 1714 bytes .../pack/structures/ruins/gabbro/straight.nbt | Bin 0 -> 545 bytes .../pack/structures/ruins/gabbro/tower.nbt | Bin 0 -> 2640 bytes .../pack/structures/ruins/gabbro/turn.nbt | Bin 0 -> 592 bytes .../data/pack/structures/slime/blue.nbt | Bin 0 -> 1423 bytes .../data/pack/structures/slime/blue_1.nbt | Bin 0 -> 538 bytes .../data/pack/structures/slime/blue_2.nbt | Bin 0 -> 906 bytes .../data/pack/structures/slime/blue_small.nbt | Bin 0 -> 1099 bytes .../data/pack/structures/slime/green.nbt | Bin 0 -> 2037 bytes .../pack/structures/slime/green_small.nbt | Bin 0 -> 1137 bytes .../data/pack/structures/slime/purple.nbt | Bin 0 -> 1428 bytes .../pack/structures/slime/purple_small.nbt | Bin 0 -> 692 bytes .../data/pack/structures/underground_lab.nbt | Bin 0 -> 4109 bytes .../pack/worldgen/template_pool/moonbase.json | 51 + .../worldgen/template_pool/oil_fountain.json | 24 + .../railshaft/after_horizontal.json | 60 + .../template_pool/railshaft/after_slope.json | 69 + .../template_pool/railshaft/first.json | 24 + .../template_pool/railshaft/house.json | 15 + .../worldgen/template_pool/ruins/any.json | 33 + .../worldgen/template_pool/ruins/gabbro.json | 96 + .../worldgen/template_pool/slime/any.json | 60 + .../worldgen/template_pool/slime/blue_1.json | 15 + .../worldgen/template_pool/slime/blue_2.json | 15 + .../worldgen/template_pool/surface_build.json | 24 + stylua.toml | 2 + 738 files changed, 67703 insertions(+) create mode 100644 .gitignore create mode 100644 modpacktoolsconfig.toml create mode 100644 src/modpack.lua create mode 100644 src/overrides/config/CBMicroblock.cfg create mode 100644 src/overrides/config/ChickenChunks.cfg create mode 100644 src/overrides/config/EnderStorage.cfg create mode 100644 src/overrides/config/Exchangers-1.toml.bak create mode 100644 src/overrides/config/Exchangers.toml create mode 100644 src/overrides/config/MouseTweaks.cfg create mode 100644 src/overrides/config/PregenConfig.toml create mode 100644 src/overrides/config/ProjectRed.cfg create mode 100644 src/overrides/config/abnormals_core-client.toml create mode 100644 src/overrides/config/abnormals_core-common.toml create mode 100644 src/overrides/config/advRocketry/asteroidConfig.xml create mode 100644 src/overrides/config/advRocketry/oreConfig.xml create mode 100644 src/overrides/config/advRocketry/planetDefs.xml create mode 100644 src/overrides/config/advancedRocketry-1.toml.bak create mode 100644 src/overrides/config/advancedRocketry-2.toml.bak create mode 100644 src/overrides/config/advancedRocketry-3.toml.bak create mode 100644 src/overrides/config/advancedRocketry-4.toml.bak create mode 100644 src/overrides/config/advancedRocketry-5.toml.bak create mode 100644 src/overrides/config/advancedRocketry.toml create mode 100644 src/overrides/config/aiimprovements-common.toml create mode 100644 src/overrides/config/antiqueatlas.client.toml create mode 100644 src/overrides/config/antiqueatlas.common.toml create mode 100644 src/overrides/config/appleskin-client.toml create mode 100644 src/overrides/config/appliedenergistics2-client.toml create mode 100644 src/overrides/config/appliedenergistics2-common.toml create mode 100644 src/overrides/config/aquaculture-common.toml create mode 100644 src/overrides/config/archers_paradox-client.toml create mode 100644 src/overrides/config/backtools.toml create mode 100644 src/overrides/config/betteradvancements-client.toml create mode 100644 src/overrides/config/betterburning-common.toml create mode 100644 src/overrides/config/biomesoplenty/biomes.json create mode 100644 src/overrides/config/biomesoplenty/client.toml create mode 100644 src/overrides/config/biomesoplenty/generation.toml create mode 100644 src/overrides/config/blockcarpentry-common.toml create mode 100644 src/overrides/config/buddycards-client.toml create mode 100644 src/overrides/config/bwncr-common.toml create mode 100644 src/overrides/config/cavebiomeapi-common.toml create mode 100644 src/overrides/config/cavern-common.toml create mode 100644 src/overrides/config/ccl.cfg create mode 100644 src/overrides/config/chiselsandbits-client.toml create mode 100644 src/overrides/config/chiselsandbits-common.toml create mode 100644 src/overrides/config/cobblegenrandomizer-common.toml create mode 100644 src/overrides/config/cofh_core-client.toml create mode 100644 src/overrides/config/computercraft-client.toml create mode 100644 src/overrides/config/configured-client.toml create mode 100644 src/overrides/config/connectivity-common.toml create mode 100644 src/overrides/config/constructionwand-client.toml create mode 100644 src/overrides/config/cookiecore-client.toml create mode 100644 src/overrides/config/cosmeticarmorreworked-client.toml create mode 100644 src/overrides/config/cosmeticarmorreworked-common.toml create mode 100644 src/overrides/config/craftingtweaks-client.toml create mode 100644 src/overrides/config/craftingtweaks-common.toml create mode 100644 src/overrides/config/create-client.toml create mode 100644 src/overrides/config/create-common.toml create mode 100644 src/overrides/config/curios-client.toml create mode 100644 src/overrides/config/custom-micromaterials.cfg create mode 100644 src/overrides/config/darkerdepths-common.toml create mode 100644 src/overrides/config/decorative_blocks-common.toml create mode 100644 src/overrides/config/defaultoptions-common.toml create mode 100644 src/overrides/config/defaultoptions/keybindings.txt create mode 100644 src/overrides/config/defaultoptions/options.txt create mode 100644 src/overrides/config/dice-common.toml create mode 100644 src/overrides/config/dungeon_crawl.toml create mode 100644 src/overrides/config/enchantedbookredesign-client.toml create mode 100644 src/overrides/config/endergetic-common.toml create mode 100644 src/overrides/config/exoticbirds-common.toml create mode 100644 src/overrides/config/extcaves_config.toml create mode 100644 src/overrides/config/fairylights-client.toml create mode 100644 src/overrides/config/fairylights-common.toml create mode 100644 src/overrides/config/farmersdelight-client.toml create mode 100644 src/overrides/config/farmersdelight-common.toml create mode 100644 src/overrides/config/fastbench.cfg create mode 100644 src/overrides/config/ferritecore-mixin.toml create mode 100644 src/overrides/config/flywheel-client.toml create mode 100644 src/overrides/config/fml.toml create mode 100644 src/overrides/config/forbidden_arcanus-client.toml create mode 100644 src/overrides/config/forbidden_arcanus-common.toml create mode 100644 src/overrides/config/forge-client.toml create mode 100644 src/overrides/config/forge-common.toml create mode 100644 src/overrides/config/ftbbackups-common.toml create mode 100644 src/overrides/config/ftbquests/backup/chapter_groups.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/lifesavers.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/market.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/metallurgy.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/overview.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/professions.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/shipments.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/stage_1.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/stage_2.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/stage_3.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/stage_4.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/stage_4b.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/stage_5.snbt create mode 100644 src/overrides/config/ftbquests/backup/chapters/welcome.snbt create mode 100644 src/overrides/config/ftbquests/backup/data.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapter_groups.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/lifesavers.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/market.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/metallurgy.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/overview.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/professions.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/shipments.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/stage_1.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/stage_2.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/stage_3.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/stage_4.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/stage_4b.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/stage_5.snbt create mode 100644 src/overrides/config/ftbquests/quests/chapters/welcome.snbt create mode 100644 src/overrides/config/ftbquests/quests/data.snbt create mode 100644 src/overrides/config/grapplemod.toml create mode 100644 src/overrides/config/ichunutil.toml create mode 100644 src/overrides/config/ichunutil/themes/aztec.json create mode 100644 src/overrides/config/ichunutil/themes/blue&black.json create mode 100644 src/overrides/config/ichunutil/themes/blue&orange.json create mode 100644 src/overrides/config/ichunutil/themes/default.json create mode 100644 src/overrides/config/ichunutil/themes/grassgreen.json create mode 100644 src/overrides/config/ichunutil/themes/green&black.json create mode 100644 src/overrides/config/ichunutil/themes/lazygray.json create mode 100644 src/overrides/config/ichunutil/themes/monogeneric.json create mode 100644 src/overrides/config/ichunutil/themes/nightblack.json create mode 100644 src/overrides/config/ichunutil/themes/red&black.json create mode 100644 src/overrides/config/ichunutil/themes/skyblue.json create mode 100644 src/overrides/config/ichunutil/themes/whitelight.json create mode 100644 src/overrides/config/improvedbackpacks-common.toml create mode 100644 src/overrides/config/infinitylib/config-common.toml create mode 100644 src/overrides/config/jade-common.toml create mode 100644 src/overrides/config/jei-client.toml create mode 100644 src/overrides/config/jei/blacklist.cfg create mode 100644 src/overrides/config/jei/bookmarks.ini create mode 100644 src/overrides/config/jei/ingredient-list-mod-sort-order.ini create mode 100644 src/overrides/config/jei/ingredient-list-type-sort-order.ini create mode 100644 src/overrides/config/jei/recipe-category-sort-order.ini create mode 100644 src/overrides/config/libvulpes.toml create mode 100644 src/overrides/config/lootr-common.toml create mode 100644 src/overrides/config/magicfeather-common.toml create mode 100644 src/overrides/config/mantle-client.toml create mode 100644 src/overrides/config/moreminecartsconfig.toml create mode 100644 src/overrides/config/naturescompass-client.toml create mode 100644 src/overrides/config/naturescompass-common.toml create mode 100644 src/overrides/config/occultism-client.toml create mode 100644 src/overrides/config/occultism-common.toml create mode 100644 src/overrides/config/openloader-common.toml create mode 100644 src/overrides/config/oretweaker/Info.txt create mode 100644 src/overrides/config/oretweaker/OreTweaker.toml create mode 100644 src/overrides/config/oretweaker/backup/OreTweaker.json create mode 100644 src/overrides/config/oretweaker/data/apatite_ore.json create mode 100644 src/overrides/config/oretweaker/data/arcane_crystal_ore.json create mode 100644 src/overrides/config/oretweaker/data/aridrock_redstone_ore.json create mode 100644 src/overrides/config/oretweaker/data/aridrock_silver_ore.json create mode 100644 src/overrides/config/oretweaker/data/basalt.json create mode 100644 src/overrides/config/oretweaker/data/cinnabar_ore.json create mode 100644 src/overrides/config/oretweaker/data/emerald_ore.json create mode 100644 src/overrides/config/oretweaker/data/lead_ore.json create mode 100644 src/overrides/config/oretweaker/data/limestone.json create mode 100644 src/overrides/config/oretweaker/data/limestone_redstone_ore.json create mode 100644 src/overrides/config/oretweaker/data/limestone_silver_ore.json create mode 100644 src/overrides/config/oretweaker/data/marble.json create mode 100644 src/overrides/config/oretweaker/data/nickel_ore.json create mode 100644 src/overrides/config/oretweaker/data/niter_ore.json create mode 100644 src/overrides/config/oretweaker/data/quartz_ore.json create mode 100644 src/overrides/config/oretweaker/data/randomium_ore.json create mode 100644 src/overrides/config/oretweaker/data/redstone_ore.json create mode 100644 src/overrides/config/oretweaker/data/ruby_ore.json create mode 100644 src/overrides/config/oretweaker/data/sapphire_ore.json create mode 100644 src/overrides/config/oretweaker/data/silver_ore.json create mode 100644 src/overrides/config/oretweaker/data/xpetrified_ore.json create mode 100644 src/overrides/config/oretweaker/templates/collectives/default.json create mode 100644 src/overrides/config/oretweaker/templates/collectives/default_nether.json create mode 100644 src/overrides/config/oretweaker/templates/collectives/default_overworld.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/ancient_debris.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/andesite.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/blackstone.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/coal_ore.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/diamond_ore.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/diorite.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/dirt.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/emerald_ore.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/gold_ore.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/granite.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/gravel.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/infested_stone.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/iron_ore.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/lapis_ore.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/magma_block.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/nether_gold_ore.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/nether_quartz_ore.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/redstone_ore.json create mode 100644 src/overrides/config/oretweaker/templates/defaults/soul_sand.json create mode 100644 src/overrides/config/oretweaker/templates/other/fuck_silverfish.json create mode 100644 src/overrides/config/oretweaker/templates/remove/remove_everything.json create mode 100644 src/overrides/config/oretweaker/templates/remove/remove_everything_nether.json create mode 100644 src/overrides/config/oretweaker/templates/remove/remove_everything_overworld.json create mode 100644 src/overrides/config/oretweaker/templates/remove/remove_igneous_rocks.json create mode 100644 src/overrides/config/oretweaker/templates/remove/remove_ores.json create mode 100644 src/overrides/config/oretweaker/templates/remove/remove_ores_nether.json create mode 100644 src/overrides/config/oretweaker/templates/remove/remove_ores_overworld.json create mode 100644 src/overrides/config/oretweaker/templates/remove/remove_stones.json create mode 100644 src/overrides/config/oretweaker/templates/remove/remove_stones_nether.json create mode 100644 src/overrides/config/oretweaker/templates/remove/remove_stones_overworld.json create mode 100644 src/overrides/config/paintings-client.toml create mode 100644 src/overrides/config/patchouli-client.toml create mode 100644 src/overrides/config/pathtodirt-common.toml create mode 100644 src/overrides/config/pipez-client.toml create mode 100644 src/overrides/config/ponderjs-client.toml create mode 100644 src/overrides/config/portality/modules.toml create mode 100644 src/overrides/config/portality/portality-1.toml.bak create mode 100644 src/overrides/config/portality/portality.toml create mode 100644 src/overrides/config/randomium-common.toml create mode 100644 src/overrides/config/repurposed_structures-forge/bastions.toml create mode 100644 src/overrides/config/repurposed_structures-forge/biome_dimension_allow_disallow_configs.json5 create mode 100644 src/overrides/config/repurposed_structures-forge/cities.toml create mode 100644 src/overrides/config/repurposed_structures-forge/dungeons-1.toml.bak create mode 100644 src/overrides/config/repurposed_structures-forge/dungeons.toml create mode 100644 src/overrides/config/repurposed_structures-forge/fortresses.toml create mode 100644 src/overrides/config/repurposed_structures-forge/igloos-1.toml.bak create mode 100644 src/overrides/config/repurposed_structures-forge/igloos.toml create mode 100644 src/overrides/config/repurposed_structures-forge/mansions.toml create mode 100644 src/overrides/config/repurposed_structures-forge/mineshafts.toml create mode 100644 src/overrides/config/repurposed_structures-forge/modded_loot.toml create mode 100644 src/overrides/config/repurposed_structures-forge/natural_mob_spawning_configs.json5 create mode 100644 src/overrides/config/repurposed_structures-forge/outposts.toml create mode 100644 src/overrides/config/repurposed_structures-forge/pyramids.toml create mode 100644 src/overrides/config/repurposed_structures-forge/ruined_portals.toml create mode 100644 src/overrides/config/repurposed_structures-forge/ruins.toml create mode 100644 src/overrides/config/repurposed_structures-forge/shipwrecks.toml create mode 100644 src/overrides/config/repurposed_structures-forge/strongholds.toml create mode 100644 src/overrides/config/repurposed_structures-forge/temples.toml create mode 100644 src/overrides/config/repurposed_structures-forge/villages.toml create mode 100644 src/overrides/config/repurposed_structures-forge/wells.toml create mode 100644 src/overrides/config/repurposed_structures-forge/witch_huts.toml create mode 100644 src/overrides/config/sidebar_buttons.json create mode 100644 src/overrides/config/soundfilters-client.toml create mode 100644 src/overrides/config/spark/activity.json create mode 100644 src/overrides/config/storagedrawers-client.toml create mode 100644 src/overrides/config/storagedrawers-common.toml create mode 100644 src/overrides/config/strawgolem-common.toml create mode 100644 src/overrides/config/structurescompass-client.toml create mode 100644 src/overrides/config/structurescompass-common.toml create mode 100644 src/overrides/config/supplementaries-client.toml create mode 100644 src/overrides/config/supplementaries-common.toml create mode 100644 src/overrides/config/supplementaries-registry.toml create mode 100644 src/overrides/config/tconstruct-client.toml create mode 100644 src/overrides/config/tconstruct-common.toml create mode 100644 src/overrides/config/thermal-client.toml create mode 100644 src/overrides/config/titanium/modules.toml create mode 100644 src/overrides/config/titanium/resources.toml create mode 100644 src/overrides/config/titanium/titanium-tags.toml create mode 100644 src/overrides/config/titanium/titanium.toml create mode 100644 src/overrides/config/torchmaster.toml create mode 100644 src/overrides/config/valhelsia_core-client.toml create mode 100644 src/overrides/config/waila/waila.json create mode 100644 src/overrides/config/waila/waila_plugins.json create mode 100644 src/overrides/config/waterstrainer/waterstrainer.toml create mode 100644 src/overrides/config/waterstrainer/waterstrainer_loottables.txt create mode 100644 src/overrides/config/xreliquary-client.toml create mode 100644 src/overrides/config/xreliquary-common.toml create mode 100644 src/overrides/defaultconfigs/create-server.toml create mode 100644 src/overrides/defaultconfigs/occultism-server.toml create mode 100644 src/overrides/defaultconfigs/pipez-server.toml create mode 100644 src/overrides/defaultconfigs/thermal-server.toml create mode 100644 src/overrides/kubejs/assets/kubejs/lang/en_us.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/accellerator.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/andesite_machine.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/brass_machine.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/catalyst.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/chaos_catalyst.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/copper_machine.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/enderium_casing.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/enderium_machine.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/machine.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/mundane_substrate.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/ponder_laser_lamp.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/ponder_laser_lamp_on.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/substrate.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/block/zinc_machine.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/item/computation_matrix.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/item/profession_card.json create mode 100644 src/overrides/kubejs/assets/kubejs/models/item/trade_card.json create mode 100644 src/overrides/kubejs/assets/kubejs/ponder/laser_alchemy.nbt create mode 100644 src/overrides/kubejs/assets/kubejs/ponder/rocket_scene.nbt create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/accellerator_glass.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/cage_lamp.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/catalyst_glass.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/chaos_glass.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix_2.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix_2.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing_ctm.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing_top.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing_top.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing_top_ctm.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/enderium_machine_bottom.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/enderium_machine_inner.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/enderium_machine_side.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/enderium_machine_top.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/fluix_casing.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/fluix_casing.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/fluix_casing_ctm.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/invar_casing.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/invar_casing.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/invar_casing_bottom.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/invar_casing_ctm.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/invar_casing_top.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/mundane_glass.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/reagent_glass.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/zinc_casing.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/zinc_casing.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/zinc_casing_ctm.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/zinc_machine_bottom.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/zinc_machine_inner.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/zinc_machine_side.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/block/zinc_machine_top.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/fine_sand_flow.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/fine_sand_flow.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/fine_sand_still.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_flow.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_flow.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_still.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_still.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/number_flow.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/number_flow.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/number_still.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/fluid/number_still.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/abstruse_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/boot_medium.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/calculation_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/calculator.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/charged_calculator.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/charged_calculator.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/chromatic_resonator.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/chromatic_resonator.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/circuit_scrap.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/coke_chunk.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/creosote_pellet.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/divide.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/divide_cast.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/dye_entangled_singularity.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/dye_entangled_singularity.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/eight.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/eight_cast.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/example_item.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/five.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/four.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/ground_slimy_fern.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/incomplete_abstruse_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/incomplete_calculation_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/incomplete_calculation_processor.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/incomplete_coke_chunk.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/incomplete_engineering_processor.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/incomplete_inductive_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/incomplete_infernal_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/incomplete_kinetic_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/incomplete_logic_processor.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/incomplete_sealed_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/inductive_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/infernal_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/invar_compound.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/kinetic_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/matter_plastics.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/minus.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/minus_cast.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/missingno.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/missingno.png.mcmeta create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/multiply.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/multiply_cast.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/nickel_compound.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/nine.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/one.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_tier_1.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_tier_2.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_tier_3.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_utility.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/plus.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/plus_cast.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/profession_card_0.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/profession_card_1.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/profession_card_2.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/purified_sand.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/radiant_coil.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/radiant_sheet.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/rough_sand.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/sand_ball.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/sealed_mechanism.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/seven.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/silicon_compound.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/six.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/slimy_fern_leaf.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/smoke_mote.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/thermal_cast.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/three.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/three_cast.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/trade_card_0.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/trade_card_1.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/trade_card_2.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/two.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/zero.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/zinc_dust.png create mode 100644 src/overrides/kubejs/assets/kubejs/textures/item/zinc_sheet.png create mode 100644 src/overrides/kubejs/assets/ponderjs_generated/lang/en_us.json create mode 100644 src/overrides/kubejs/client_scripts/client.js create mode 100644 src/overrides/kubejs/client_scripts/ponder.js create mode 100644 src/overrides/kubejs/config/client.properties create mode 100644 src/overrides/kubejs/config/common.properties create mode 100644 src/overrides/kubejs/data/architects_palette/loot_modifiers/wither_skeleton_bones.json create mode 100644 src/overrides/kubejs/data/buddycards/loot_tables/inject/fd_buddybeans.json create mode 100644 src/overrides/kubejs/data/custom/loot_tables/chests/moon_junk.json create mode 100644 src/overrides/kubejs/data/custom/loot_tables/chests/moon_treasure.json create mode 100644 src/overrides/kubejs/data/custom/loot_tables/chests/patience_1.json create mode 100644 src/overrides/kubejs/data/custom/loot_tables/chests/patience_2.json create mode 100644 src/overrides/kubejs/data/custom/loot_tables/chests/tinker.json create mode 100644 src/overrides/kubejs/data/extcaves/loot_tables/blocks/lavastone_slab.json create mode 100644 src/overrides/kubejs/data/extcaves/loot_tables/blocks/lavastone_stairs.json create mode 100644 src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone.json create mode 100644 src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone_slab.json create mode 100644 src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone_stairs.json create mode 100644 src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot.json create mode 100644 src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_long.json create mode 100644 src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_quartz_long.json create mode 100644 src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_quartz_short.json create mode 100644 src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_short.json create mode 100644 src/overrides/kubejs/data/forbidden_arcanus/loot_tables/inject/abandoned_mineshaft.json create mode 100644 src/overrides/kubejs/data/occultism/loot_tables/blocks/datura_seed_additions.json create mode 100644 src/overrides/kubejs/exported/tags/blocks.txt create mode 100644 src/overrides/kubejs/exported/tags/enchantments.txt create mode 100644 src/overrides/kubejs/exported/tags/entity_types.txt create mode 100644 src/overrides/kubejs/exported/tags/fluids.txt create mode 100644 src/overrides/kubejs/exported/tags/functions.txt create mode 100644 src/overrides/kubejs/exported/tags/items.txt create mode 100644 src/overrides/kubejs/exported/tags/potions.txt create mode 100644 src/overrides/kubejs/exported/tags/tile_entity_types.txt create mode 100644 src/overrides/kubejs/server_scripts/better_dynamo_placement.js create mode 100644 src/overrides/kubejs/server_scripts/bonkers_chemistry.js create mode 100644 src/overrides/kubejs/server_scripts/express_mode.js create mode 100644 src/overrides/kubejs/server_scripts/loot.js create mode 100644 src/overrides/kubejs/server_scripts/quests.js create mode 100644 src/overrides/kubejs/server_scripts/recipes.js create mode 100644 src/overrides/kubejs/startup_scripts/launch.js create mode 100644 src/overrides/kubejs/startup_scripts/trading.js create mode 100644 src/overrides/openloader/.cache create mode 100644 src/overrides/openloader/data/generated_datapack.zip create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/fueltank.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/launchpad.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/moonturf.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/rocketmotor.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/fuelingstation.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/fueltank.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/guidancecomputer.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/launchpad_all.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/moon_turf_1.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/moon_turf_2.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/oxygencharger.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/oxygenvent.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/rocketbuilder.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/rocketmotor.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/seat.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/structuretower.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/fueltank.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/launchpad.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/rocketmotor.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/armor/spacesuit_layer1.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/armor/spacesuit_layer1_overlay.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/armor/spacesuit_layer2.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/armor/spacesuit_layer2_overlay.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/assembler.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_flow.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_flow.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_still.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_still.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fuelloader.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank_ctm.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank_top.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/gaschargertop.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/guidancecomputer.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/machine.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/machine_end.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/machinevent.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/machinevent_end.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/moon_turf.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/moon_turf_1.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/moon_turf_2.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/panelside.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/rocketpad_side.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/rocketpad_side.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/rocketpad_top.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/rocketpad_top.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/rocketpad_top_ctm.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/scaffold-ctm.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/scaffold.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/scaffold.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/seat.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/seat_top.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/tank_inner.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/thruster.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/thruster_top.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/env/sun.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/env/sun2.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/gui/rockethud.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/items/planetidchip.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/items/spacehelmet.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/items/spacehelmet_overlay.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/items/tank_hydrogen.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/items/tank_oxygen.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/models/girder.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/models/grid.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/models/round_h.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/atmosphere2.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/earthlike.pdn create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/earthlike.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/earthlikebase.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/earthlikeleo.jpg create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/moon.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/moonleo.jpg create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/shadow.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/shadowold.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/charger.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/sky_compass_base.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/sky_compass_pointer.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/textures/block/charger.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/textures/block/sky_compass.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/textures/item/calculation_processor.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/textures/item/printed_calculation_processor.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/biomesoplenty/textures/block/spanish_moss.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/biomesoplenty/textures/block/spanish_moss_plant.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/chisel/textures/block/tyrian/plate.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/chisel/textures/block/tyrian/plate.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/cofh_core/textures/gui/elements/scale_compact.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/create/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/create/models/block/portable_storage_interface/block.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/create/models/block/portable_storage_interface/item.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/create/textures/block/portable_storage_interface.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/create/textures/item/golden_electron_tube_unused.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/create/textures/item/incomplete_precision_mechanism.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/enderstorage/models/enderchest.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/enderstorage/models/endertank.bbmodel create mode 100644 src/overrides/openloader/resources/simis_edits/assets/enderstorage/models/endertank.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/enderstorage/models/endertank.mtl create mode 100644 src/overrides/openloader/resources/simis_edits/assets/enderstorage/models/endertank.obj create mode 100644 src/overrides/openloader/resources/simis_edits/assets/enderstorage/models/endertank.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/enderstorage/textures/enderchest.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/enderstorage/textures/endertank.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/extcaves/blockstates/brokenstone.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/extcaves/models/block/brokenstone.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/extcaves/textures/block/brokenstone.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/libvulpes/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/libvulpes/models/item/linker.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/libvulpes/textures/item/linker.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/copper_barrel_bottom.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/copper_barrel_side.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/copper_barrel_top.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/copper_barrel_top_open.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/gold_barrel_bottom.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/gold_barrel_side.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/gold_barrel_top.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/gold_barrel_top_open.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/iron_barrel_bottom.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/iron_barrel_side.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/iron_barrel_top.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/iron_barrel_top_open.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/silver_barrel_bottom.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/silver_barrel_side.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/silver_barrel_top.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/silver_barrel_top_open.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/item/wood_to_copper.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/item/wood_to_gold.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/item/wood_to_iron.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/item/wood_to_silver.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/minecraft/texts/splashes.txt create mode 100644 src/overrides/openloader/resources/simis_edits/assets/minecraft/textures/gui/title/background/panorama_0.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/minecraft/textures/gui/title/background/panorama_1.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/minecraft/textures/gui/title/background/panorama_2.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/minecraft/textures/gui/title/background/panorama_3.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/minecraft/textures/gui/title/background/panorama_4.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/minecraft/textures/gui/title/background/panorama_5.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/occultism/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/occultism/sounds/start_ritual.ogg create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/blockstates/energy_pipe.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/models/block/bottom_corner.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/models/block/cover.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/models/block/end.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/models/block/energy_pipe_extract.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/models/block/open_end.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/models/block/side_corner.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/models/block/single.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/models/block/top_corner.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/models/block/window.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/models/item/energy_pipe.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/textures/block/pipe_cover.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/textures/block/pipe_end.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/textures/block/pipe_end_inner.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/textures/block/pipe_extract_overlay.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/textures/block/pipe_rims.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/pipez/textures/block/pipe_rims_inner.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/blockstates/pipe.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/andesite_card.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/bottom_corner.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/cover.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/crafting_terminal.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/end.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/item_terminal.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/legs.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/open_end.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/pressurizer.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/side_corner.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/single.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/top_corner.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/block/window.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/models/item/pipe.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/textures/block/fan.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/textures/block/fan.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/textures/block/pipe_cover.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/textures/block/pipe_end.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/textures/block/pipe_end_inner.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/textures/block/pipe_rims.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/textures/block/pipe_rims_inner.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/textures/block/terminal.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/prettypipes/textures/item/pipe_frame.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/projectred-core/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/rubber_duck/sounds/rubber_duck_use.ogg create mode 100644 src/overrides/openloader/resources/simis_edits/assets/structurescompass/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/tconstruct/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/models/block/machine_press.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/config/machine_config_accessible.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_collector.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_collector_active.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_collector_bottom.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_collector_side.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_collector_side_active.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_nullifier.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_nullifier_active.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_nullifier_active.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_nullifier_bottom.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_nullifier_side.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_rock_gen.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_rock_gen_active.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_rock_gen_active.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_rock_gen_bottom.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_rock_gen_side.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/devices/device_rock_gen_side_active.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/machines/machine_sawmill_active.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/machines/machine_sawmill_active.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/trading_machine_front.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/block/trading_machine_side.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/gui/jei_handler.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/item/augments/upgrade_augment_1.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/item/augments/upgrade_augment_2.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/item/dusts/apatite_dust.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/item/dusts/cinnabar_dust.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/thermal/textures/item/ingots/invar_ingot.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/lang/en_us.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/models/block/strainer_base_type5.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/models/block/strainer_base_type7.json create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/textures/blocks/strainer_base_side.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/textures/blocks/strainer_base_top.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/textures/blocks/strainer_fisherman.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/textures/blocks/strainer_fisherman_top.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/textures/items/strainer_fisherman.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/textures/items/strainer_fisherman_reinforced.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/textures/items/strainer_survivalist.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/textures/items/strainer_survivalist_reinforced.png create mode 100644 src/overrides/openloader/resources/simis_edits/assets/waterstrainer/textures/items/strainer_survivalist_reinforced.png.mcmeta create mode 100644 src/overrides/openloader/resources/simis_edits/pack.mcmeta create mode 100644 src/overrides/options.txt create mode 100644 src/overrides/worldshape/data/pack/structure_spawners/broken_windmill.json create mode 100644 src/overrides/worldshape/data/pack/structure_spawners/crashed_rocket.json create mode 100644 src/overrides/worldshape/data/pack/structure_spawners/log_cabin.json create mode 100644 src/overrides/worldshape/data/pack/structure_spawners/moonbase.json create mode 100644 src/overrides/worldshape/data/pack/structure_spawners/oil_fountain.json create mode 100644 src/overrides/worldshape/data/pack/structure_spawners/railshaft.json create mode 100644 src/overrides/worldshape/data/pack/structure_spawners/ruins.json create mode 100644 src/overrides/worldshape/data/pack/structure_spawners/slime.json create mode 100644 src/overrides/worldshape/data/pack/structure_spawners/underground_lab.json create mode 100644 src/overrides/worldshape/data/pack/structures/blacksmith_shop.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/broken_windmill.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/campsite.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/crashed_rocket.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/log_cabin.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/moonbase_cargo.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/moonbase_me.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/moonbase_oxygen.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/moonbase_rusty.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/moonbase_wreck.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/oil_fountain.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/oil_fountain_1.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/railshaft/bad_ending.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/railshaft/good_ending.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/railshaft/house.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/railshaft/slope_both.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/railshaft/slope_left.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/railshaft/slope_right.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/railshaft/slope_straight.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/railshaft/watery.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/railshaft/weak_slope.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/ruins/gabbro/arch.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/ruins/gabbro/bridge.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/ruins/gabbro/crossing.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/ruins/gabbro/end.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/ruins/gabbro/foundation.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/ruins/gabbro/house.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/ruins/gabbro/spires.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/ruins/gabbro/straight.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/ruins/gabbro/tower.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/ruins/gabbro/turn.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/slime/blue.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/slime/blue_1.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/slime/blue_2.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/slime/blue_small.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/slime/green.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/slime/green_small.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/slime/purple.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/slime/purple_small.nbt create mode 100644 src/overrides/worldshape/data/pack/structures/underground_lab.nbt create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/moonbase.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/oil_fountain.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/railshaft/after_horizontal.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/railshaft/after_slope.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/railshaft/first.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/railshaft/house.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/ruins/any.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/ruins/gabbro.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/slime/any.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/slime/blue_1.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/slime/blue_2.json create mode 100644 src/overrides/worldshape/data/pack/worldgen/template_pool/surface_build.json create mode 100644 stylua.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5b8582f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +build/ +.mpt/ diff --git a/modpacktoolsconfig.toml b/modpacktoolsconfig.toml new file mode 100644 index 0000000..e0d52f3 --- /dev/null +++ b/modpacktoolsconfig.toml @@ -0,0 +1,11 @@ +[Locations] +# The location of the source +src = "src" +# The location used to store temporary files +tempDir = ".mpt" + +[Downloads] +# The maximum number of threads that will be used for downloads +maxThreads = 5 +# The timeout of http requests in ms +httpTimeout = 30000 diff --git a/src/modpack.lua b/src/modpack.lua new file mode 100644 index 0000000..ea39859 --- /dev/null +++ b/src/modpack.lua @@ -0,0 +1,264 @@ +local function contains(list, x) + for _, v in pairs(list) do + if v == x then + return true + end + end + return false +end + +local function cursemod(project_id, file_id, id) + return { + id = id or tostring(project_id), + file = { + installer = "internal.dir:mods", + artifact = "curse.maven:" .. project_id .. ":" .. file_id, + repository = "curseforge", + }, + type = "mod", + options = { + "required", + "client", + "server", + "included", + }, + } +end + +local function resourcepack(link, id, name, description) + return { + id = id, + file = { + installer = "internal.dir:resourcepacks", + link = link, + }, + type = "mod", + options = { + "required", + "client", + "included", + }, + meta = { + name = name, + description = description, + }, + } +end + +local rels = { + -- default mods + cursemod(382216, 3457851), + cursemod(236542, 3302417), + cursemod(233019, 3031978), + cursemod(227795, 3398190), + cursemod(248787, 3512372), + cursemod(223794, 3528122), + cursemod(60028, 3454318), + cursemod(433862, 3414676), + cursemod(419699, 3500014), + cursemod(229061, 3224955), + cursemod(272515, 3317873), + cursemod(353434, 3332323), + cursemod(220318, 3407189), + cursemod(425991, 3513453), + cursemod(261251, 3430455), + cursemod(459701, 3529457), + cursemod(441706, 3441327), + cursemod(258426, 3529432), + cursemod(235279, 3376782), + cursemod(231095, 3510598), + cursemod(267193, 3507658), + cursemod(348521, 3521275), + cursemod(256717, 3481298), + cursemod(402256, 3147020), + cursemod(470193, 3510357), + cursemod(250398, 3531453), + cursemod(222908, 3524822), + cursemod(316582, 3447907), + cursemod(233071, 3330406), + cursemod(371813, 3400648), + cursemod(267602, 3137659), + cursemod(296676, 3217589), + cursemod(309927, 3456953), + cursemod(460681, 3458010), + cursemod(362528, 3166283), + cursemod(421760, 3311520), + cursemod(232131, 3330403), + cursemod(445926, 3520961), + cursemod(534161, 3521846), + cursemod(324973, 3418221), + cursemod(348076, 3239927), + cursemod(291509, 3154938), + cursemod(245174, 3361748), + cursemod(270183, 3207546), + cursemod(242830, 3521872), + cursemod(338779, 3085297), + cursemod(233342, 3216206), + cursemod(389989, 3091598), + cursemod(230976, 3052146), + cursemod(288885, 3245271), + cursemod(429235, 3485636), + cursemod(486392, 3535459), + cursemod(314904, 3482306), + cursemod(289412, 3498398), + cursemod(404468, 3535953), + cursemod(238911, 3504717), + cursemod(356646, 3198017), + cursemod(270457, 3509641), + cursemod(240633, 3077903), + cursemod(309674, 3376819), + cursemod(324717, 3467445), + cursemod(238222, 3530253), + cursemod(429371, 3407451), + cursemod(236541, 3305524), + cursemod(284745, 3224434), + cursemod(324985, 3415449), + cursemod(317792, 3089690), + cursemod(440845, 3524860), + cursemod(530858, 3480574), + cursemod(69118, 3215383), + cursemod(60089, 3202662), + cursemod(252848, 3382150), + cursemod(432072, 3152473), + cursemod(354339, 3199872), + cursemod(492376, 3436979), + cursemod(242436, 3520897), + cursemod(252042, 3131044), + cursemod(306770, 3459118), + cursemod(373323, 3273985), + cursemod(443900, 3525428), + cursemod(283644, 3437009), + cursemod(425973, 3512385), + cursemod(291493, 3524478), + cursemod(376737, 3472990), + cursemod(228702, 3535644), + cursemod(229046, 3535646), + cursemod(229045, 3535645), + cursemod(478939, 3535648), + cursemod(523013, 3532356), + cursemod(469185, 3453788), + cursemod(241319, 3361285), + cursemod(368293, 3527137), + cursemod(416294, 3525704), + cursemod(522039, 3474866), + cursemod(471286, 3276638), + cursemod(499980, 3517008), + cursemod(407174, 3188120), + cursemod(222789, 3039955), + cursemod(361579, 3337641), + cursemod(399022, 3161147), + cursemod(223852, 3402515), + cursemod(387580, 3057272), + cursemod(491151, 3404723), + cursemod(287342, 3525770), + cursemod(254268, 3433163), + cursemod(416935, 3508441), + cursemod(246939, 3073517), + cursemod(539336, 3499582), + cursemod(497637, 3406131), + cursemod(521714, 3540229), + cursemod(328085, 3536025), + cursemod(229060, 3539371), + cursemod(538587, 3521746), + cursemod(353399, 3554751), + cursemod(282001, 3559365), + cursemod(242818, 3553742), + cursemod(69162, 3556973), + cursemod(399558, 3562328), + cursemod(237307, 3540310), + cursemod(398521, 3559260), + cursemod(309858, 3541860), + cursemod(314906, 3538223), + cursemod(404465, 3553840), + cursemod(238086, 3552913), + cursemod(421694, 3555593), + cursemod(361276, 3562133), + cursemod(74924, 3551291), + cursemod(412082, 3544548), + cursemod(74072, 3551295), + cursemod(69163, 3556990), + cursemod(222880, 3556953), + cursemod(291737, 3556270), + cursemod(406959, 3555670), + cursemod(457570, 3546348), + cursemod(361026, 3532979), + cursemod(332695, 3195333), + + -- MZTE edition mods + cursemod(413102, 3155998, "spackenmobs"), +} + +if contains(mpt.defines, "texturepacks") then + local texturepacks = { + resourcepack( + "https://edge.forgecdn.net/files/3190/886/Unity-1.16.X-Base-2.4.0.zip", + "unity", + "Unity", + "16x16 texture pack that gives the game a fresh look" + ), + resourcepack( + "https://edge.forgecdn.net/files/3190/891/Unity-1.16.X-Modded-1.3.0.zip", + "unity-modded", + "Unity Modded", + "Mod support for the Unity texture pack." + ), + resourcepack( + "https://edge.forgecdn.net/files/3013/824/Unity-1.16.X-Extras-1.0.0.zip", + "unity-extras", + "Unity Extras", + "Extra stuff of the Unity texture pack" + ), + resourcepack( + "https://edge.forgecdn.net/files/3190/888/Unity-1.16.X-Dark-0.7.0.zip", + "unity-dark", + "Unity Dark", + "Dark mode UIs" + ), + } + + for _, t in pairs(texturepacks) do + table.insert(rels, t) + end +end + +manifest = { + id = "create-above-and-beyond-mzte", + type = "modpack", + meta = { + name = "Create: Above and Beyond: MZTE edition", + description = "MZTE edition of a quest modpack about the create mod", + contributors = { + { + name = "LordMZTE", + roles = { "Owner" }, + }, + }, + }, + repositories = { + { + id = "curseforge", + type = "curseforge", + url = "https://cursemaven.com/", + }, + }, + versions = { + { + version = "1.3", + mcversion = { "1.16.5" }, + files = { + { + id = "overrides", + installer = "internal.override", + link = "file://overrides", + options = { + "included", + "server", + "required", + "client", + }, + }, + }, + relations = rels, + }, + }, +} diff --git a/src/overrides/config/CBMicroblock.cfg b/src/overrides/config/CBMicroblock.cfg new file mode 100644 index 0000000..2f4e4bc --- /dev/null +++ b/src/overrides/config/CBMicroblock.cfg @@ -0,0 +1,16 @@ +"saws" { + "stone_saw" { + I:"durability"=512 + } + + "iron_saw" { + I:"durability"=1024 + } + + "diamond_saw" { + I:"durability"=2048 + } +} + +# Set this to true to show all MicroBlocks in JEI. By default only Stone is shown. +B:"showAllMicroblocks"=false diff --git a/src/overrides/config/ChickenChunks.cfg b/src/overrides/config/ChickenChunks.cfg new file mode 100644 index 0000000..7fea546 --- /dev/null +++ b/src/overrides/config/ChickenChunks.cfg @@ -0,0 +1,21 @@ +# If Players with OP permissions bypass chunk loading restrictions. +B:"opsBypassRestrictions"=false + +# If Players with OP permissions can manage other users ChunkLoaders +B:"opsAccessAllLoaders"=true + +# If chunks should stay loaded when a ChunkLoader's owner is offline. +B:"allowOffline"=true + +# How long in minutes ChickenChunks should wait after a Player logs out to unload their chunks. Only effective when allowOffline=false +I:"offlineTimeout"=0 + +# The number of chunks each player is allowed to load in total. +I:"totalAllowedChunks"=5000 + +# The number of chunks each ChunkLoader is allowed to load in total. +I:"chunksPerLoader"=400 + +# Specifies restrictions for each player, Use /chickenchunks instead. +"playerRestrictions" { +} diff --git a/src/overrides/config/EnderStorage.cfg b/src/overrides/config/EnderStorage.cfg new file mode 100644 index 0000000..4e4ba4e --- /dev/null +++ b/src/overrides/config/EnderStorage.cfg @@ -0,0 +1,14 @@ +# The RegistryName for the Item to lock EnderChests and Tanks. +S:"personalItem"="minecraft:diamond" + +# Causes chests to lose personal settings and drop the diamond on break. +B:"anarchyMode"=false + +# The size of each inventory of EnderStorage, 0 = 3x3, 1 = 3x9, 2 = 6x9, default = 1 +I:"item_storage_size"=1 + +# Disables the tank on top of creators heads. +B:"disableCreatorVisuals"=false + +# Enable this to make EnderStorage use vanilla's EnderChest sounds instead of the standard chest. +B:"useVanillaEnderChestsSounds"=false diff --git a/src/overrides/config/Exchangers-1.toml.bak b/src/overrides/config/Exchangers-1.toml.bak new file mode 100644 index 0000000..b8e46cd --- /dev/null +++ b/src/overrides/config/Exchangers-1.toml.bak @@ -0,0 +1,457 @@ + +#Exchangers Config +[modules] + #If true, enables Vanilla-based exchangers. + vanillaModule = true + #If true, enables Ender IO-based exchangers (Requires Ender IO to be installed). + enderIOModule = true + #If true, enables Ender IO Endergy-based exchangers (Requires Ender IO Endergy to be installed). + enderIOEndergyModule = true + #If true, enables Thermal Series-based exchangers (Requires Thermal Foundation and Thermal Innovation to be installed). + thermalModule = true + #If true, enables Mekanism-based exchangers (Requires Mekanism to be installed). + mekanismModule = true + #If true, enables Immersive Engineering-based exchangers (Requires Immersive Engineering to be installed). + immersiveEngineeringModule = true + #If true, enables special exchangers (e.g. Tuberous Exchanger). + specialModule = true + +[vanilla_tweaks] + #Set the durability for Wooden Exchanger + #Range: > 1 + woodenExchangerMaxDamage = 256 + #Set the max harvest level for Wooden Exchanger + #Range: > 0 + woodenExchangerMaxHarvestLevel = 0 + #Set the max range for Wooden Exchanger + #Range: 0 ~ 12 + woodenExchangerMaxRange = 0 + #Set the durability for Stone Exchanger + #Range: > 1 + stoneExchangerMaxDamage = 384 + #Set the max harvest level for Stone Exchanger + #Range: > 0 + stoneExchangerMaxHarvestLevel = 1 + #Set the max range for Stone Exchanger + #Range: 0 ~ 12 + stoneExchangerMaxRange = 1 + #Set the durability for Golden Exchanger + #Range: > 1 + goldenExchangerMaxDamage = 512 + #Set the max harvest level for Golden Exchanger + #Range: > 0 + goldenExchangerMaxHarvestLevel = 1 + #Set the max range for Golden Exchanger + #Range: 0 ~ 12 + goldenExchangerMaxRange = 2 + #Set the durability for Iron Exchanger + #Range: > 1 + ironExchangerMaxDamage = 1024 + #Set the max harvest level for Iron Exchanger + #Range: > 0 + ironExchangerMaxHarvestLevel = 2 + #Set the max range for Iron Exchanger + #Range: 0 ~ 12 + ironExchangerMaxRange = 3 + #Set the durability for Diamond Exchanger + #Range: > 1 + diamondExchangerMaxDamage = 4096 + #Set the max harvest level for Diamond Exchanger + #Range: > 0 + diamondExchangerMaxHarvestLevel = 3 + #Set the max range for Diamond Exchanger + #Range: 0 ~ 12 + diamondExchangerMaxRange = 4 + #Set the durability for Emerald Exchanger + #Range: > 1 + emeraldExchangerMaxDamage = 8192 + #Set the max harvest level for Emerald Exchanger + #Range: > 0 + emeraldExchangerMaxHarvestLevel = 4 + #Set the max range for Emerald Exchanger + #Range: 0 ~ 12 + emeraldExchangerMaxRange = 5 + #Set the durability for Obsidian Exchanger + #Range: > 1 + obsidianExchangerMaxDamage = 16384 + #Set the max harvest level for Obsidian Exchanger + #Range: > 0 + obsidianExchangerMaxHarvestLevel = 4 + #Set the max range for Obsidian Exchanger + #Range: 0 ~ 12 + obsidianExchangerMaxRange = 6 + #Set the durability for End Exchanger + #Range: > 1 + endExchangerMaxDamage = 32768 + #Set the max harvest level for End Exchanger + #Range: > 0 + endExchangerMaxHarvestLevel = 5 + #Set the max range for End Exchanger + #Range: 0 ~ 12 + endExchangerMaxRange = 7 + +[ender_io_tweaks] + #Set the energy capacity for Conductive Iron Exchanger + #Range: > 1000 + conductiveIronExchangerMaxEnergy = 50000 + #Set the energy consumption per block for Conductive Iron Exchanger + #Range: > 1 + conductiveIronExchangerPerBlockUse = 50 + #Set the max harvest level for Conductive Iron Exchanger + #Range: > 0 + conductiveIronExchangerMaxHarvestLevel = 1 + #Set the max range for Conductive Iron Exchanger + #Range: 0 ~ 12 + conductiveIronExchangerMaxRange = 1 + #Set the energy capacity for Pulsating Iron Exchanger + #Range: > 1000 + pulsatingIronExchangerMaxEnergy = 250000 + #Set the energy consumption per block for Pulsating Iron Exchanger + #Range: > 1 + pulsatingIronExchangerPerBlockUse = 100 + #Set the max harvest level for Pulsating Iron Exchanger + #Range: > 0 + pulsatingIronExchangerMaxHarvestLevel = 2 + #Set the max range for Pulsating Iron Exchanger + #Range: 0 ~ 12 + pulsatingIronExchangerMaxRange = 2 + #Set the energy capacity for Electrical Steel Exchanger + #Range: > 1000 + electricalSteelExchangerMaxEnergy = 1000000 + #Set the energy consumption per block for Electrical Steel Exchanger + #Range: > 1 + electricalSteelExchangerPerBlockUse = 500 + #Set the max harvest level for Electrical Steel Exchanger + #Range: > 0 + electricalSteelExchangerMaxHarvestLevel = 3 + #Set the max range for Electrical Steel Exchanger + #Range: 0 ~ 12 + electricalSteelExchangerMaxRange = 4 + #Set the energy capacity for Energetic Exchanger + #Range: > 1000 + energeticExchangerMaxEnergy = 5000000 + #Set the energy consumption per block for Energetic Exchanger + #Range: > 1 + energeticExchangerPerBlockUse = 1000 + #Set the max harvest level for Energetic Exchanger + #Range: > 0 + energeticExchangerMaxHarvestLevel = 3 + #Set the max range for Energetic Exchanger + #Range: 0 ~ 12 + energeticExchangerMaxRange = 5 + #Set the energy capacity for Dark Steel Exchanger + #Range: > 1000 + darkSteelExchangerMaxEnergy = 10000000 + #Set the energy consumption per block for Dark Steel Exchanger + #Range: > 1 + darkSteelExchangerPerBlockUse = 1500 + #Set the max harvest level for Dark Steel Exchanger + #Range: > 0 + darkSteelExchangerMaxHarvestLevel = 4 + #Set the max range for Dark Steel Exchanger + #Range: 0 ~ 12 + darkSteelExchangerMaxRange = 6 + #Set the energy capacity for Vibrant Exchanger + #Range: > 1000 + vibrantExchangerMaxEnergy = 25000000 + #Set the energy consumption per block for Vibrant Exchanger + #Range: > 1 + vibrantExchangerPerBlockUse = 2500 + #Set the max harvest level for Vibrant Exchanger + #Range: > 0 + vibrantExchangerMaxHarvestLevel = 4 + #Set the max range for Vibrant Exchanger + #Range: 0 ~ 12 + vibrantExchangerMaxRange = 7 + #Set the energy capacity for End Steel Exchanger + #Range: > 1000 + endSteelExchangerMaxEnergy = 50000000 + #Set the energy consumption per block for End Steel Exchanger + #Range: > 1 + endSteelExchangerPerBlockUse = 5000 + #Set the max harvest level for End Steel Exchanger + #Range: > 0 + endSteelExchangerMaxHarvestLevel = 5 + #Set the max range for End Steel Exchanger + #Range: 0 ~ 12 + endSteelExchangerMaxRange = 7 + +[ender_io_endergy_tweaks] + #Set the energy capacity for Crude Steel Exchanger + #Range: > 1000 + crudeSteelExchangerMaxEnergy = 50000 + #Set the energy consumption per block for Crude Steel Exchanger + #Range: > 1 + crudeSteelExchangerPerBlockUse = 50 + #Set the max harvest level for Crude Steel Exchanger + #Range: > 0 + crudeSteelExchangerMaxHarvestLevel = 1 + #Set the max range for Crude Steel Exchanger + #Range: 0 ~ 12 + crudeSteelExchangerMaxRange = 1 + #Set the energy capacity for Energetic Silver Exchanger + #Range: > 1000 + energeticSilverExchangerMaxEnergy = 250000 + #Set the energy consumption per block for Energetic Silver Exchanger + #Range: > 1 + energeticSilverExchangerPerBlockUse = 100 + #Set the max harvest level for Energetic Silver Exchanger + #Range: > 0 + energeticSilverExchangerMaxHarvestLevel = 2 + #Set the max range for Energetic Silver Exchanger + #Range: 0 ~ 12 + energeticSilverExchangerMaxRange = 2 + #Set the energy capacity for Vivid Exchanger + #Range: > 1000 + vividExchangerMaxEnergy = 1000000 + #Set the energy consumption per block for Vivid Exchanger + #Range: > 1 + vividExchangerPerBlockUse = 500 + #Set the max harvest level for Vivid Exchanger + #Range: > 0 + vividExchangerMaxHarvestLevel = 3 + #Set the max range for Vivid Exchanger + #Range: 0 ~ 12 + vividExchangerMaxRange = 4 + #Set the energy capacity for Crystalline Exchanger + #Range: > 1000 + crystallineExchangerMaxEnergy = 10000000 + #Set the energy consumption per block for Crystalline Exchanger + #Range: > 1 + crystallineExchangerPerBlockUse = 1500 + #Set the max harvest level for Crystalline Exchanger + #Range: > 0 + crystallineExchangerMaxHarvestLevel = 3 + #Set the max range for Crystalline Exchanger + #Range: 0 ~ 12 + crystallineExchangerMaxRange = 5 + #Set the energy capacity for Melodic Exchanger + #Range: > 1000 + melodicExchangerMaxEnergy = 50000000 + #Set the energy consumption per block for Melodic Exchanger + #Range: > 1 + melodicExchangerPerBlockUse = 2500 + #Set the max harvest level for Melodic Exchanger + #Range: > 0 + melodicExchangerMaxHarvestLevel = 4 + #Set the max range for Melodic Exchanger + #Range: 0 ~ 12 + melodicExchangerMaxRange = 7 + #Set the energy capacity for Stellar Exchanger + #Range: > 1000 + stellarExchangerMaxEnergy = 100000000 + #Set the energy consumption per block for Stellar Exchanger + #Range: > 1 + stellarExchangerPerBlockUse = 5000 + #Set the max harvest level for Stellar Exchanger + #Range: > 0 + stellarExchangerMaxHarvestLevel = 5 + #Set the max range for Stellar Exchanger + #Range: 0 ~ 12 + stellarExchangerMaxRange = 9 + +[thermal_tweaks] + #Set the energy capacity for Leadstone Exchanger + #Range: > 1000 + leadstoneExchangerMaxEnergy = 100000 + #Set the energy consumption per block for Leadstone Exchanger + #Range: > 1 + leadstoneExchangerPerBlockUse = 50 + #Set the max harvest level for Leadstone Exchanger + #Range: > 0 + leadstoneExchangerMaxHarvestLevel = 1 + #Set the max range for Leadstone Exchanger + #Range: 0 ~ 12 + leadstoneExchangerMaxRange = 1 + #Set the energy capacity for Hardened Exchanger + #Range: > 1000 + hardenedExchangerMaxEnergy = 500000 + #Set the energy consumption per block for Hardened Exchanger + #Range: > 1 + hardenedExchangerPerBlockUse = 150 + #Set the max harvest level for Hardened Exchanger + #Range: > 0 + hardenedExchangerMaxHarvestLevel = 2 + #Set the max range for Hardened Exchanger + #Range: 0 ~ 12 + hardenedExchangerMaxRange = 3 + #Set the energy capacity for Reinforced Exchanger + #Range: > 1000 + reinforcedExchangerMaxEnergy = 1000000 + #Set the energy consumption per block for Reinforced Exchanger + #Range: > 1 + reinforcedExchangerPerBlockUse = 250 + #Set the max harvest level for Reinforced Exchanger + #Range: > 0 + reinforcedExchangerMaxHarvestLevel = 3 + #Set the max range for Reinforced Exchanger + #Range: 0 ~ 12 + reinforcedExchangerMaxRange = 5 + #Set the energy capacity for Signalum Exchanger + #Range: > 1000 + signalumExchangerMaxEnergy = 10000000 + #Set the energy consumption per block for Signalum Exchanger + #Range: > 1 + signalumExchangerPerBlockUse = 500 + #Set the max harvest level for Signalum Exchanger + #Range: > 0 + signalumExchangerMaxHarvestLevel = 4 + #Set the max range for Signalum Exchanger + #Range: 0 ~ 12 + signalumExchangerMaxRange = 6 + #Set the energy capacity for Resonant Exchanger + #Range: > 1000 + resonantExchangerMaxEnergy = 25000000 + #Set the energy consumption per block for Resonant Exchanger + #Range: > 1 + resonantExchangerPerBlockUse = 1500 + #Set the max harvest level for Resonant Exchanger + #Range: > 0 + resonantExchangerMaxHarvestLevel = 4 + #Set the max range for Resonant Exchanger + #Range: 0 ~ 12 + resonantExchangerMaxRange = 7 + +[mekanism_tweaks] + #Set the energy capacity for Basic Exchanger + #Range: > 1000 + basicExchangerMaxEnergy = 250000 + #Set the energy consumption per block for Basic Exchanger + #Range: > 1 + basicExchangerPerBlockUse = 50 + #Set the max harvest level for Basic Exchanger + #Range: > 0 + basicExchangerMaxHarvestLevel = 1 + #Set the max range for Basic Exchanger + #Range: 0 ~ 12 + basicExchangerMaxRange = 3 + #Set the energy capacity for Advanced Exchanger + #Range: > 1000 + advancedExchangerMaxEnergy = 1000000 + #Set the energy consumption per block for Advanced Exchanger + #Range: > 1 + advancedExchangerPerBlockUse = 150 + #Set the max harvest level for Advanced Exchanger + #Range: > 0 + advancedExchangerMaxHarvestLevel = 2 + #Set the max range for Advanced Exchanger + #Range: 0 ~ 12 + advancedExchangerMaxRange = 5 + #Set the energy capacity for Elite Exchanger + #Range: > 1000 + eliteExchangerMaxEnergy = 5000000 + #Set the energy consumption per block for Elite Exchanger + #Range: > 1 + eliteExchangerPerBlockUse = 500 + #Set the max harvest level for Elite Exchanger + #Range: > 0 + eliteExchangerMaxHarvestLevel = 3 + #Set the max range for Elite Exchanger + #Range: 0 ~ 12 + eliteExchangerMaxRange = 6 + #Set the energy capacity for Ultimate Exchanger + #Range: > 1000 + ultimateExchangerMaxEnergy = 10000000 + #Set the energy consumption per block for Ultimate Exchanger + #Range: > 1 + ultimateExchangerPerBlockUse = 1000 + #Set the max harvest level for Ultimate Exchanger + #Range: > 0 + ultimateExchangerMaxHarvestLevel = 4 + #Set the max range for Ultimate Exchanger + #Range: 0 ~ 12 + ultimateExchangerMaxRange = 7 + +[immersive_engineering_tweaks] + #Set the energy capacity for LV Exchanger + #Range: > 1000 + lvExchangerMaxEnergy = 100000 + #Set the energy consumption per block for LV Exchanger + #Range: > 1 + lvExchangerPerBlockUse = 50 + #Set the max harvest level for LV Exchanger + #Range: > 0 + lvExchangerMaxHarvestLevel = 2 + #Set the max range for LV Exchanger + #Range: 0 ~ 12 + lvExchangerMaxRange = 3 + #Set the energy capacity for MV Exchanger + #Range: > 1000 + mvExchangerMaxEnergy = 500000 + #Set the energy consumption per block for MV Exchanger + #Range: > 1 + mvExchangerPerBlockUse = 250 + #Set the max harvest level for MV Exchanger + #Range: > 0 + mvExchangerMaxHarvestLevel = 3 + #Set the max range for MV Exchanger + #Range: 0 ~ 12 + mvExchangerMaxRange = 5 + #Set the energy capacity for HV Exchanger + #Range: > 1000 + hvExchangerMaxEnergy = 2500000 + #Set the energy consumption per block for HV Exchanger + #Range: > 1 + hvExchangerPerBlockUse = 500 + #Set the max harvest level for HV Exchanger + #Range: > 0 + hvExchangerMaxHarvestLevel = 4 + #Set the max range for HV Exchanger + #Range: 0 ~ 12 + hvExchangerMaxRange = 7 + +[recipe_tweaks] + #Set the recipes type for Vanilla-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + vanillaRecipesType = "normal" + #Set the recipes type for Ender IO-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + enderIORecipesType = "normal" + #Set the recipes type for Ender IO Endergy-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + enderIOEndergyRecipesType = "normal" + #Set the recipes type for Thermal Series-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + thermalRecipesType = "normal" + #Set the recipes type for Mekanism-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + mekanismRecipesType = "normal" + #Set the recipes type for Immersive Engineering-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + immersiveEngineeringRecipesType = "normal" + +[misc] + #Certain blocks might be blacklisted by Exchangers if they're Tile Entities. + #Put a list of block registry names that you wish to be whitelisted from Exchangers. + #Separate each entry with semicolon. + #(e.g. "tconstruct:seared;thermal:energy_cell;minecraft:conduit") + blocksWhitelist = "tconstruct:seared" + #Put a list of block registry names that you wish to be blacklisted from Exchangers. + #Note: Blacklisting a block will prevent it from being selected or being exchanged. + #Separate each entry with semicolon. + #(e.g. "minecraft:grass;minecraft:cake;minecraft:dragon_egg") + blocksBlacklist = "" + #If true, allows the Holding Enchantment from CoFH Core to be used on Powered Exchangers + #Calculation formula: Base Energy + (Base Energy * Enchantment Level / 2) + holdingEnchantment = true + #If true, allows Unbreaking Enchantment to affect Powered Exchangers + unbreakingPoweredExchangers = true + #If true, enables Silk Touch (gets the blocks itself rather than drops) on all Exchangers + doExchangersSilkTouch = true + #Set the energy unit shown on Powered Exchangers: + #'FE' Forge Energy + #'RF' Redstone Flux + energyUnit = "FE" + diff --git a/src/overrides/config/Exchangers.toml b/src/overrides/config/Exchangers.toml new file mode 100644 index 0000000..efaac68 --- /dev/null +++ b/src/overrides/config/Exchangers.toml @@ -0,0 +1,457 @@ + +#Exchangers Config +[modules] + #If true, enables Immersive Engineering-based exchangers (Requires Immersive Engineering to be installed). + immersiveEngineeringModule = true + #If true, enables Vanilla-based exchangers. + vanillaModule = true + #If true, enables Ender IO-based exchangers (Requires Ender IO to be installed). + enderIOModule = true + #If true, enables Mekanism-based exchangers (Requires Mekanism to be installed). + mekanismModule = true + #If true, enables Ender IO Endergy-based exchangers (Requires Ender IO Endergy to be installed). + enderIOEndergyModule = true + #If true, enables Thermal Series-based exchangers (Requires Thermal Foundation and Thermal Innovation to be installed). + thermalModule = true + #If true, enables special exchangers (e.g. Tuberous Exchanger). + specialModule = true + +[vanilla_tweaks] + #Set the max range for Emerald Exchanger + #Range: 0 ~ 12 + emeraldExchangerMaxRange = 5 + #Set the max harvest level for Stone Exchanger + #Range: > 0 + stoneExchangerMaxHarvestLevel = 1 + #Set the max range for End Exchanger + #Range: 0 ~ 12 + endExchangerMaxRange = 7 + #Set the max harvest level for Iron Exchanger + #Range: > 0 + ironExchangerMaxHarvestLevel = 2 + #Set the max range for Wooden Exchanger + #Range: 0 ~ 12 + woodenExchangerMaxRange = 0 + #Set the durability for Emerald Exchanger + #Range: > 1 + emeraldExchangerMaxDamage = 8192 + #Set the max range for Obsidian Exchanger + #Range: 0 ~ 12 + obsidianExchangerMaxRange = 6 + #Set the durability for End Exchanger + #Range: > 1 + endExchangerMaxDamage = 32768 + #Set the max range for Golden Exchanger + #Range: 0 ~ 12 + goldenExchangerMaxRange = 2 + #Set the max range for Stone Exchanger + #Range: 0 ~ 12 + stoneExchangerMaxRange = 1 + #Set the max harvest level for Golden Exchanger + #Range: > 0 + goldenExchangerMaxHarvestLevel = 1 + #Set the max range for Diamond Exchanger + #Range: 0 ~ 12 + diamondExchangerMaxRange = 4 + #Set the max harvest level for Emerald Exchanger + #Range: > 0 + emeraldExchangerMaxHarvestLevel = 4 + #Set the max harvest level for Diamond Exchanger + #Range: > 0 + diamondExchangerMaxHarvestLevel = 3 + #Set the durability for Iron Exchanger + #Range: > 1 + ironExchangerMaxDamage = 1024 + #Set the durability for Stone Exchanger + #Range: > 1 + stoneExchangerMaxDamage = 384 + #Set the max harvest level for End Exchanger + #Range: > 0 + endExchangerMaxHarvestLevel = 5 + #Set the durability for Golden Exchanger + #Range: > 1 + goldenExchangerMaxDamage = 512 + #Set the durability for Wooden Exchanger + #Range: > 1 + woodenExchangerMaxDamage = 256 + #Set the durability for Diamond Exchanger + #Range: > 1 + diamondExchangerMaxDamage = 4096 + #Set the max harvest level for Wooden Exchanger + #Range: > 0 + woodenExchangerMaxHarvestLevel = 0 + #Set the max harvest level for Obsidian Exchanger + #Range: > 0 + obsidianExchangerMaxHarvestLevel = 4 + #Set the durability for Obsidian Exchanger + #Range: > 1 + obsidianExchangerMaxDamage = 16384 + #Set the max range for Iron Exchanger + #Range: 0 ~ 12 + ironExchangerMaxRange = 3 + +[ender_io_tweaks] + #Set the energy capacity for Pulsating Iron Exchanger + #Range: > 1000 + pulsatingIronExchangerMaxEnergy = 250000 + #Set the energy consumption per block for Energetic Exchanger + #Range: > 1 + energeticExchangerPerBlockUse = 1000 + #Set the energy consumption per block for Vibrant Exchanger + #Range: > 1 + vibrantExchangerPerBlockUse = 2500 + #Set the energy consumption per block for Conductive Iron Exchanger + #Range: > 1 + conductiveIronExchangerPerBlockUse = 50 + #Set the max range for Electrical Steel Exchanger + #Range: 0 ~ 12 + electricalSteelExchangerMaxRange = 4 + #Set the energy capacity for Dark Steel Exchanger + #Range: > 1000 + darkSteelExchangerMaxEnergy = 10000000 + #Set the energy capacity for End Steel Exchanger + #Range: > 1000 + endSteelExchangerMaxEnergy = 50000000 + #Set the energy consumption per block for End Steel Exchanger + #Range: > 1 + endSteelExchangerPerBlockUse = 5000 + #Set the energy capacity for Electrical Steel Exchanger + #Range: > 1000 + electricalSteelExchangerMaxEnergy = 1000000 + #Set the max harvest level for Conductive Iron Exchanger + #Range: > 0 + conductiveIronExchangerMaxHarvestLevel = 1 + #Set the energy capacity for Conductive Iron Exchanger + #Range: > 1000 + conductiveIronExchangerMaxEnergy = 50000 + #Set the max range for Vibrant Exchanger + #Range: 0 ~ 12 + vibrantExchangerMaxRange = 7 + #Set the max harvest level for End Steel Exchanger + #Range: > 0 + endSteelExchangerMaxHarvestLevel = 5 + #Set the energy capacity for Energetic Exchanger + #Range: > 1000 + energeticExchangerMaxEnergy = 5000000 + #Set the energy consumption per block for Dark Steel Exchanger + #Range: > 1 + darkSteelExchangerPerBlockUse = 1500 + #Set the max range for End Steel Exchanger + #Range: 0 ~ 12 + endSteelExchangerMaxRange = 7 + #Set the max harvest level for Vibrant Exchanger + #Range: > 0 + vibrantExchangerMaxHarvestLevel = 4 + #Set the max range for Dark Steel Exchanger + #Range: 0 ~ 12 + darkSteelExchangerMaxRange = 6 + #Set the energy capacity for Vibrant Exchanger + #Range: > 1000 + vibrantExchangerMaxEnergy = 25000000 + #Set the energy consumption per block for Pulsating Iron Exchanger + #Range: > 1 + pulsatingIronExchangerPerBlockUse = 100 + #Set the max harvest level for Energetic Exchanger + #Range: > 0 + energeticExchangerMaxHarvestLevel = 3 + #Set the max harvest level for Pulsating Iron Exchanger + #Range: > 0 + pulsatingIronExchangerMaxHarvestLevel = 2 + #Set the max range for Energetic Exchanger + #Range: 0 ~ 12 + energeticExchangerMaxRange = 5 + #Set the energy consumption per block for Electrical Steel Exchanger + #Range: > 1 + electricalSteelExchangerPerBlockUse = 500 + #Set the max harvest level for Electrical Steel Exchanger + #Range: > 0 + electricalSteelExchangerMaxHarvestLevel = 3 + #Set the max range for Conductive Iron Exchanger + #Range: 0 ~ 12 + conductiveIronExchangerMaxRange = 1 + #Set the max range for Pulsating Iron Exchanger + #Range: 0 ~ 12 + pulsatingIronExchangerMaxRange = 2 + #Set the max harvest level for Dark Steel Exchanger + #Range: > 0 + darkSteelExchangerMaxHarvestLevel = 4 + +[ender_io_endergy_tweaks] + #Set the max range for Crude Steel Exchanger + #Range: 0 ~ 12 + crudeSteelExchangerMaxRange = 1 + #Set the energy consumption per block for Vivid Exchanger + #Range: > 1 + vividExchangerPerBlockUse = 500 + #Set the energy capacity for Energetic Silver Exchanger + #Range: > 1000 + energeticSilverExchangerMaxEnergy = 250000 + #Set the max harvest level for Vivid Exchanger + #Range: > 0 + vividExchangerMaxHarvestLevel = 3 + #Set the energy consumption per block for Stellar Exchanger + #Range: > 1 + stellarExchangerPerBlockUse = 5000 + #Set the energy consumption per block for Crude Steel Exchanger + #Range: > 1 + crudeSteelExchangerPerBlockUse = 50 + #Set the energy capacity for Melodic Exchanger + #Range: > 1000 + melodicExchangerMaxEnergy = 50000000 + #Set the energy consumption per block for Energetic Silver Exchanger + #Range: > 1 + energeticSilverExchangerPerBlockUse = 100 + #Set the energy capacity for Vivid Exchanger + #Range: > 1000 + vividExchangerMaxEnergy = 1000000 + #Set the energy capacity for Crude Steel Exchanger + #Range: > 1000 + crudeSteelExchangerMaxEnergy = 50000 + #Set the energy consumption per block for Crystalline Exchanger + #Range: > 1 + crystallineExchangerPerBlockUse = 1500 + #Set the max harvest level for Crystalline Exchanger + #Range: > 0 + crystallineExchangerMaxHarvestLevel = 3 + #Set the max range for Stellar Exchanger + #Range: 0 ~ 12 + stellarExchangerMaxRange = 9 + #Set the max harvest level for Energetic Silver Exchanger + #Range: > 0 + energeticSilverExchangerMaxHarvestLevel = 2 + #Set the energy capacity for Crystalline Exchanger + #Range: > 1000 + crystallineExchangerMaxEnergy = 10000000 + #Set the max range for Crystalline Exchanger + #Range: 0 ~ 12 + crystallineExchangerMaxRange = 5 + #Set the max range for Energetic Silver Exchanger + #Range: 0 ~ 12 + energeticSilverExchangerMaxRange = 2 + #Set the max harvest level for Stellar Exchanger + #Range: > 0 + stellarExchangerMaxHarvestLevel = 5 + #Set the max harvest level for Crude Steel Exchanger + #Range: > 0 + crudeSteelExchangerMaxHarvestLevel = 1 + #Set the energy capacity for Stellar Exchanger + #Range: > 1000 + stellarExchangerMaxEnergy = 100000000 + #Set the energy consumption per block for Melodic Exchanger + #Range: > 1 + melodicExchangerPerBlockUse = 2500 + #Set the max harvest level for Melodic Exchanger + #Range: > 0 + melodicExchangerMaxHarvestLevel = 4 + #Set the max range for Melodic Exchanger + #Range: 0 ~ 12 + melodicExchangerMaxRange = 7 + #Set the max range for Vivid Exchanger + #Range: 0 ~ 12 + vividExchangerMaxRange = 4 + +[thermal_tweaks] + #Set the max range for Reinforced Exchanger + #Range: 0 ~ 12 + reinforcedExchangerMaxRange = 5 + #Set the energy consumption per block for Hardened Exchanger + #Range: > 1 + hardenedExchangerPerBlockUse = 150 + #Set the energy capacity for Hardened Exchanger + #Range: > 1000 + hardenedExchangerMaxEnergy = 500000 + #Set the max range for Hardened Exchanger + #Range: 0 ~ 12 + hardenedExchangerMaxRange = 3 + #Set the energy consumption per block for Signalum Exchanger + #Range: > 1 + signalumExchangerPerBlockUse = 500 + #Set the max harvest level for Hardened Exchanger + #Range: > 0 + hardenedExchangerMaxHarvestLevel = 2 + #Set the max harvest level for Reinforced Exchanger + #Range: > 0 + reinforcedExchangerMaxHarvestLevel = 3 + #Set the max harvest level for Resonant Exchanger + #Range: > 0 + resonantExchangerMaxHarvestLevel = 4 + #Set the max harvest level for Signalum Exchanger + #Range: > 0 + signalumExchangerMaxHarvestLevel = 4 + #Set the energy capacity for Reinforced Exchanger + #Range: > 1000 + reinforcedExchangerMaxEnergy = 1000000 + #Set the energy consumption per block for Reinforced Exchanger + #Range: > 1 + reinforcedExchangerPerBlockUse = 250 + #Set the energy consumption per block for Leadstone Exchanger + #Range: > 1 + leadstoneExchangerPerBlockUse = 50 + #Set the energy consumption per block for Resonant Exchanger + #Range: > 1 + resonantExchangerPerBlockUse = 1500 + #Set the max harvest level for Leadstone Exchanger + #Range: > 0 + leadstoneExchangerMaxHarvestLevel = 1 + #Set the energy capacity for Resonant Exchanger + #Range: > 1000 + resonantExchangerMaxEnergy = 25000000 + #Set the max range for Resonant Exchanger + #Range: 0 ~ 12 + resonantExchangerMaxRange = 7 + #Set the max range for Signalum Exchanger + #Range: 0 ~ 12 + signalumExchangerMaxRange = 6 + #Set the energy capacity for Leadstone Exchanger + #Range: > 1000 + leadstoneExchangerMaxEnergy = 100000 + #Set the max range for Leadstone Exchanger + #Range: 0 ~ 12 + leadstoneExchangerMaxRange = 1 + #Set the energy capacity for Signalum Exchanger + #Range: > 1000 + signalumExchangerMaxEnergy = 10000000 + +[mekanism_tweaks] + #Set the energy capacity for Elite Exchanger + #Range: > 1000 + eliteExchangerMaxEnergy = 5000000 + #Set the max harvest level for Ultimate Exchanger + #Range: > 0 + ultimateExchangerMaxHarvestLevel = 4 + #Set the energy capacity for Basic Exchanger + #Range: > 1000 + basicExchangerMaxEnergy = 250000 + #Set the max range for Ultimate Exchanger + #Range: 0 ~ 12 + ultimateExchangerMaxRange = 7 + #Set the max harvest level for Advanced Exchanger + #Range: > 0 + advancedExchangerMaxHarvestLevel = 2 + #Set the energy consumption per block for Ultimate Exchanger + #Range: > 1 + ultimateExchangerPerBlockUse = 1000 + #Set the energy consumption per block for Advanced Exchanger + #Range: > 1 + advancedExchangerPerBlockUse = 150 + #Set the energy capacity for Ultimate Exchanger + #Range: > 1000 + ultimateExchangerMaxEnergy = 10000000 + #Set the energy consumption per block for Basic Exchanger + #Range: > 1 + basicExchangerPerBlockUse = 50 + #Set the energy capacity for Advanced Exchanger + #Range: > 1000 + advancedExchangerMaxEnergy = 1000000 + #Set the max range for Advanced Exchanger + #Range: 0 ~ 12 + advancedExchangerMaxRange = 5 + #Set the max range for Basic Exchanger + #Range: 0 ~ 12 + basicExchangerMaxRange = 3 + #Set the max harvest level for Elite Exchanger + #Range: > 0 + eliteExchangerMaxHarvestLevel = 3 + #Set the energy consumption per block for Elite Exchanger + #Range: > 1 + eliteExchangerPerBlockUse = 500 + #Set the max range for Elite Exchanger + #Range: 0 ~ 12 + eliteExchangerMaxRange = 6 + #Set the max harvest level for Basic Exchanger + #Range: > 0 + basicExchangerMaxHarvestLevel = 1 + +[immersive_engineering_tweaks] + #Set the energy consumption per block for LV Exchanger + #Range: > 1 + lvExchangerPerBlockUse = 50 + #Set the max harvest level for MV Exchanger + #Range: > 0 + mvExchangerMaxHarvestLevel = 3 + #Set the max harvest level for HV Exchanger + #Range: > 0 + hvExchangerMaxHarvestLevel = 4 + #Set the max range for LV Exchanger + #Range: 0 ~ 12 + lvExchangerMaxRange = 3 + #Set the energy consumption per block for MV Exchanger + #Range: > 1 + mvExchangerPerBlockUse = 250 + #Set the max range for HV Exchanger + #Range: 0 ~ 12 + hvExchangerMaxRange = 7 + #Set the max range for MV Exchanger + #Range: 0 ~ 12 + mvExchangerMaxRange = 5 + #Set the energy consumption per block for HV Exchanger + #Range: > 1 + hvExchangerPerBlockUse = 500 + #Set the max harvest level for LV Exchanger + #Range: > 0 + lvExchangerMaxHarvestLevel = 2 + #Set the energy capacity for MV Exchanger + #Range: > 1000 + mvExchangerMaxEnergy = 500000 + #Set the energy capacity for LV Exchanger + #Range: > 1000 + lvExchangerMaxEnergy = 100000 + #Set the energy capacity for HV Exchanger + #Range: > 1000 + hvExchangerMaxEnergy = 2500000 + +[recipe_tweaks] + #Set the recipes type for Immersive Engineering-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + immersiveEngineeringRecipesType = "normal" + #Set the recipes type for Ender IO-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + enderIORecipesType = "normal" + #Set the recipes type for Mekanism-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + mekanismRecipesType = "normal" + #Set the recipes type for Thermal Series-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + thermalRecipesType = "normal" + #Set the recipes type for Ender IO Endergy-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + enderIOEndergyRecipesType = "normal" + #Set the recipes type for Vanilla-based exchangers: + #'easy' Easy recipes, non-progressive, lowest recipe costs. + #'normal' Normal recipes, progressive, moderate recipe costs. + #'hard' Hard recipes, progressive, expensive recipe costs. + vanillaRecipesType = "normal" + +[misc] + #Certain blocks might be blacklisted by Exchangers if they're Tile Entities. + #Put a list of block registry names that you wish to be whitelisted from Exchangers. + #Separate each entry with semicolon. + #(e.g. "tconstruct:seared;thermal:energy_cell;minecraft:conduit") + blocksWhitelist = "tconstruct:seared" + #If true, allows the Holding Enchantment from CoFH Core to be used on Powered Exchangers + #Calculation formula: Base Energy + (Base Energy * Enchantment Level / 2) + holdingEnchantment = true + #If true, allows Unbreaking Enchantment to affect Powered Exchangers + unbreakingPoweredExchangers = true + #Put a list of block registry names that you wish to be blacklisted from Exchangers. + #Note: Blacklisting a block will prevent it from being selected or being exchanged. + #Separate each entry with semicolon. + #(e.g. "minecraft:grass;minecraft:cake;minecraft:dragon_egg") + blocksBlacklist = "" + #If true, enables Silk Touch (gets the blocks itself rather than drops) on all Exchangers + doExchangersSilkTouch = true + #Set the energy unit shown on Powered Exchangers: + #'FE' Forge Energy + #'RF' Redstone Flux + energyUnit = "FE" + diff --git a/src/overrides/config/MouseTweaks.cfg b/src/overrides/config/MouseTweaks.cfg new file mode 100644 index 0000000..81190ac --- /dev/null +++ b/src/overrides/config/MouseTweaks.cfg @@ -0,0 +1,8 @@ +RMBTweak=1 +LMBTweakWithItem=1 +LMBTweakWithoutItem=1 +WheelTweak=1 +WheelSearchOrder=1 +WheelScrollDirection=0 +ScrollItemScaling=0 +Debug=0 diff --git a/src/overrides/config/PregenConfig.toml b/src/overrides/config/PregenConfig.toml new file mode 100644 index 0000000..c5a7b1a --- /dev/null +++ b/src/overrides/config/PregenConfig.toml @@ -0,0 +1,52 @@ + +[general] + #Defines if the SyncChunkWrite config should be not forcefully set to false. Note: SyncChunkWrite "May" Prevent data corruption. Though this was only enabled since 1.16 before it was always disabled. Downside of this is that HDDs/SSDs during pregen are at 100% usage ALL the time instead of less then 5%. This can lead to hardware failure much much much much more quickly. This is why the override is enabled by default + "Disable ChunkSyncOverride" = false + #Defines if the Profiler should run in the background or not + enable-profiler = false + #Changes the World Generator to process Multiple chunks at the same time (Multithreading) to use more resources if present, may cause crashes with mods + Multithread-Hack = false + #Defines how many milliseconds the Chunk Deleter gets per tick + #Range: 1 ~ 1000 + "Deletion Time" = 10 + #Defines how many Dimensions can be generated at the same time, this is due to thread limitations mcs worldgen has. 0 => Single Dimension, 1 => Up to 3 dimensions (Ensures each dimension has at least 2 threads), 2 => Up to 5 Dimensions (Dimensions will fight over CPU Threads due to limitations) + #Range: 0 ~ 2 + "Threading Rule" = 2 + #Defines if the pregenerator should automatically restart on server start. Automatically set to true when a task is running, and automatically set to false if no task is running + auto-restart = false + #Defines if the Improved Command Arguments should be used on Command Creation. If enabled mod is required on client + "Advanced Command Arguments" = true + #Defines how many Players have to be online for the Processor to Auto Pause, -1 = Disabled. It is Inclusive 2 = Allows 1 Player + #Range: > -1 + "Player Limit" = -1 + +[client] + + [client.pregen-overlay] + #Defines the Horizontal Alignment of the UI, left to right + #Allowed Values: START, CENTER, END + horizontal-alignment = "START" + #Defines if the Pregen Overlay should be enabled + pregen-overlay = true + #Defines the Vertical Alignment of the UI, top to bottom + #Allowed Values: START, CENTER, END + vertical-alignment = "START" + #Defines the Scale of the Overlay + #Range: 0.1 ~ 10.0 + scale = 1.0 + + [client.profiler-overlay] + #Defines the Horizontal Alignment of the UI, left to right + #Allowed Values: START, CENTER, END + horizontal-alignment = "START" + #Reference to save which dimension is currently detailed + detailed-dimension = "minecraft:overworld" + #Defines if the Profiler Overlay should be enabled + profiler-overlay = true + #Defines the Vertical Alignment of the UI, top to bottom + #Allowed Values: START, CENTER, END + vertical-alignment = "START" + #Defines the Scale of the Overlay + #Range: 0.1 ~ 10.0 + scale = 1.0 + diff --git a/src/overrides/config/ProjectRed.cfg b/src/overrides/config/ProjectRed.cfg new file mode 100644 index 0000000..aa6a197 --- /dev/null +++ b/src/overrides/config/ProjectRed.cfg @@ -0,0 +1,107 @@ +# Contains basic settings for the mod. +"General Settings" { + # If set to false, logic gates will not make sounds. + B:"Logic Sounds"=true + + # Minimum amount of ticks the timer gates can be set to. Cannot be lower than 4. + I:"Minimum Timer Ticks"=4 + + # If set to true, sticks will be used instead of wood strips in framed wire recipes. + B:"Simple Framed Wire Recipe"=false + + # If set to true, the basic screwdriver will not take damage. + B:"Unbreakable Screwdriver"=false + + # Max number of pipes to explore when connecting to other routers. + I:"Routed Pipes: Max Detection Count"=100 + + # Ticks between router searches. + I:"Routed Pipes: Detection Frequency"=40 + + # Number of active route table update threads. + I:"Routed Pipes: Update Threads"=4 + + # Maximum distance an item may aimlessly wander in a pipe before being erased. 0 for unlimited. + I:"Routed Pipes: Max Wander Distance"=0 + + # If set to false, logic gates will not emit light. + B:"Logic Gate Lights"=true +} + +# Contains settings related to machines and devices. +"Machine Settings" { + # Allow the Diamond Block Breaker to be crafted. + B:"Enable the Diamond Block Breaker"=false +} + +# Contains settings related to how things render in-game. +"Render Settings" { + # If set to false, flat wire textures will be used for logic gates. Significant performance improvement. + B:"3D Logic Wires"=true + + # If set to false, wires will be rendered in the TESR rather than the WorldRenderer. + B:"Static Wires"=true + + # If set to false, gates will be rendered in the TESR rather than the WorldRenderer. + B:"Static Gates"=true + + # Number of lights to render, -1 for unlimited + I:"Light Halo Render Count"=-1 + + # If set to false, routed pipes will not render routing fx such as bubbles and lasers. + B:"Routed Pipe FX"=true +} + +# Contains settings related to world gen. You can enable/disable each ore or strucure, change retro generation settings, and increase how rare something is by increasing the resistance value. +"World Gen" { + # + B:"Ruby Ore"=true + + # + B:"Sapphire Ore"=true + + # + B:"Peridot Ore"=true + + # + B:"Marble Caves"=true + + # + B:"Copper Ore"=true + + # + B:"Tin Ore"=true + + # + B:"Silver Ore"=true + + # + B:"Electrotine Ore"=true + + # + I:"Ruby Ore vein size"=8 + + # + I:"Sapphire Ore vein size"=8 + + # + I:"Peridot Ore vein size"=10 + + # + I:"Copper Ore vein size"=8 + + # + I:"Tin Ore vein size"=8 + + # + I:"Silver Ore vein size"=9 + + # + I:"Electrotine Ore vein size"=8 +} + +# Control the loading of various compatibility hooks. These settings are ignored unless the Compatibility module is installed. +"Compatibility" { + # This allows computers to connect to bundled cables with the RS API. + B:"ComputerCraft: Bundled Cables"=true +} diff --git a/src/overrides/config/abnormals_core-client.toml b/src/overrides/config/abnormals_core-client.toml new file mode 100644 index 0000000..6bd521c --- /dev/null +++ b/src/overrides/config/abnormals_core-client.toml @@ -0,0 +1,23 @@ + +#Client only settings for Abnormals Core. +[client] + #Scale for screen shake effects; Default: 1.0 + #Range: 0.0 ~ 1.0 + screenShakeScale = 1.0 + #If sky color transition should be smooth; Default: True + smoothSkyColor = true + #Max amount of sources that can contribute to screen shaking, adjustable for performance and preference reasons. 0 will disable the addition of shake sources; Default: 256 + #Range: > 0 + maxScreenShakers = 256 + + #Slabfish patron hat settings. + [client.slabfishSettings] + #If the slabfish hat's custom type should be enabled. If false, the default swamp slabfish appears; Default: True + typeEnabled = true + #If the slabfish hat's backpack should be enabled; Default: True + backpackEnabled = true + #If the slabfish hat's sweater should be enabled; Default: True + sweaterEnabled = true + #If the slabfish hat should be enabled; Default: True + enabled = true + diff --git a/src/overrides/config/abnormals_core-common.toml b/src/overrides/config/abnormals_core-common.toml new file mode 100644 index 0000000..a0c9c1c --- /dev/null +++ b/src/overrides/config/abnormals_core-common.toml @@ -0,0 +1,14 @@ + +#Common only settings for Abnormals Core, this will affect all depending mods +[common] + + #Compatibility with Quark's poisonous potatoes feature + [common.poisonousPotatoCompat] + #If growth stunting should give baby mobs poison; Default: True + poisonEffect = true + #The chance to stunt baby mob growth when feeding a poisonous potato; Default: 0.1 + #Range: 0.0 ~ 1.0 + poisonChance = 0.1 + #If baby mobs can be fed a poisonous potato to stunt their growth when Quark is installed; Default: True + poisonPotatoCompatEnabled = true + diff --git a/src/overrides/config/advRocketry/asteroidConfig.xml b/src/overrides/config/advRocketry/asteroidConfig.xml new file mode 100644 index 0000000..e05dd1a --- /dev/null +++ b/src/overrides/config/advRocketry/asteroidConfig.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/overrides/config/advRocketry/oreConfig.xml b/src/overrides/config/advRocketry/oreConfig.xml new file mode 100644 index 0000000..f55baa7 --- /dev/null +++ b/src/overrides/config/advRocketry/oreConfig.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/overrides/config/advRocketry/planetDefs.xml b/src/overrides/config/advRocketry/planetDefs.xml new file mode 100644 index 0000000..8a9a0e1 --- /dev/null +++ b/src/overrides/config/advRocketry/planetDefs.xml @@ -0,0 +1,49 @@ + + + + + true + 1.0,1.0,1.0 + 1.0,1.0,1.0 + 100 + 100 + -180 + 0 + false + 0.9995093734316032 + 1.308 + 287 + 24000 + 100 + false + false + false + false + + true + 1.0,1.0,1.0 + 1.0,1.0,1.0 + 16 + 75 + -180 + 0 + false + 0.5813333333333334 + 0.5813333333333334 + 208 + 128000 + 0 + true + false + false + false + 1.0 + minecraft:moon + minecraft:water + minecraft:stone + + minecraft:water + minecraft:stone + + + diff --git a/src/overrides/config/advancedRocketry-1.toml.bak b/src/overrides/config/advancedRocketry-1.toml.bak new file mode 100644 index 0000000..36756ab --- /dev/null +++ b/src/overrides/config/advancedRocketry-1.toml.bak @@ -0,0 +1,225 @@ + +[General] + #Maximum gravity the crystallizer can work at. 0 to disable! + crystalliserMaximumGravity = 0 + #Multiplier for the build speed of the Rocket Builder (0.5 is twice as fast 2 is half as fast + buildSpeedMultiplier = 1.0 + #Multiplier for the amount of fluid this tank can hold + blockTankCapacity = 1.0 + #If true, the boots only protect the player on planets with low gravity + lowGravityBoots = false + #Amount of force the jetpack provides with respect to gravity + jetPackForce = 1.3 + #If false, the gravity controller cannot be built or used + enableGravityMachine = true + #Should the cutting machine be able to cut vanilla wood into planks + sawMillCutVanillaWood = true + #If true, the machines from AdvancedRocketry will produce things like plates/rods for other mods even if Advanced Rocketry itself does not use the material (This can increase load time) + makeMaterialsForOtherMods = true + +["Orbital Laser Drill"] + #Power multiplier for the laser drill machine + LaserDrillPowerMultiplier = 1.0 + #List of oredictionary names of ores allowed to be mined by the laser drill if surface drilling is disabled. Ores can be specified by just the oreName: or by ::: where size is optional + laserDrillOres = ["oreIron", "oreGold", "oreCopper", "oreTin", "oreRedstone", "oreDiamond"] + #Laser drill will not mine these dimension + spaceLaserDimIdBlackList = [] + #Enables the laser drill machine + EnableLaserDrill = true + #If true, the orbital laser will actually mine blocks on the planet below + laserDrillPlanet = false + #True if the ores in laserDrillOres should be a blacklist, false for a whitelist + laserDrillOres_blacklist = false + +[Terraforming] + TerraformerRequiresFluids = true + #how many millibuckets/t are required to keep the terraformer running + TerraformerFluidConsumeRate = 40 + #If true, dimensions not added by AR can be terraformed + allowTerraformingNonARWorlds = false + #Enables terraforming items and blocks + EnableTerraforming = true + #EXPERIMENTAL: If set to true allows contruction and usage of the terraformer. This is known to cause strange world generation after successful terraform + allowTerraforming = false + #Max number of blocks allowed to be changed per tick + terraformBlockPerTick = 1 + #Multplier for atmosphere change speed + terraformMult = 1.0 + #How many blocks have the biome changed per tick. Large numbers can slow the server down + biomeUpdateSpeed = 1 + +[Oxygen] + #Power consumption multiplier for the oxygen vent + OxygenVentPowerMultiplier = 1.0 + #list entities which should not be affected by atmosphere properties + entityAtmBypass = [] + #If true, the Oxygen scrubbers require a consumable carbon collection cartridge + scrubberRequiresCartrige = true + #Multiplier for the amount of fluid this tank can hold + suitTankMultiplier = 1.0 + #If true, Galacticcraft's air will be disabled entirely requiring use of Advanced Rocketry's Oxygen system on GC planets + OverrideGCAir = true + #Blocks that are not automatically detected as sealable but should seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockWhiteList = [] + #Maximum time in minutes that the spacesuit's internal buffer can store O2 for + spaceSuitO2Buffer = 30 + #Blocks that are automatically detected as sealable but should not seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockBlackList = [] + #If true, allows players being hurt due to lack of oxygen and allows effects from non-standard atmosphere types + EnableAtmosphericEffects = true + #Multiplier on how much O2 an oxygen vent consumes per tick + oxygenVentConsumptionMultiplier = 1.0 + #If true, breaking an extinguished torch will drop an extinguished torch instead of a vanilla torch + dropExtinguishedTorches = false + #Amount of damage inflicted with each tick on an entity in a vacuum + #Range: 0 ~ 100 + vacuumDamage = 1 + +[Stations] + #Multiplier for warp travel time + warpTravelTime = 1.0 + #The largest size a space station can be. Should also be a power of 2 (512) + SpaceStationBuildRadius = 1024 + #If true, players will be able to completely disable gravity on spacestation. It's possible to get stuck and require a teleport + allowZeroGSpacestations = false + #Dimension ID to use for space stations, changing this could really break things! + spaceStationId = "advancedrocketry:space" + #How many units of fuel should each Dilithium Crystal give to warp ships + pointsPerDilithium = 500 + +["Resource Collection Missions"] + #Multiplier for the amount of time gas collection missions take + gasMissionMultiplier = 1.0 + #list of fluid names that can be harvested as Gas + harvestableGasses = [] + #Multiplier changing how long a mining mission takes + miningMissionTmeMultiplier = 1.0 + +[Energy] + #Multiplier for the amount of power per tick the black hole generator should produce + blackHoleGeneratorMultiplier = 1.0 + #Amount of power per tick the solar generator should produce + solarGeneratorMultiplier = 1 + #Multiplier for the amount of energy produced by the microwave reciever + MicrowaveRecieverMultiplier = 1.0 + #minecraft:dirt;1 + blackHoleTimings = ["minecraft:stone;1", "minecraft:dirt;1", "minecraft:netherrack;1", "minecraft:cobblestone;1"] + #List of blocks and the amount of ticks they can power the black hole generator format: 'modname:block:meta;number_of_ticks' + defaultBurnTime = 500 + +[Planets] + #If true, planets must be discovered in the warp controller before being visible + planetsMustBeDiscovered = false + #Prevents any vanilla biomes from spawning on planets + blackListVanillaBiomes = false + #Maximum unique biomes per planet + maxBiomesPerPlanet = 5 + #If true, players will respawn near beds on planets IF the spawn location is in a breathable atmosphere + allowPlanetRespawn = false + #setting this to true will force AR to read from the XML file in the config/advRocketry instead of the local data, intended for use pack developers to ensure updates are pushed through + resetPlanetsFromXML = true + #If true, players will respawn near beds on planets REGARDLESS of the spawn location being in a non-breathable atmosphere. Requires 'allowPlanetRespawn' being true. + forcePlanetRespawn = false + #Chance of planet discovery in the warp ship monitor is not all planets are initially discovered + planetDiscoveryChance = 5 + +[Client] + #If true, AR will use a custom skybox on planets + PlanetSkyOverride = true + #Advanced visual effects + advancedVFX = true + #If UI is not locked, the middle mouse can be used to drag certain AR UIs around the screen, positions are saved on hitting quit in the menu + lockUI = true + #If true, AR will use a custom skybox on space stations + StationSkyOverride = true + #If true, allows players to experience nausea on non-standard atmosphere types + EnableAtmosphericNausea = true + +[Performance] + #BitMask: 0: no threading, radius based; 1: threading, radius based; 2: no threading volume based; 3: threading volume based + atmosphereCalculationMethod = 3 + #Radius of the O2 vent. if atmosphereCalculationMethod is 2 or 3 then max volume is calculated from this radius. WARNING: larger numbers can lead to lag + oxygenVentSize = 32 + +[Rockets] + #Set to false if rockets should not damage blocks + rocketsDamageBlocks = false + #If true, rockets will be able to actually fly around space + experimentalSpaceFlight = false + #TBI multiplier for asteroid flights + asteroidTBIBurnMult = 1.0 + #List of fluid names for fluids that can be used as rocket bipropellant oxidizers + rocketBipropellants = ["oxygen"] + #How high the rocket has to go before it reaches station clearance + #Range: > 255 + stationClearanceHeight = 1000 + #How long transbody injection is before the rocket can exit + transBodyInjection = 0 + #TBI multiplier for warp flights + warpTBIBurnMult = 10.0 + #Multiplier for per-tank capacity + fuelCapacityMultiplier = 1.0 + #Mod:Blockname for example "minecraft:chest" + rocketBlockBlackList = ["minecraft:portal", "minecraft:bedrock", "minecraft:snow_layer", "minecraft:flowing_water", "minecraft:lava", "minecraft:flowing_lava"] + #Multiplier for per-engine thrust + thrustMultiplier = 1.5 + #If true, planets with higher gravity require more fuel and lower gravity would require less + gravityAffectsFuels = true + #Set to false if rockets should not be able to be fueled by and and will require a fueling station + canBeFueledByHand = false + #How high the rocket has to go before it reaches orbit + #Range: > 255 + OrbitHeight = 1000 + #List of fluid names for fluids that can be used as rocket monopropellants + rocketFuels = ["thermal:refined_fuel;2"] + #Set to false if rockets should not require fuel to fly + rocketsRequireFuel = true + #Setting to false will disable the retrorockets that fire automatically on reentry on both player and automated rockets + autoRetroRockets = true + +["World Generation"] + #True if the ores in geodeOres should be a blacklist + geodeOres_blacklist = false + #average size of the geodes + geodeBaseSize = 36 + GenerateTin = false + TinPerChunk = 10 + AluminumPerClump = 16 + #If true, then low pressure planets will have meteor craters. Note: setting this option to false overrides 'generageCraters' in the planetDefs.xml + generateCraters = true + generateDilithium = false + #List of block names of blocks (usally ores) allowed to spawn in geodes + geodeOres = ["minecraft:iron_ore", "minecraft:gold_ore", "libvulpes:orecopper", "libvulpes:oretin", "minecraft:redstone_ore"] + RutilePerChunk = 6 + DilithiumPerChunkLuna = 10 + EnableOreGen = false + DilithiumPerClump = 16 + IridiumPerChunk = 1 + CopperPerChunk = 10 + #Should Electric Mushrooms be able to spawn lightning + electricPlantsSpawnLightning = true + generateIridium = false + #If true, then ore-containing geodes are generated on high pressure planets + generateGeodes = true + AluminumPerChunk = 1 + #Enable to allow structures like villages and mineshafts to generate on planets with a breathable atmosphere. Note, setting this to false will override 'generateStructures' in the planetDefs.xml + generateVanillaStructures = false + #Biomes that only spawn on worlds with pressures over 125, will override blacklist. + HighPressureBiomes = [] + GenerateCopper = false + #List of Biomes to be blacklisted from spawning as BiomeIds, default is: river, sky, hell, void, alienForest + BlacklistedBiomes = ["minecraft:river", "minecraft:the_end", "minecraft:badlands", "minecraft:the_void"] + RutilePerClump = 6 + #variation in geode size + geodeVariation = 24 + #Some worlds have a chance of spawning single biomes contained in this list. + SingleBiomes = ["minecraft:desert_hills", "minecraft:mushroom_fields", "minecraft:tall_birch_hills", "minecraft:ice_spikes"] + #If true, then very hot planets planets will volcanos. Note: setting this option to false overrides 'generateVolcanos' in the planetDefs.xml + generateVolcanos = false + DilithiumPerChunk = 1 + IridiumPerClump = 16 + generateAluminum = false + TinPerClump = 6 + GenerateRutile = false + CopperPerClump = 6 + diff --git a/src/overrides/config/advancedRocketry-2.toml.bak b/src/overrides/config/advancedRocketry-2.toml.bak new file mode 100644 index 0000000..36756ab --- /dev/null +++ b/src/overrides/config/advancedRocketry-2.toml.bak @@ -0,0 +1,225 @@ + +[General] + #Maximum gravity the crystallizer can work at. 0 to disable! + crystalliserMaximumGravity = 0 + #Multiplier for the build speed of the Rocket Builder (0.5 is twice as fast 2 is half as fast + buildSpeedMultiplier = 1.0 + #Multiplier for the amount of fluid this tank can hold + blockTankCapacity = 1.0 + #If true, the boots only protect the player on planets with low gravity + lowGravityBoots = false + #Amount of force the jetpack provides with respect to gravity + jetPackForce = 1.3 + #If false, the gravity controller cannot be built or used + enableGravityMachine = true + #Should the cutting machine be able to cut vanilla wood into planks + sawMillCutVanillaWood = true + #If true, the machines from AdvancedRocketry will produce things like plates/rods for other mods even if Advanced Rocketry itself does not use the material (This can increase load time) + makeMaterialsForOtherMods = true + +["Orbital Laser Drill"] + #Power multiplier for the laser drill machine + LaserDrillPowerMultiplier = 1.0 + #List of oredictionary names of ores allowed to be mined by the laser drill if surface drilling is disabled. Ores can be specified by just the oreName: or by ::: where size is optional + laserDrillOres = ["oreIron", "oreGold", "oreCopper", "oreTin", "oreRedstone", "oreDiamond"] + #Laser drill will not mine these dimension + spaceLaserDimIdBlackList = [] + #Enables the laser drill machine + EnableLaserDrill = true + #If true, the orbital laser will actually mine blocks on the planet below + laserDrillPlanet = false + #True if the ores in laserDrillOres should be a blacklist, false for a whitelist + laserDrillOres_blacklist = false + +[Terraforming] + TerraformerRequiresFluids = true + #how many millibuckets/t are required to keep the terraformer running + TerraformerFluidConsumeRate = 40 + #If true, dimensions not added by AR can be terraformed + allowTerraformingNonARWorlds = false + #Enables terraforming items and blocks + EnableTerraforming = true + #EXPERIMENTAL: If set to true allows contruction and usage of the terraformer. This is known to cause strange world generation after successful terraform + allowTerraforming = false + #Max number of blocks allowed to be changed per tick + terraformBlockPerTick = 1 + #Multplier for atmosphere change speed + terraformMult = 1.0 + #How many blocks have the biome changed per tick. Large numbers can slow the server down + biomeUpdateSpeed = 1 + +[Oxygen] + #Power consumption multiplier for the oxygen vent + OxygenVentPowerMultiplier = 1.0 + #list entities which should not be affected by atmosphere properties + entityAtmBypass = [] + #If true, the Oxygen scrubbers require a consumable carbon collection cartridge + scrubberRequiresCartrige = true + #Multiplier for the amount of fluid this tank can hold + suitTankMultiplier = 1.0 + #If true, Galacticcraft's air will be disabled entirely requiring use of Advanced Rocketry's Oxygen system on GC planets + OverrideGCAir = true + #Blocks that are not automatically detected as sealable but should seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockWhiteList = [] + #Maximum time in minutes that the spacesuit's internal buffer can store O2 for + spaceSuitO2Buffer = 30 + #Blocks that are automatically detected as sealable but should not seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockBlackList = [] + #If true, allows players being hurt due to lack of oxygen and allows effects from non-standard atmosphere types + EnableAtmosphericEffects = true + #Multiplier on how much O2 an oxygen vent consumes per tick + oxygenVentConsumptionMultiplier = 1.0 + #If true, breaking an extinguished torch will drop an extinguished torch instead of a vanilla torch + dropExtinguishedTorches = false + #Amount of damage inflicted with each tick on an entity in a vacuum + #Range: 0 ~ 100 + vacuumDamage = 1 + +[Stations] + #Multiplier for warp travel time + warpTravelTime = 1.0 + #The largest size a space station can be. Should also be a power of 2 (512) + SpaceStationBuildRadius = 1024 + #If true, players will be able to completely disable gravity on spacestation. It's possible to get stuck and require a teleport + allowZeroGSpacestations = false + #Dimension ID to use for space stations, changing this could really break things! + spaceStationId = "advancedrocketry:space" + #How many units of fuel should each Dilithium Crystal give to warp ships + pointsPerDilithium = 500 + +["Resource Collection Missions"] + #Multiplier for the amount of time gas collection missions take + gasMissionMultiplier = 1.0 + #list of fluid names that can be harvested as Gas + harvestableGasses = [] + #Multiplier changing how long a mining mission takes + miningMissionTmeMultiplier = 1.0 + +[Energy] + #Multiplier for the amount of power per tick the black hole generator should produce + blackHoleGeneratorMultiplier = 1.0 + #Amount of power per tick the solar generator should produce + solarGeneratorMultiplier = 1 + #Multiplier for the amount of energy produced by the microwave reciever + MicrowaveRecieverMultiplier = 1.0 + #minecraft:dirt;1 + blackHoleTimings = ["minecraft:stone;1", "minecraft:dirt;1", "minecraft:netherrack;1", "minecraft:cobblestone;1"] + #List of blocks and the amount of ticks they can power the black hole generator format: 'modname:block:meta;number_of_ticks' + defaultBurnTime = 500 + +[Planets] + #If true, planets must be discovered in the warp controller before being visible + planetsMustBeDiscovered = false + #Prevents any vanilla biomes from spawning on planets + blackListVanillaBiomes = false + #Maximum unique biomes per planet + maxBiomesPerPlanet = 5 + #If true, players will respawn near beds on planets IF the spawn location is in a breathable atmosphere + allowPlanetRespawn = false + #setting this to true will force AR to read from the XML file in the config/advRocketry instead of the local data, intended for use pack developers to ensure updates are pushed through + resetPlanetsFromXML = true + #If true, players will respawn near beds on planets REGARDLESS of the spawn location being in a non-breathable atmosphere. Requires 'allowPlanetRespawn' being true. + forcePlanetRespawn = false + #Chance of planet discovery in the warp ship monitor is not all planets are initially discovered + planetDiscoveryChance = 5 + +[Client] + #If true, AR will use a custom skybox on planets + PlanetSkyOverride = true + #Advanced visual effects + advancedVFX = true + #If UI is not locked, the middle mouse can be used to drag certain AR UIs around the screen, positions are saved on hitting quit in the menu + lockUI = true + #If true, AR will use a custom skybox on space stations + StationSkyOverride = true + #If true, allows players to experience nausea on non-standard atmosphere types + EnableAtmosphericNausea = true + +[Performance] + #BitMask: 0: no threading, radius based; 1: threading, radius based; 2: no threading volume based; 3: threading volume based + atmosphereCalculationMethod = 3 + #Radius of the O2 vent. if atmosphereCalculationMethod is 2 or 3 then max volume is calculated from this radius. WARNING: larger numbers can lead to lag + oxygenVentSize = 32 + +[Rockets] + #Set to false if rockets should not damage blocks + rocketsDamageBlocks = false + #If true, rockets will be able to actually fly around space + experimentalSpaceFlight = false + #TBI multiplier for asteroid flights + asteroidTBIBurnMult = 1.0 + #List of fluid names for fluids that can be used as rocket bipropellant oxidizers + rocketBipropellants = ["oxygen"] + #How high the rocket has to go before it reaches station clearance + #Range: > 255 + stationClearanceHeight = 1000 + #How long transbody injection is before the rocket can exit + transBodyInjection = 0 + #TBI multiplier for warp flights + warpTBIBurnMult = 10.0 + #Multiplier for per-tank capacity + fuelCapacityMultiplier = 1.0 + #Mod:Blockname for example "minecraft:chest" + rocketBlockBlackList = ["minecraft:portal", "minecraft:bedrock", "minecraft:snow_layer", "minecraft:flowing_water", "minecraft:lava", "minecraft:flowing_lava"] + #Multiplier for per-engine thrust + thrustMultiplier = 1.5 + #If true, planets with higher gravity require more fuel and lower gravity would require less + gravityAffectsFuels = true + #Set to false if rockets should not be able to be fueled by and and will require a fueling station + canBeFueledByHand = false + #How high the rocket has to go before it reaches orbit + #Range: > 255 + OrbitHeight = 1000 + #List of fluid names for fluids that can be used as rocket monopropellants + rocketFuels = ["thermal:refined_fuel;2"] + #Set to false if rockets should not require fuel to fly + rocketsRequireFuel = true + #Setting to false will disable the retrorockets that fire automatically on reentry on both player and automated rockets + autoRetroRockets = true + +["World Generation"] + #True if the ores in geodeOres should be a blacklist + geodeOres_blacklist = false + #average size of the geodes + geodeBaseSize = 36 + GenerateTin = false + TinPerChunk = 10 + AluminumPerClump = 16 + #If true, then low pressure planets will have meteor craters. Note: setting this option to false overrides 'generageCraters' in the planetDefs.xml + generateCraters = true + generateDilithium = false + #List of block names of blocks (usally ores) allowed to spawn in geodes + geodeOres = ["minecraft:iron_ore", "minecraft:gold_ore", "libvulpes:orecopper", "libvulpes:oretin", "minecraft:redstone_ore"] + RutilePerChunk = 6 + DilithiumPerChunkLuna = 10 + EnableOreGen = false + DilithiumPerClump = 16 + IridiumPerChunk = 1 + CopperPerChunk = 10 + #Should Electric Mushrooms be able to spawn lightning + electricPlantsSpawnLightning = true + generateIridium = false + #If true, then ore-containing geodes are generated on high pressure planets + generateGeodes = true + AluminumPerChunk = 1 + #Enable to allow structures like villages and mineshafts to generate on planets with a breathable atmosphere. Note, setting this to false will override 'generateStructures' in the planetDefs.xml + generateVanillaStructures = false + #Biomes that only spawn on worlds with pressures over 125, will override blacklist. + HighPressureBiomes = [] + GenerateCopper = false + #List of Biomes to be blacklisted from spawning as BiomeIds, default is: river, sky, hell, void, alienForest + BlacklistedBiomes = ["minecraft:river", "minecraft:the_end", "minecraft:badlands", "minecraft:the_void"] + RutilePerClump = 6 + #variation in geode size + geodeVariation = 24 + #Some worlds have a chance of spawning single biomes contained in this list. + SingleBiomes = ["minecraft:desert_hills", "minecraft:mushroom_fields", "minecraft:tall_birch_hills", "minecraft:ice_spikes"] + #If true, then very hot planets planets will volcanos. Note: setting this option to false overrides 'generateVolcanos' in the planetDefs.xml + generateVolcanos = false + DilithiumPerChunk = 1 + IridiumPerClump = 16 + generateAluminum = false + TinPerClump = 6 + GenerateRutile = false + CopperPerClump = 6 + diff --git a/src/overrides/config/advancedRocketry-3.toml.bak b/src/overrides/config/advancedRocketry-3.toml.bak new file mode 100644 index 0000000..36756ab --- /dev/null +++ b/src/overrides/config/advancedRocketry-3.toml.bak @@ -0,0 +1,225 @@ + +[General] + #Maximum gravity the crystallizer can work at. 0 to disable! + crystalliserMaximumGravity = 0 + #Multiplier for the build speed of the Rocket Builder (0.5 is twice as fast 2 is half as fast + buildSpeedMultiplier = 1.0 + #Multiplier for the amount of fluid this tank can hold + blockTankCapacity = 1.0 + #If true, the boots only protect the player on planets with low gravity + lowGravityBoots = false + #Amount of force the jetpack provides with respect to gravity + jetPackForce = 1.3 + #If false, the gravity controller cannot be built or used + enableGravityMachine = true + #Should the cutting machine be able to cut vanilla wood into planks + sawMillCutVanillaWood = true + #If true, the machines from AdvancedRocketry will produce things like plates/rods for other mods even if Advanced Rocketry itself does not use the material (This can increase load time) + makeMaterialsForOtherMods = true + +["Orbital Laser Drill"] + #Power multiplier for the laser drill machine + LaserDrillPowerMultiplier = 1.0 + #List of oredictionary names of ores allowed to be mined by the laser drill if surface drilling is disabled. Ores can be specified by just the oreName: or by ::: where size is optional + laserDrillOres = ["oreIron", "oreGold", "oreCopper", "oreTin", "oreRedstone", "oreDiamond"] + #Laser drill will not mine these dimension + spaceLaserDimIdBlackList = [] + #Enables the laser drill machine + EnableLaserDrill = true + #If true, the orbital laser will actually mine blocks on the planet below + laserDrillPlanet = false + #True if the ores in laserDrillOres should be a blacklist, false for a whitelist + laserDrillOres_blacklist = false + +[Terraforming] + TerraformerRequiresFluids = true + #how many millibuckets/t are required to keep the terraformer running + TerraformerFluidConsumeRate = 40 + #If true, dimensions not added by AR can be terraformed + allowTerraformingNonARWorlds = false + #Enables terraforming items and blocks + EnableTerraforming = true + #EXPERIMENTAL: If set to true allows contruction and usage of the terraformer. This is known to cause strange world generation after successful terraform + allowTerraforming = false + #Max number of blocks allowed to be changed per tick + terraformBlockPerTick = 1 + #Multplier for atmosphere change speed + terraformMult = 1.0 + #How many blocks have the biome changed per tick. Large numbers can slow the server down + biomeUpdateSpeed = 1 + +[Oxygen] + #Power consumption multiplier for the oxygen vent + OxygenVentPowerMultiplier = 1.0 + #list entities which should not be affected by atmosphere properties + entityAtmBypass = [] + #If true, the Oxygen scrubbers require a consumable carbon collection cartridge + scrubberRequiresCartrige = true + #Multiplier for the amount of fluid this tank can hold + suitTankMultiplier = 1.0 + #If true, Galacticcraft's air will be disabled entirely requiring use of Advanced Rocketry's Oxygen system on GC planets + OverrideGCAir = true + #Blocks that are not automatically detected as sealable but should seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockWhiteList = [] + #Maximum time in minutes that the spacesuit's internal buffer can store O2 for + spaceSuitO2Buffer = 30 + #Blocks that are automatically detected as sealable but should not seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockBlackList = [] + #If true, allows players being hurt due to lack of oxygen and allows effects from non-standard atmosphere types + EnableAtmosphericEffects = true + #Multiplier on how much O2 an oxygen vent consumes per tick + oxygenVentConsumptionMultiplier = 1.0 + #If true, breaking an extinguished torch will drop an extinguished torch instead of a vanilla torch + dropExtinguishedTorches = false + #Amount of damage inflicted with each tick on an entity in a vacuum + #Range: 0 ~ 100 + vacuumDamage = 1 + +[Stations] + #Multiplier for warp travel time + warpTravelTime = 1.0 + #The largest size a space station can be. Should also be a power of 2 (512) + SpaceStationBuildRadius = 1024 + #If true, players will be able to completely disable gravity on spacestation. It's possible to get stuck and require a teleport + allowZeroGSpacestations = false + #Dimension ID to use for space stations, changing this could really break things! + spaceStationId = "advancedrocketry:space" + #How many units of fuel should each Dilithium Crystal give to warp ships + pointsPerDilithium = 500 + +["Resource Collection Missions"] + #Multiplier for the amount of time gas collection missions take + gasMissionMultiplier = 1.0 + #list of fluid names that can be harvested as Gas + harvestableGasses = [] + #Multiplier changing how long a mining mission takes + miningMissionTmeMultiplier = 1.0 + +[Energy] + #Multiplier for the amount of power per tick the black hole generator should produce + blackHoleGeneratorMultiplier = 1.0 + #Amount of power per tick the solar generator should produce + solarGeneratorMultiplier = 1 + #Multiplier for the amount of energy produced by the microwave reciever + MicrowaveRecieverMultiplier = 1.0 + #minecraft:dirt;1 + blackHoleTimings = ["minecraft:stone;1", "minecraft:dirt;1", "minecraft:netherrack;1", "minecraft:cobblestone;1"] + #List of blocks and the amount of ticks they can power the black hole generator format: 'modname:block:meta;number_of_ticks' + defaultBurnTime = 500 + +[Planets] + #If true, planets must be discovered in the warp controller before being visible + planetsMustBeDiscovered = false + #Prevents any vanilla biomes from spawning on planets + blackListVanillaBiomes = false + #Maximum unique biomes per planet + maxBiomesPerPlanet = 5 + #If true, players will respawn near beds on planets IF the spawn location is in a breathable atmosphere + allowPlanetRespawn = false + #setting this to true will force AR to read from the XML file in the config/advRocketry instead of the local data, intended for use pack developers to ensure updates are pushed through + resetPlanetsFromXML = true + #If true, players will respawn near beds on planets REGARDLESS of the spawn location being in a non-breathable atmosphere. Requires 'allowPlanetRespawn' being true. + forcePlanetRespawn = false + #Chance of planet discovery in the warp ship monitor is not all planets are initially discovered + planetDiscoveryChance = 5 + +[Client] + #If true, AR will use a custom skybox on planets + PlanetSkyOverride = true + #Advanced visual effects + advancedVFX = true + #If UI is not locked, the middle mouse can be used to drag certain AR UIs around the screen, positions are saved on hitting quit in the menu + lockUI = true + #If true, AR will use a custom skybox on space stations + StationSkyOverride = true + #If true, allows players to experience nausea on non-standard atmosphere types + EnableAtmosphericNausea = true + +[Performance] + #BitMask: 0: no threading, radius based; 1: threading, radius based; 2: no threading volume based; 3: threading volume based + atmosphereCalculationMethod = 3 + #Radius of the O2 vent. if atmosphereCalculationMethod is 2 or 3 then max volume is calculated from this radius. WARNING: larger numbers can lead to lag + oxygenVentSize = 32 + +[Rockets] + #Set to false if rockets should not damage blocks + rocketsDamageBlocks = false + #If true, rockets will be able to actually fly around space + experimentalSpaceFlight = false + #TBI multiplier for asteroid flights + asteroidTBIBurnMult = 1.0 + #List of fluid names for fluids that can be used as rocket bipropellant oxidizers + rocketBipropellants = ["oxygen"] + #How high the rocket has to go before it reaches station clearance + #Range: > 255 + stationClearanceHeight = 1000 + #How long transbody injection is before the rocket can exit + transBodyInjection = 0 + #TBI multiplier for warp flights + warpTBIBurnMult = 10.0 + #Multiplier for per-tank capacity + fuelCapacityMultiplier = 1.0 + #Mod:Blockname for example "minecraft:chest" + rocketBlockBlackList = ["minecraft:portal", "minecraft:bedrock", "minecraft:snow_layer", "minecraft:flowing_water", "minecraft:lava", "minecraft:flowing_lava"] + #Multiplier for per-engine thrust + thrustMultiplier = 1.5 + #If true, planets with higher gravity require more fuel and lower gravity would require less + gravityAffectsFuels = true + #Set to false if rockets should not be able to be fueled by and and will require a fueling station + canBeFueledByHand = false + #How high the rocket has to go before it reaches orbit + #Range: > 255 + OrbitHeight = 1000 + #List of fluid names for fluids that can be used as rocket monopropellants + rocketFuels = ["thermal:refined_fuel;2"] + #Set to false if rockets should not require fuel to fly + rocketsRequireFuel = true + #Setting to false will disable the retrorockets that fire automatically on reentry on both player and automated rockets + autoRetroRockets = true + +["World Generation"] + #True if the ores in geodeOres should be a blacklist + geodeOres_blacklist = false + #average size of the geodes + geodeBaseSize = 36 + GenerateTin = false + TinPerChunk = 10 + AluminumPerClump = 16 + #If true, then low pressure planets will have meteor craters. Note: setting this option to false overrides 'generageCraters' in the planetDefs.xml + generateCraters = true + generateDilithium = false + #List of block names of blocks (usally ores) allowed to spawn in geodes + geodeOres = ["minecraft:iron_ore", "minecraft:gold_ore", "libvulpes:orecopper", "libvulpes:oretin", "minecraft:redstone_ore"] + RutilePerChunk = 6 + DilithiumPerChunkLuna = 10 + EnableOreGen = false + DilithiumPerClump = 16 + IridiumPerChunk = 1 + CopperPerChunk = 10 + #Should Electric Mushrooms be able to spawn lightning + electricPlantsSpawnLightning = true + generateIridium = false + #If true, then ore-containing geodes are generated on high pressure planets + generateGeodes = true + AluminumPerChunk = 1 + #Enable to allow structures like villages and mineshafts to generate on planets with a breathable atmosphere. Note, setting this to false will override 'generateStructures' in the planetDefs.xml + generateVanillaStructures = false + #Biomes that only spawn on worlds with pressures over 125, will override blacklist. + HighPressureBiomes = [] + GenerateCopper = false + #List of Biomes to be blacklisted from spawning as BiomeIds, default is: river, sky, hell, void, alienForest + BlacklistedBiomes = ["minecraft:river", "minecraft:the_end", "minecraft:badlands", "minecraft:the_void"] + RutilePerClump = 6 + #variation in geode size + geodeVariation = 24 + #Some worlds have a chance of spawning single biomes contained in this list. + SingleBiomes = ["minecraft:desert_hills", "minecraft:mushroom_fields", "minecraft:tall_birch_hills", "minecraft:ice_spikes"] + #If true, then very hot planets planets will volcanos. Note: setting this option to false overrides 'generateVolcanos' in the planetDefs.xml + generateVolcanos = false + DilithiumPerChunk = 1 + IridiumPerClump = 16 + generateAluminum = false + TinPerClump = 6 + GenerateRutile = false + CopperPerClump = 6 + diff --git a/src/overrides/config/advancedRocketry-4.toml.bak b/src/overrides/config/advancedRocketry-4.toml.bak new file mode 100644 index 0000000..36756ab --- /dev/null +++ b/src/overrides/config/advancedRocketry-4.toml.bak @@ -0,0 +1,225 @@ + +[General] + #Maximum gravity the crystallizer can work at. 0 to disable! + crystalliserMaximumGravity = 0 + #Multiplier for the build speed of the Rocket Builder (0.5 is twice as fast 2 is half as fast + buildSpeedMultiplier = 1.0 + #Multiplier for the amount of fluid this tank can hold + blockTankCapacity = 1.0 + #If true, the boots only protect the player on planets with low gravity + lowGravityBoots = false + #Amount of force the jetpack provides with respect to gravity + jetPackForce = 1.3 + #If false, the gravity controller cannot be built or used + enableGravityMachine = true + #Should the cutting machine be able to cut vanilla wood into planks + sawMillCutVanillaWood = true + #If true, the machines from AdvancedRocketry will produce things like plates/rods for other mods even if Advanced Rocketry itself does not use the material (This can increase load time) + makeMaterialsForOtherMods = true + +["Orbital Laser Drill"] + #Power multiplier for the laser drill machine + LaserDrillPowerMultiplier = 1.0 + #List of oredictionary names of ores allowed to be mined by the laser drill if surface drilling is disabled. Ores can be specified by just the oreName: or by ::: where size is optional + laserDrillOres = ["oreIron", "oreGold", "oreCopper", "oreTin", "oreRedstone", "oreDiamond"] + #Laser drill will not mine these dimension + spaceLaserDimIdBlackList = [] + #Enables the laser drill machine + EnableLaserDrill = true + #If true, the orbital laser will actually mine blocks on the planet below + laserDrillPlanet = false + #True if the ores in laserDrillOres should be a blacklist, false for a whitelist + laserDrillOres_blacklist = false + +[Terraforming] + TerraformerRequiresFluids = true + #how many millibuckets/t are required to keep the terraformer running + TerraformerFluidConsumeRate = 40 + #If true, dimensions not added by AR can be terraformed + allowTerraformingNonARWorlds = false + #Enables terraforming items and blocks + EnableTerraforming = true + #EXPERIMENTAL: If set to true allows contruction and usage of the terraformer. This is known to cause strange world generation after successful terraform + allowTerraforming = false + #Max number of blocks allowed to be changed per tick + terraformBlockPerTick = 1 + #Multplier for atmosphere change speed + terraformMult = 1.0 + #How many blocks have the biome changed per tick. Large numbers can slow the server down + biomeUpdateSpeed = 1 + +[Oxygen] + #Power consumption multiplier for the oxygen vent + OxygenVentPowerMultiplier = 1.0 + #list entities which should not be affected by atmosphere properties + entityAtmBypass = [] + #If true, the Oxygen scrubbers require a consumable carbon collection cartridge + scrubberRequiresCartrige = true + #Multiplier for the amount of fluid this tank can hold + suitTankMultiplier = 1.0 + #If true, Galacticcraft's air will be disabled entirely requiring use of Advanced Rocketry's Oxygen system on GC planets + OverrideGCAir = true + #Blocks that are not automatically detected as sealable but should seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockWhiteList = [] + #Maximum time in minutes that the spacesuit's internal buffer can store O2 for + spaceSuitO2Buffer = 30 + #Blocks that are automatically detected as sealable but should not seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockBlackList = [] + #If true, allows players being hurt due to lack of oxygen and allows effects from non-standard atmosphere types + EnableAtmosphericEffects = true + #Multiplier on how much O2 an oxygen vent consumes per tick + oxygenVentConsumptionMultiplier = 1.0 + #If true, breaking an extinguished torch will drop an extinguished torch instead of a vanilla torch + dropExtinguishedTorches = false + #Amount of damage inflicted with each tick on an entity in a vacuum + #Range: 0 ~ 100 + vacuumDamage = 1 + +[Stations] + #Multiplier for warp travel time + warpTravelTime = 1.0 + #The largest size a space station can be. Should also be a power of 2 (512) + SpaceStationBuildRadius = 1024 + #If true, players will be able to completely disable gravity on spacestation. It's possible to get stuck and require a teleport + allowZeroGSpacestations = false + #Dimension ID to use for space stations, changing this could really break things! + spaceStationId = "advancedrocketry:space" + #How many units of fuel should each Dilithium Crystal give to warp ships + pointsPerDilithium = 500 + +["Resource Collection Missions"] + #Multiplier for the amount of time gas collection missions take + gasMissionMultiplier = 1.0 + #list of fluid names that can be harvested as Gas + harvestableGasses = [] + #Multiplier changing how long a mining mission takes + miningMissionTmeMultiplier = 1.0 + +[Energy] + #Multiplier for the amount of power per tick the black hole generator should produce + blackHoleGeneratorMultiplier = 1.0 + #Amount of power per tick the solar generator should produce + solarGeneratorMultiplier = 1 + #Multiplier for the amount of energy produced by the microwave reciever + MicrowaveRecieverMultiplier = 1.0 + #minecraft:dirt;1 + blackHoleTimings = ["minecraft:stone;1", "minecraft:dirt;1", "minecraft:netherrack;1", "minecraft:cobblestone;1"] + #List of blocks and the amount of ticks they can power the black hole generator format: 'modname:block:meta;number_of_ticks' + defaultBurnTime = 500 + +[Planets] + #If true, planets must be discovered in the warp controller before being visible + planetsMustBeDiscovered = false + #Prevents any vanilla biomes from spawning on planets + blackListVanillaBiomes = false + #Maximum unique biomes per planet + maxBiomesPerPlanet = 5 + #If true, players will respawn near beds on planets IF the spawn location is in a breathable atmosphere + allowPlanetRespawn = false + #setting this to true will force AR to read from the XML file in the config/advRocketry instead of the local data, intended for use pack developers to ensure updates are pushed through + resetPlanetsFromXML = true + #If true, players will respawn near beds on planets REGARDLESS of the spawn location being in a non-breathable atmosphere. Requires 'allowPlanetRespawn' being true. + forcePlanetRespawn = false + #Chance of planet discovery in the warp ship monitor is not all planets are initially discovered + planetDiscoveryChance = 5 + +[Client] + #If true, AR will use a custom skybox on planets + PlanetSkyOverride = true + #Advanced visual effects + advancedVFX = true + #If UI is not locked, the middle mouse can be used to drag certain AR UIs around the screen, positions are saved on hitting quit in the menu + lockUI = true + #If true, AR will use a custom skybox on space stations + StationSkyOverride = true + #If true, allows players to experience nausea on non-standard atmosphere types + EnableAtmosphericNausea = true + +[Performance] + #BitMask: 0: no threading, radius based; 1: threading, radius based; 2: no threading volume based; 3: threading volume based + atmosphereCalculationMethod = 3 + #Radius of the O2 vent. if atmosphereCalculationMethod is 2 or 3 then max volume is calculated from this radius. WARNING: larger numbers can lead to lag + oxygenVentSize = 32 + +[Rockets] + #Set to false if rockets should not damage blocks + rocketsDamageBlocks = false + #If true, rockets will be able to actually fly around space + experimentalSpaceFlight = false + #TBI multiplier for asteroid flights + asteroidTBIBurnMult = 1.0 + #List of fluid names for fluids that can be used as rocket bipropellant oxidizers + rocketBipropellants = ["oxygen"] + #How high the rocket has to go before it reaches station clearance + #Range: > 255 + stationClearanceHeight = 1000 + #How long transbody injection is before the rocket can exit + transBodyInjection = 0 + #TBI multiplier for warp flights + warpTBIBurnMult = 10.0 + #Multiplier for per-tank capacity + fuelCapacityMultiplier = 1.0 + #Mod:Blockname for example "minecraft:chest" + rocketBlockBlackList = ["minecraft:portal", "minecraft:bedrock", "minecraft:snow_layer", "minecraft:flowing_water", "minecraft:lava", "minecraft:flowing_lava"] + #Multiplier for per-engine thrust + thrustMultiplier = 1.5 + #If true, planets with higher gravity require more fuel and lower gravity would require less + gravityAffectsFuels = true + #Set to false if rockets should not be able to be fueled by and and will require a fueling station + canBeFueledByHand = false + #How high the rocket has to go before it reaches orbit + #Range: > 255 + OrbitHeight = 1000 + #List of fluid names for fluids that can be used as rocket monopropellants + rocketFuels = ["thermal:refined_fuel;2"] + #Set to false if rockets should not require fuel to fly + rocketsRequireFuel = true + #Setting to false will disable the retrorockets that fire automatically on reentry on both player and automated rockets + autoRetroRockets = true + +["World Generation"] + #True if the ores in geodeOres should be a blacklist + geodeOres_blacklist = false + #average size of the geodes + geodeBaseSize = 36 + GenerateTin = false + TinPerChunk = 10 + AluminumPerClump = 16 + #If true, then low pressure planets will have meteor craters. Note: setting this option to false overrides 'generageCraters' in the planetDefs.xml + generateCraters = true + generateDilithium = false + #List of block names of blocks (usally ores) allowed to spawn in geodes + geodeOres = ["minecraft:iron_ore", "minecraft:gold_ore", "libvulpes:orecopper", "libvulpes:oretin", "minecraft:redstone_ore"] + RutilePerChunk = 6 + DilithiumPerChunkLuna = 10 + EnableOreGen = false + DilithiumPerClump = 16 + IridiumPerChunk = 1 + CopperPerChunk = 10 + #Should Electric Mushrooms be able to spawn lightning + electricPlantsSpawnLightning = true + generateIridium = false + #If true, then ore-containing geodes are generated on high pressure planets + generateGeodes = true + AluminumPerChunk = 1 + #Enable to allow structures like villages and mineshafts to generate on planets with a breathable atmosphere. Note, setting this to false will override 'generateStructures' in the planetDefs.xml + generateVanillaStructures = false + #Biomes that only spawn on worlds with pressures over 125, will override blacklist. + HighPressureBiomes = [] + GenerateCopper = false + #List of Biomes to be blacklisted from spawning as BiomeIds, default is: river, sky, hell, void, alienForest + BlacklistedBiomes = ["minecraft:river", "minecraft:the_end", "minecraft:badlands", "minecraft:the_void"] + RutilePerClump = 6 + #variation in geode size + geodeVariation = 24 + #Some worlds have a chance of spawning single biomes contained in this list. + SingleBiomes = ["minecraft:desert_hills", "minecraft:mushroom_fields", "minecraft:tall_birch_hills", "minecraft:ice_spikes"] + #If true, then very hot planets planets will volcanos. Note: setting this option to false overrides 'generateVolcanos' in the planetDefs.xml + generateVolcanos = false + DilithiumPerChunk = 1 + IridiumPerClump = 16 + generateAluminum = false + TinPerClump = 6 + GenerateRutile = false + CopperPerClump = 6 + diff --git a/src/overrides/config/advancedRocketry-5.toml.bak b/src/overrides/config/advancedRocketry-5.toml.bak new file mode 100644 index 0000000..36756ab --- /dev/null +++ b/src/overrides/config/advancedRocketry-5.toml.bak @@ -0,0 +1,225 @@ + +[General] + #Maximum gravity the crystallizer can work at. 0 to disable! + crystalliserMaximumGravity = 0 + #Multiplier for the build speed of the Rocket Builder (0.5 is twice as fast 2 is half as fast + buildSpeedMultiplier = 1.0 + #Multiplier for the amount of fluid this tank can hold + blockTankCapacity = 1.0 + #If true, the boots only protect the player on planets with low gravity + lowGravityBoots = false + #Amount of force the jetpack provides with respect to gravity + jetPackForce = 1.3 + #If false, the gravity controller cannot be built or used + enableGravityMachine = true + #Should the cutting machine be able to cut vanilla wood into planks + sawMillCutVanillaWood = true + #If true, the machines from AdvancedRocketry will produce things like plates/rods for other mods even if Advanced Rocketry itself does not use the material (This can increase load time) + makeMaterialsForOtherMods = true + +["Orbital Laser Drill"] + #Power multiplier for the laser drill machine + LaserDrillPowerMultiplier = 1.0 + #List of oredictionary names of ores allowed to be mined by the laser drill if surface drilling is disabled. Ores can be specified by just the oreName: or by ::: where size is optional + laserDrillOres = ["oreIron", "oreGold", "oreCopper", "oreTin", "oreRedstone", "oreDiamond"] + #Laser drill will not mine these dimension + spaceLaserDimIdBlackList = [] + #Enables the laser drill machine + EnableLaserDrill = true + #If true, the orbital laser will actually mine blocks on the planet below + laserDrillPlanet = false + #True if the ores in laserDrillOres should be a blacklist, false for a whitelist + laserDrillOres_blacklist = false + +[Terraforming] + TerraformerRequiresFluids = true + #how many millibuckets/t are required to keep the terraformer running + TerraformerFluidConsumeRate = 40 + #If true, dimensions not added by AR can be terraformed + allowTerraformingNonARWorlds = false + #Enables terraforming items and blocks + EnableTerraforming = true + #EXPERIMENTAL: If set to true allows contruction and usage of the terraformer. This is known to cause strange world generation after successful terraform + allowTerraforming = false + #Max number of blocks allowed to be changed per tick + terraformBlockPerTick = 1 + #Multplier for atmosphere change speed + terraformMult = 1.0 + #How many blocks have the biome changed per tick. Large numbers can slow the server down + biomeUpdateSpeed = 1 + +[Oxygen] + #Power consumption multiplier for the oxygen vent + OxygenVentPowerMultiplier = 1.0 + #list entities which should not be affected by atmosphere properties + entityAtmBypass = [] + #If true, the Oxygen scrubbers require a consumable carbon collection cartridge + scrubberRequiresCartrige = true + #Multiplier for the amount of fluid this tank can hold + suitTankMultiplier = 1.0 + #If true, Galacticcraft's air will be disabled entirely requiring use of Advanced Rocketry's Oxygen system on GC planets + OverrideGCAir = true + #Blocks that are not automatically detected as sealable but should seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockWhiteList = [] + #Maximum time in minutes that the spacesuit's internal buffer can store O2 for + spaceSuitO2Buffer = 30 + #Blocks that are automatically detected as sealable but should not seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockBlackList = [] + #If true, allows players being hurt due to lack of oxygen and allows effects from non-standard atmosphere types + EnableAtmosphericEffects = true + #Multiplier on how much O2 an oxygen vent consumes per tick + oxygenVentConsumptionMultiplier = 1.0 + #If true, breaking an extinguished torch will drop an extinguished torch instead of a vanilla torch + dropExtinguishedTorches = false + #Amount of damage inflicted with each tick on an entity in a vacuum + #Range: 0 ~ 100 + vacuumDamage = 1 + +[Stations] + #Multiplier for warp travel time + warpTravelTime = 1.0 + #The largest size a space station can be. Should also be a power of 2 (512) + SpaceStationBuildRadius = 1024 + #If true, players will be able to completely disable gravity on spacestation. It's possible to get stuck and require a teleport + allowZeroGSpacestations = false + #Dimension ID to use for space stations, changing this could really break things! + spaceStationId = "advancedrocketry:space" + #How many units of fuel should each Dilithium Crystal give to warp ships + pointsPerDilithium = 500 + +["Resource Collection Missions"] + #Multiplier for the amount of time gas collection missions take + gasMissionMultiplier = 1.0 + #list of fluid names that can be harvested as Gas + harvestableGasses = [] + #Multiplier changing how long a mining mission takes + miningMissionTmeMultiplier = 1.0 + +[Energy] + #Multiplier for the amount of power per tick the black hole generator should produce + blackHoleGeneratorMultiplier = 1.0 + #Amount of power per tick the solar generator should produce + solarGeneratorMultiplier = 1 + #Multiplier for the amount of energy produced by the microwave reciever + MicrowaveRecieverMultiplier = 1.0 + #minecraft:dirt;1 + blackHoleTimings = ["minecraft:stone;1", "minecraft:dirt;1", "minecraft:netherrack;1", "minecraft:cobblestone;1"] + #List of blocks and the amount of ticks they can power the black hole generator format: 'modname:block:meta;number_of_ticks' + defaultBurnTime = 500 + +[Planets] + #If true, planets must be discovered in the warp controller before being visible + planetsMustBeDiscovered = false + #Prevents any vanilla biomes from spawning on planets + blackListVanillaBiomes = false + #Maximum unique biomes per planet + maxBiomesPerPlanet = 5 + #If true, players will respawn near beds on planets IF the spawn location is in a breathable atmosphere + allowPlanetRespawn = false + #setting this to true will force AR to read from the XML file in the config/advRocketry instead of the local data, intended for use pack developers to ensure updates are pushed through + resetPlanetsFromXML = true + #If true, players will respawn near beds on planets REGARDLESS of the spawn location being in a non-breathable atmosphere. Requires 'allowPlanetRespawn' being true. + forcePlanetRespawn = false + #Chance of planet discovery in the warp ship monitor is not all planets are initially discovered + planetDiscoveryChance = 5 + +[Client] + #If true, AR will use a custom skybox on planets + PlanetSkyOverride = true + #Advanced visual effects + advancedVFX = true + #If UI is not locked, the middle mouse can be used to drag certain AR UIs around the screen, positions are saved on hitting quit in the menu + lockUI = true + #If true, AR will use a custom skybox on space stations + StationSkyOverride = true + #If true, allows players to experience nausea on non-standard atmosphere types + EnableAtmosphericNausea = true + +[Performance] + #BitMask: 0: no threading, radius based; 1: threading, radius based; 2: no threading volume based; 3: threading volume based + atmosphereCalculationMethod = 3 + #Radius of the O2 vent. if atmosphereCalculationMethod is 2 or 3 then max volume is calculated from this radius. WARNING: larger numbers can lead to lag + oxygenVentSize = 32 + +[Rockets] + #Set to false if rockets should not damage blocks + rocketsDamageBlocks = false + #If true, rockets will be able to actually fly around space + experimentalSpaceFlight = false + #TBI multiplier for asteroid flights + asteroidTBIBurnMult = 1.0 + #List of fluid names for fluids that can be used as rocket bipropellant oxidizers + rocketBipropellants = ["oxygen"] + #How high the rocket has to go before it reaches station clearance + #Range: > 255 + stationClearanceHeight = 1000 + #How long transbody injection is before the rocket can exit + transBodyInjection = 0 + #TBI multiplier for warp flights + warpTBIBurnMult = 10.0 + #Multiplier for per-tank capacity + fuelCapacityMultiplier = 1.0 + #Mod:Blockname for example "minecraft:chest" + rocketBlockBlackList = ["minecraft:portal", "minecraft:bedrock", "minecraft:snow_layer", "minecraft:flowing_water", "minecraft:lava", "minecraft:flowing_lava"] + #Multiplier for per-engine thrust + thrustMultiplier = 1.5 + #If true, planets with higher gravity require more fuel and lower gravity would require less + gravityAffectsFuels = true + #Set to false if rockets should not be able to be fueled by and and will require a fueling station + canBeFueledByHand = false + #How high the rocket has to go before it reaches orbit + #Range: > 255 + OrbitHeight = 1000 + #List of fluid names for fluids that can be used as rocket monopropellants + rocketFuels = ["thermal:refined_fuel;2"] + #Set to false if rockets should not require fuel to fly + rocketsRequireFuel = true + #Setting to false will disable the retrorockets that fire automatically on reentry on both player and automated rockets + autoRetroRockets = true + +["World Generation"] + #True if the ores in geodeOres should be a blacklist + geodeOres_blacklist = false + #average size of the geodes + geodeBaseSize = 36 + GenerateTin = false + TinPerChunk = 10 + AluminumPerClump = 16 + #If true, then low pressure planets will have meteor craters. Note: setting this option to false overrides 'generageCraters' in the planetDefs.xml + generateCraters = true + generateDilithium = false + #List of block names of blocks (usally ores) allowed to spawn in geodes + geodeOres = ["minecraft:iron_ore", "minecraft:gold_ore", "libvulpes:orecopper", "libvulpes:oretin", "minecraft:redstone_ore"] + RutilePerChunk = 6 + DilithiumPerChunkLuna = 10 + EnableOreGen = false + DilithiumPerClump = 16 + IridiumPerChunk = 1 + CopperPerChunk = 10 + #Should Electric Mushrooms be able to spawn lightning + electricPlantsSpawnLightning = true + generateIridium = false + #If true, then ore-containing geodes are generated on high pressure planets + generateGeodes = true + AluminumPerChunk = 1 + #Enable to allow structures like villages and mineshafts to generate on planets with a breathable atmosphere. Note, setting this to false will override 'generateStructures' in the planetDefs.xml + generateVanillaStructures = false + #Biomes that only spawn on worlds with pressures over 125, will override blacklist. + HighPressureBiomes = [] + GenerateCopper = false + #List of Biomes to be blacklisted from spawning as BiomeIds, default is: river, sky, hell, void, alienForest + BlacklistedBiomes = ["minecraft:river", "minecraft:the_end", "minecraft:badlands", "minecraft:the_void"] + RutilePerClump = 6 + #variation in geode size + geodeVariation = 24 + #Some worlds have a chance of spawning single biomes contained in this list. + SingleBiomes = ["minecraft:desert_hills", "minecraft:mushroom_fields", "minecraft:tall_birch_hills", "minecraft:ice_spikes"] + #If true, then very hot planets planets will volcanos. Note: setting this option to false overrides 'generateVolcanos' in the planetDefs.xml + generateVolcanos = false + DilithiumPerChunk = 1 + IridiumPerClump = 16 + generateAluminum = false + TinPerClump = 6 + GenerateRutile = false + CopperPerClump = 6 + diff --git a/src/overrides/config/advancedRocketry.toml b/src/overrides/config/advancedRocketry.toml new file mode 100644 index 0000000..36756ab --- /dev/null +++ b/src/overrides/config/advancedRocketry.toml @@ -0,0 +1,225 @@ + +[General] + #Maximum gravity the crystallizer can work at. 0 to disable! + crystalliserMaximumGravity = 0 + #Multiplier for the build speed of the Rocket Builder (0.5 is twice as fast 2 is half as fast + buildSpeedMultiplier = 1.0 + #Multiplier for the amount of fluid this tank can hold + blockTankCapacity = 1.0 + #If true, the boots only protect the player on planets with low gravity + lowGravityBoots = false + #Amount of force the jetpack provides with respect to gravity + jetPackForce = 1.3 + #If false, the gravity controller cannot be built or used + enableGravityMachine = true + #Should the cutting machine be able to cut vanilla wood into planks + sawMillCutVanillaWood = true + #If true, the machines from AdvancedRocketry will produce things like plates/rods for other mods even if Advanced Rocketry itself does not use the material (This can increase load time) + makeMaterialsForOtherMods = true + +["Orbital Laser Drill"] + #Power multiplier for the laser drill machine + LaserDrillPowerMultiplier = 1.0 + #List of oredictionary names of ores allowed to be mined by the laser drill if surface drilling is disabled. Ores can be specified by just the oreName: or by ::: where size is optional + laserDrillOres = ["oreIron", "oreGold", "oreCopper", "oreTin", "oreRedstone", "oreDiamond"] + #Laser drill will not mine these dimension + spaceLaserDimIdBlackList = [] + #Enables the laser drill machine + EnableLaserDrill = true + #If true, the orbital laser will actually mine blocks on the planet below + laserDrillPlanet = false + #True if the ores in laserDrillOres should be a blacklist, false for a whitelist + laserDrillOres_blacklist = false + +[Terraforming] + TerraformerRequiresFluids = true + #how many millibuckets/t are required to keep the terraformer running + TerraformerFluidConsumeRate = 40 + #If true, dimensions not added by AR can be terraformed + allowTerraformingNonARWorlds = false + #Enables terraforming items and blocks + EnableTerraforming = true + #EXPERIMENTAL: If set to true allows contruction and usage of the terraformer. This is known to cause strange world generation after successful terraform + allowTerraforming = false + #Max number of blocks allowed to be changed per tick + terraformBlockPerTick = 1 + #Multplier for atmosphere change speed + terraformMult = 1.0 + #How many blocks have the biome changed per tick. Large numbers can slow the server down + biomeUpdateSpeed = 1 + +[Oxygen] + #Power consumption multiplier for the oxygen vent + OxygenVentPowerMultiplier = 1.0 + #list entities which should not be affected by atmosphere properties + entityAtmBypass = [] + #If true, the Oxygen scrubbers require a consumable carbon collection cartridge + scrubberRequiresCartrige = true + #Multiplier for the amount of fluid this tank can hold + suitTankMultiplier = 1.0 + #If true, Galacticcraft's air will be disabled entirely requiring use of Advanced Rocketry's Oxygen system on GC planets + OverrideGCAir = true + #Blocks that are not automatically detected as sealable but should seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockWhiteList = [] + #Maximum time in minutes that the spacesuit's internal buffer can store O2 for + spaceSuitO2Buffer = 30 + #Blocks that are automatically detected as sealable but should not seal. Format "Mod:Blockname" for example "minecraft:chest" + sealableBlockBlackList = [] + #If true, allows players being hurt due to lack of oxygen and allows effects from non-standard atmosphere types + EnableAtmosphericEffects = true + #Multiplier on how much O2 an oxygen vent consumes per tick + oxygenVentConsumptionMultiplier = 1.0 + #If true, breaking an extinguished torch will drop an extinguished torch instead of a vanilla torch + dropExtinguishedTorches = false + #Amount of damage inflicted with each tick on an entity in a vacuum + #Range: 0 ~ 100 + vacuumDamage = 1 + +[Stations] + #Multiplier for warp travel time + warpTravelTime = 1.0 + #The largest size a space station can be. Should also be a power of 2 (512) + SpaceStationBuildRadius = 1024 + #If true, players will be able to completely disable gravity on spacestation. It's possible to get stuck and require a teleport + allowZeroGSpacestations = false + #Dimension ID to use for space stations, changing this could really break things! + spaceStationId = "advancedrocketry:space" + #How many units of fuel should each Dilithium Crystal give to warp ships + pointsPerDilithium = 500 + +["Resource Collection Missions"] + #Multiplier for the amount of time gas collection missions take + gasMissionMultiplier = 1.0 + #list of fluid names that can be harvested as Gas + harvestableGasses = [] + #Multiplier changing how long a mining mission takes + miningMissionTmeMultiplier = 1.0 + +[Energy] + #Multiplier for the amount of power per tick the black hole generator should produce + blackHoleGeneratorMultiplier = 1.0 + #Amount of power per tick the solar generator should produce + solarGeneratorMultiplier = 1 + #Multiplier for the amount of energy produced by the microwave reciever + MicrowaveRecieverMultiplier = 1.0 + #minecraft:dirt;1 + blackHoleTimings = ["minecraft:stone;1", "minecraft:dirt;1", "minecraft:netherrack;1", "minecraft:cobblestone;1"] + #List of blocks and the amount of ticks they can power the black hole generator format: 'modname:block:meta;number_of_ticks' + defaultBurnTime = 500 + +[Planets] + #If true, planets must be discovered in the warp controller before being visible + planetsMustBeDiscovered = false + #Prevents any vanilla biomes from spawning on planets + blackListVanillaBiomes = false + #Maximum unique biomes per planet + maxBiomesPerPlanet = 5 + #If true, players will respawn near beds on planets IF the spawn location is in a breathable atmosphere + allowPlanetRespawn = false + #setting this to true will force AR to read from the XML file in the config/advRocketry instead of the local data, intended for use pack developers to ensure updates are pushed through + resetPlanetsFromXML = true + #If true, players will respawn near beds on planets REGARDLESS of the spawn location being in a non-breathable atmosphere. Requires 'allowPlanetRespawn' being true. + forcePlanetRespawn = false + #Chance of planet discovery in the warp ship monitor is not all planets are initially discovered + planetDiscoveryChance = 5 + +[Client] + #If true, AR will use a custom skybox on planets + PlanetSkyOverride = true + #Advanced visual effects + advancedVFX = true + #If UI is not locked, the middle mouse can be used to drag certain AR UIs around the screen, positions are saved on hitting quit in the menu + lockUI = true + #If true, AR will use a custom skybox on space stations + StationSkyOverride = true + #If true, allows players to experience nausea on non-standard atmosphere types + EnableAtmosphericNausea = true + +[Performance] + #BitMask: 0: no threading, radius based; 1: threading, radius based; 2: no threading volume based; 3: threading volume based + atmosphereCalculationMethod = 3 + #Radius of the O2 vent. if atmosphereCalculationMethod is 2 or 3 then max volume is calculated from this radius. WARNING: larger numbers can lead to lag + oxygenVentSize = 32 + +[Rockets] + #Set to false if rockets should not damage blocks + rocketsDamageBlocks = false + #If true, rockets will be able to actually fly around space + experimentalSpaceFlight = false + #TBI multiplier for asteroid flights + asteroidTBIBurnMult = 1.0 + #List of fluid names for fluids that can be used as rocket bipropellant oxidizers + rocketBipropellants = ["oxygen"] + #How high the rocket has to go before it reaches station clearance + #Range: > 255 + stationClearanceHeight = 1000 + #How long transbody injection is before the rocket can exit + transBodyInjection = 0 + #TBI multiplier for warp flights + warpTBIBurnMult = 10.0 + #Multiplier for per-tank capacity + fuelCapacityMultiplier = 1.0 + #Mod:Blockname for example "minecraft:chest" + rocketBlockBlackList = ["minecraft:portal", "minecraft:bedrock", "minecraft:snow_layer", "minecraft:flowing_water", "minecraft:lava", "minecraft:flowing_lava"] + #Multiplier for per-engine thrust + thrustMultiplier = 1.5 + #If true, planets with higher gravity require more fuel and lower gravity would require less + gravityAffectsFuels = true + #Set to false if rockets should not be able to be fueled by and and will require a fueling station + canBeFueledByHand = false + #How high the rocket has to go before it reaches orbit + #Range: > 255 + OrbitHeight = 1000 + #List of fluid names for fluids that can be used as rocket monopropellants + rocketFuels = ["thermal:refined_fuel;2"] + #Set to false if rockets should not require fuel to fly + rocketsRequireFuel = true + #Setting to false will disable the retrorockets that fire automatically on reentry on both player and automated rockets + autoRetroRockets = true + +["World Generation"] + #True if the ores in geodeOres should be a blacklist + geodeOres_blacklist = false + #average size of the geodes + geodeBaseSize = 36 + GenerateTin = false + TinPerChunk = 10 + AluminumPerClump = 16 + #If true, then low pressure planets will have meteor craters. Note: setting this option to false overrides 'generageCraters' in the planetDefs.xml + generateCraters = true + generateDilithium = false + #List of block names of blocks (usally ores) allowed to spawn in geodes + geodeOres = ["minecraft:iron_ore", "minecraft:gold_ore", "libvulpes:orecopper", "libvulpes:oretin", "minecraft:redstone_ore"] + RutilePerChunk = 6 + DilithiumPerChunkLuna = 10 + EnableOreGen = false + DilithiumPerClump = 16 + IridiumPerChunk = 1 + CopperPerChunk = 10 + #Should Electric Mushrooms be able to spawn lightning + electricPlantsSpawnLightning = true + generateIridium = false + #If true, then ore-containing geodes are generated on high pressure planets + generateGeodes = true + AluminumPerChunk = 1 + #Enable to allow structures like villages and mineshafts to generate on planets with a breathable atmosphere. Note, setting this to false will override 'generateStructures' in the planetDefs.xml + generateVanillaStructures = false + #Biomes that only spawn on worlds with pressures over 125, will override blacklist. + HighPressureBiomes = [] + GenerateCopper = false + #List of Biomes to be blacklisted from spawning as BiomeIds, default is: river, sky, hell, void, alienForest + BlacklistedBiomes = ["minecraft:river", "minecraft:the_end", "minecraft:badlands", "minecraft:the_void"] + RutilePerClump = 6 + #variation in geode size + geodeVariation = 24 + #Some worlds have a chance of spawning single biomes contained in this list. + SingleBiomes = ["minecraft:desert_hills", "minecraft:mushroom_fields", "minecraft:tall_birch_hills", "minecraft:ice_spikes"] + #If true, then very hot planets planets will volcanos. Note: setting this option to false overrides 'generateVolcanos' in the planetDefs.xml + generateVolcanos = false + DilithiumPerChunk = 1 + IridiumPerClump = 16 + generateAluminum = false + TinPerClump = 6 + GenerateRutile = false + CopperPerClump = 6 + diff --git a/src/overrides/config/aiimprovements-common.toml b/src/overrides/config/aiimprovements-common.toml new file mode 100644 index 0000000..3dbd953 --- /dev/null +++ b/src/overrides/config/aiimprovements-common.toml @@ -0,0 +1,40 @@ + +#Entity Settings +[entity] + + #General + [entity.general] + #Allows repeat remove calls to bubble to the top of the list to improve performance of repeat mob spawning. + enable_call_bubbling = true + #Allow AI tasks to be removed from entities at runtime. If this is disable no per mob or per mob type removes will run. + allow_remove_calls = true + + #Entity Mob + [entity.mob] + #Remove the look at goal (player or attack target) AI task. This will cause AIs to not face targets or walking directions. + remove_look_goal = false + #Replaces the default look controller with a version featuring cached tan math improving performance. Only works on vanilla style mobs, if a mod overrides the look controller it will skip. + replace_look_controller = true + #Remove the look at random position AI task. This will cause AIs to feel a little lifeless as they do not animate head movement while idle. + remove_look_random = false + + #Entity Fish + [entity.fish] + #Remove the fish's AI task to follow a leader fish to act as a group of fish. + remove_follow_leader = false + #Remove the fish's random swimming pathfinder. This will cause fish to stay in position more often. + remove_swim = false + #Remove the fish's panic pathfinder. This will cause fish to not run away. + remove_panic = false + #Remove the fish's AI task to avoid players. + remove_avoid_player = false + #Remove the fish's AI task to puff up when entities are nearby + remove_puff = false + + #Squid Fish + [entity.squid] + #Remove the squid's flee pathfinder. This will cause squid to not run away. + remove_flee = false + #Remove the squid's random movement pathfinder. This will cause squid to swim around randomly. + remove_random_move = false + diff --git a/src/overrides/config/antiqueatlas.client.toml b/src/overrides/config/antiqueatlas.client.toml new file mode 100644 index 0000000..8d23e65 --- /dev/null +++ b/src/overrides/config/antiqueatlas.client.toml @@ -0,0 +1,60 @@ + +[appearance] + #The size (in GUI pixels) of a marker on the map. + #Note that this will change with Minecraft's GUI scale configuration. + #Range: > 0 + markerSize = 16 + #The size (in GUI pixels) of a map's tile. + #Note that this will change with Minecraft's GUI scale configuration. + #When using a small gui scale, the map may look better with a TILE_SIZE of 16 or more. + #Range: 1 ~ 10 + tileSize = 8 + #If true, the minimap will show the map of an atlas only while it is held. + #If false, the minimap will show the map of the first atlas in the hotbar. + requiresHold = true + #The width (in GUI pixels) of the player's icon. + #Range: > 0 + playerIconWidth = 14 + #The height (in GUI pixels) of the player's icon. + #Range: > 0 + playerIconHeight = 16 + #The width of the map border on the left and right sides of the minimap tiles. + #Represented as a fraction of the image width. + #Below a certain threshold, this border will be overtaken by the map border graphic. + #Range: 0.0 ~ 0.5 + borderX = 0.05 + #Set true to enable minimap + enabled = false + #The width of the map border on the top and bottom sides of the minimap tiles. + #Represented as a fraction of the image width. + #Below a certain threshold, this border will be overtaken by the map border graphic. + #Range: 0.0 ~ 0.5 + borderY = 0.05 + +[userInterface] + #Default zoom level. The number corresponds to the size of a block on the map relative to the size of a GUI pixel. Preferrably a power of 2. + #Range: 0.001953125 ~ 16.0 + defaultScale = 0.5 + #Maximum zoom level. The number corresponds to the size of a block on the map relative to the size of a GUI pixel. Preferrably a power of 2. + #Range: 0.001953125 ~ 16.0 + maxScale = 4.0 + #If false (by default), then mousewheel up is zoom in, mousewheel down is zoom out. + #If true, then the direction is reversed. + doReverseWheelZoom = false + #Minimum zoom level. The number corresponds to the size of a block on the map relative to the size of a GUI pixel. Preferrably a power of 2. Smaller values may decrease performance! + #Range: 0.001953125 ~ 16.0 + minScale = 0.03125 + +[gameplay] + #Whether to add local marker for the spot where the player died. + autoDeathMarker = true + #Player will need to craft atlas item to use atlas. + itemNeeded = true + #Whether to remember last open browsing position and zoom level for each dimension in every atlas. + #If disabled, all dimensions and all atlases will be "synchronized" at the same coordinates and zoom level, and map will "follow" player by default. + doSaveBrowsingPos = true + #Whether to add global markers for Nether Portals. + autoNetherPortalMarkers = true + #Whether to add global markers for NPC villages. + autoVillageMarkers = true + diff --git a/src/overrides/config/antiqueatlas.common.toml b/src/overrides/config/antiqueatlas.common.toml new file mode 100644 index 0000000..24972a4 --- /dev/null +++ b/src/overrides/config/antiqueatlas.common.toml @@ -0,0 +1,33 @@ + +[performance] + #Whether to rescan chunks in the area that have been previously mapped. This is useful in case of changes in coastline (including small ponds of water and lava), or if land disappears completely (for sky worlds). + #Disable for better performance. + doRescan = true + #Whether to perform additional scanning to locate ravines. + #Disable for better performance. + doScanRavines = true + #If true, map render time will be output. + debugRender = false + #The radius of the area around the player which is scanned by the Atlas at regular intervals. + #Note that this will not force faraway chunks to load, unless force_chunk_loading is enabled. + #Lower value gives better performance. + #Range: > 0 + scanRadius = 11 + #The maximum number of markers a particular atlas can hold. + #Range: > 0 + markerLimit = 1024 + #Whether to perform additional scanning to locate small ponds of water or lava. + #Disable for better performance. + doScanPonds = true + #Force loading of chunks within scan radius even if it exceeds regular chunk loading distance. + #Enabling this may SEVERELY decrease performance! + forceChunkLoading = false + #Time in seconds between two scans of the area. + #Higher value gives better performance. + #Range: 0.0 ~ 2.147483647E9 + newScanInterval = 1.0 + #The number of area scans between full rescans. + #Higher value gives better performance. + #Range: 1 ~ 1000 + rescanRate = 4 + diff --git a/src/overrides/config/appleskin-client.toml b/src/overrides/config/appleskin-client.toml new file mode 100644 index 0000000..568c1af --- /dev/null +++ b/src/overrides/config/appleskin-client.toml @@ -0,0 +1,24 @@ + +[client] + #If true, shows the hunger (and saturation if showSaturationHudOverlay is true) that would be restored by food you are currently holding + showFoodValuesHudOverlay = true + #If true, shows your food exhaustion as a progress bar behind the hunger bars + showFoodExhaustionHudUnderlay = true + #Alpha value of the flashing icons at their most visible point (1.0 = fully opaque, 0.0 = fully transparent) + #Range: 0.0 ~ 1.0 + maxHudOverlayFlashAlpha = 0.65 + #If true, health/hunger overlay will shake to match Minecraft's icon animations + showVanillaAnimationsOverlay = true + #If true, adds a line that shows your hunger, saturation, and exhaustion level in the F3 debug overlay + showFoodStatsInDebugOverlay = true + #If true, shows the hunger and saturation values of food in its tooltip while holding SHIFT + showFoodValuesInTooltip = true + #If true, shows the hunger and saturation values of food in its tooltip automatically (without needing to hold SHIFT) + showFoodValuesInTooltipAlways = true + #If true, shows estimated health restored by food on the health bar + showFoodHealthHudOverlay = true + #If true, shows your current saturation level overlayed on the hunger bar + showSaturationHudOverlay = true + #If true, enables the hunger/saturation/health overlays for food in your off-hand + showFoodValuesHudOverlayWhenOffhand = true + diff --git a/src/overrides/config/appliedenergistics2-client.toml b/src/overrides/config/appliedenergistics2-client.toml new file mode 100644 index 0000000..85f3da8 --- /dev/null +++ b/src/overrides/config/appliedenergistics2-client.toml @@ -0,0 +1,61 @@ + +[client] + #Controls buttons on Level Emitter Screen + #Range: 1 ~ 9 + levelByStacks0 = 1 + #Controls buttons on Priority Screen + #Range: 1 ~ 99 + priorityByStacks1 = 10 + #Controls buttons on Priority Screen + #Range: 1 ~ 9 + priorityByStacks0 = 1 + #Controls buttons on Level Emitter Screen + #Range: 1 ~ 99 + levelByStacks1 = 10 + #Controls buttons on Level Emitter Screen + #Range: 1 ~ 999 + levelByStacks2 = 100 + #Controls buttons on Priority Screen + #Range: 1 ~ 9999 + priorityByStacks3 = 1000 + #Controls buttons on Priority Screen + #Range: 1 ~ 999 + priorityByStacks2 = 100 + #Controls buttons on Level Emitter Screen + #Range: 1 ~ 9999 + levelByStacks3 = 1000 + #TODO + useTerminalUseLargeFont = false + #TODO + disableColoredCableRecipesInJEI = true + #Controls buttons on Crafting Screen + #Range: 1 ~ 99 + craftByStacks1 = 10 + #Controls buttons on Crafting Screen + #Range: 1 ~ 9 + craftByStacks0 = 1 + #TODO + useColoredCraftingStatus = true + #Controls buttons on Crafting Screen + #Range: 1 ~ 9999 + craftByStacks3 = 1000 + #Controls buttons on Crafting Screen + #Range: 1 ~ 999 + craftByStacks2 = 100 + #TODO + enableEffects = true + #Power unit shown in AE UIs + #Allowed Values: AE, RF + PowerUnit = "AE" + #Show debugging GUI overlays + showDebugGuiOverlays = false + +[terminals] + #Allowed Values: TALL, FULL, SMALL + terminalStyle = "TALL" + #Allowed Values: AUTOSEARCH, AUTOSEARCH_KEEP, MANUAL_SEARCH, MANUAL_SEARCH_KEEP, JEI_AUTOSEARCH, JEI_AUTOSEARCH_KEEP, JEI_MANUAL_SEARCH, JEI_MANUAL_SEARCH_KEEP + terminalSearchMode = "JEI_MANUAL_SEARCH" + #Should tooltips be searched. Performance impact + #Allowed Values: YES, NO, UNDECIDED + searchTooltips = "YES" + diff --git a/src/overrides/config/appliedenergistics2-common.toml b/src/overrides/config/appliedenergistics2-common.toml new file mode 100644 index 0000000..6d2f595 --- /dev/null +++ b/src/overrides/config/appliedenergistics2-common.toml @@ -0,0 +1,157 @@ + +#Warning: Disabling a feature may disable other features depending on it. +[features] + + [features.Facades] + #Unsupported: Allows whitelisting TileEntity as facades. Could work, have render issues, or corrupt your world. USE AT YOUR OWN RISK. + TileEntityFacades = false + + [features.Rendering] + #No comment + AlphaPass = true + + [features.Misc] + #No comment + CraftingLog = false + #No comment + IntegrationLogging = false + #No comment + DebugLogging = false + #No comment + PacketLogging = false + #No comment + UnsupportedDeveloperTools = false + #No comment + UpdateLogging = false + #No comment + WebsiteRecipes = false + #No comment + LogSecurityAudits = false + + [features.Commands] + #No comment + ChunkLoggerTrace = false + + [features.Crafting] + #No comment + EnableDisassemblyCrafting = true + #No comment + InWorldFluix = true + #No comment + InWorldSingularity = true + #No comment + InWorldPurification = true + #No comment + EnableFacadeCrafting = true + + [features.World] + #No comment + CertusQuartzWorldGen = true + #No comment + VillagerTrading = true + #No comment + SpawnPressesInMeteorites = true + #No comment + MeteoriteWorldGen = true + +[general] + #Will auto-remove items that crash when being loaded from storage. This will destroy those items instead of crashing the game! + removeCrashingItemsOnLoad = false + +[automation] + #TODO + formationPlaneEntityLimit = 128 + +[craftingCPU] + craftingCalculationTimePerTick = 5 + +[spatialio] + #BE CAREFUL, CAN CORRUPT YOUR WORLD! Will use #spatial/whitelist as whitelist. + spatialBlockTags = false + spatialPowerExponent = 1.35 + spatialPowerMultiplier = 1250.0 + +[GrindStone] + #Chance to actually get an output with stacksize > 1. + #Range: 0.0 ~ 100.0 + oreDoublePercentage = 90.0 + +[battery] + entropyManipulator = 200000 + chargedStaff = 8000 + wirelessTerminal = 1600000 + portableCell = 20000 + colorApplicator = 20000 + matterCannon = 200000 + +[worldGen] + quartzOresClusterAmount = 0 + meteoriteBiomeBlacklist = [] + quartzOresPerCluster = 0 + quartzOresBiomeBlacklist = [] + #Range: 0.0 ~ 1.0 + spawnChargedChance = 0.0 + +[wireless] + wirelessTerminalDrainMultiplier = 1.0 + wirelessBoosterExp = 1.5 + wirelessCostMultiplier = 1.0 + wirelessHighWirelessCount = 64.0 + wirelessBaseRange = 16.0 + wirelessBaseCost = 8.0 + wirelessBoosterRangeMultiplier = 1.0 + +[PowerRatios] + ForgeEnergy = 0.5 + #Range: 0.01 ~ 1.7976931348623157E308 + UsageMultiplier = 1.0 + +[Condenser] + Singularity = 256000 + MatterBalls = 256 + +# Min / Max Tickrates for dynamic ticking, most of these components also use sleeping, to prevent constant ticking, adjust with care, non standard rates are not supported or tested. +[tickRates] + ChargerMax = 120 + IOPortMax = 5 + METunnelMin = 5 + StorageBusMax = 60 + FluidStorageBusMax = 60 + LightTunnelMax = 60 + FluidExportBusMax = 60 + ItemTunnelMin = 5 + FluidImportBusMax = 40 + FluidStorageBusMin = 5 + IOPortMin = 1 + InterfaceMax = 120 + OpenComputersTunnelMax = 5 + StorageBusMin = 5 + InscriberMin = 1 + ImportBusMax = 40 + FluidImportBusMin = 5 + VibrationChamberMax = 40 + ImportBusMin = 5 + InterfaceMin = 5 + OpenComputersTunnelMin = 1 + AnnihilationPlaneMin = 2 + ExportBusMin = 5 + PressureTunnelMax = 120 + ChargerMin = 10 + METunnelMax = 20 + AnnihilationPlaneMax = 120 + InscriberMax = 1 + ItemTunnelMax = 60 + LightTunnelMin = 5 + ExportBusMax = 60 + PressureTunnelMin = 1 + FluidExportBusMin = 5 + VibrationChamberMin = 10 + +#Settings for in-world purification of crystals. +[inWorldPurification] + #A fluid tag that identifies fluids that improve crystal purification speed. Does not affect purification with water/lava. + improvedFluidTag = "" + #The speed multiplier to use when the crystals are submerged in the improved fluid. + #Range: 1.0 ~ 10.0 + improvedFluidMultiplier = 2.0 + diff --git a/src/overrides/config/aquaculture-common.toml b/src/overrides/config/aquaculture-common.toml new file mode 100644 index 0000000..d5229e2 --- /dev/null +++ b/src/overrides/config/aquaculture-common.toml @@ -0,0 +1,52 @@ + +["basic options"] + #Enable fish mob spawning? Weight & biomes can be modified in the Aquaculture fish loot table + "Enable fish spawning?" = true + "Should fish be added as compostables for the composter/worm farm? (Based on fish, or weight if enabled)" = true + "Enable debug mode? (Enables additional logging)" = false + "Should Aquaculture fish be able to be used to breed cats & ocelots?" = true + "Show Fillet recipes in JEI?" = true + "Enable weight for fish? Useful for fishing competitions" = false + + ["basic options"."Amount of Message In A Bottle messages"] + #Range: 0 ~ 255 + " Used to add additional custom messages" = 29 + +["neptunium options"] + #Should Neptune's bounty be added as fishing loot? Very rare. + "Add Neptune's Bounty as loot?" = true + "Enable recipes for Neptunium items?" = true + "Enable recipes for Neptunium armor?" = true + +["spawn options"] + + ["spawn options".starshell_turtle] + include = ["TWILIGHT"] + #Range: 0 ~ 64 + min = 1 + #Range: 0 ~ 64 + max = 2 + #Range: 0 ~ 100 + weight = 5 + exclude = [""] + + ["spawn options".arrau_turtle] + include = ["JUNGLE"] + #Range: 0 ~ 64 + min = 1 + #Range: 0 ~ 64 + max = 2 + #Range: 0 ~ 100 + weight = 8 + exclude = [""] + + ["spawn options".box_turtle] + include = ["SWAMP"] + #Range: 0 ~ 64 + min = 1 + #Range: 0 ~ 64 + max = 2 + #Range: 0 ~ 100 + weight = 10 + exclude = [""] + diff --git a/src/overrides/config/archers_paradox-client.toml b/src/overrides/config/archers_paradox-client.toml new file mode 100644 index 0000000..ca88d55 --- /dev/null +++ b/src/overrides/config/archers_paradox-client.toml @@ -0,0 +1,3 @@ +#If TRUE, Archer's Paradox will have its own Item Group (Creative Tab). +"Enable Item Group" = true + diff --git a/src/overrides/config/backtools.toml b/src/overrides/config/backtools.toml new file mode 100644 index 0000000..4b72764 --- /dev/null +++ b/src/overrides/config/backtools.toml @@ -0,0 +1,12 @@ + +#These options affect only the client that loads the mod. +[clientOnly] + #Enabled tools, by their resource name. Eg: minecraft:diamond_hoe. Putting any entry in this converts BackTools to a whitelist-only mod. Disabled Tools will be ignored. + enabledTools = [] + #Disabled tools, by their resource name. Eg: minecraft:diamond_hoe + disabledTools = [] + #Some nbt tags will cause back tools to appear improperly. Use this setting to cleanse the item tags. + nbtCleaner = ["Damage", "Charged", "ChargedProjectiles"] + #Tool orientation, by class file and degrees. Separate with ":" . See defaults for examples. + toolOrientation = ["net.minecraft.item.ToolItem:180", "net.minecraft.item.HoeItem:180", "net.minecraft.item.FishingRodItem:180", "net.minecraft.item.TridentItem:180", "net.minecraft.item.ShootableItem:90"] + diff --git a/src/overrides/config/betteradvancements-client.toml b/src/overrides/config/betteradvancements-client.toml new file mode 100644 index 0000000..44819ed --- /dev/null +++ b/src/overrides/config/betteradvancements-client.toml @@ -0,0 +1,23 @@ +defaultUncompletedIconColor = "#FFFFFF" +defaultUncompletedTitleColor = "#0489C1" +defaultCompletedIconColor = "#DBA213" +defaultCompletedTitleColor = "#DBA213" +doAdvancementsBackgroundFade = true +showDebugCoordinates = false +orderTabsAlphabetically = false +#Values below 50% might give odd results, use on own risk ;) +#Range: 1 ~ 100 +uiScaling = 100 +#Lists the criteria for partially completed advancements, e.g. the biomes required for 'Adventuring Time' +# Off: Vanilla default +# Default: List which criteria you have already obtained +# Spoiler: Only reveal unobtained criteria +# All: Show both obtained and unobtained criteria +criteriaDetail = "Default" +criteriaDetailRequiresShift = false +addInventoryButton = false +defaultDrawDirectLines = false +defaultHideLines = false +defaultCompletedLineColor = "#FFFFFF" +defaultUncompletedLineColor = "#FFFFFF" + diff --git a/src/overrides/config/betterburning-common.toml b/src/overrides/config/betterburning-common.toml new file mode 100644 index 0000000..c2a390c --- /dev/null +++ b/src/overrides/config/betterburning-common.toml @@ -0,0 +1,35 @@ + +#General settings for the mod. +[general] + #Should flint and steel deal fire damage when used as a weapon? + ShouldFlintAndSteelDoFireDamage = true + #Fixes some fire related damage sources not causing mobs to drop cooked items? + fireFromDamagesource = true + #How much fire damage should flint and steel do? + #Range: > 0 + flintAndSteelFireDamage = 3 + #What is the % chance skeletons will shoot flaming arrows while on fire? + #Range: 0.0 ~ 1.0 + flameArrowSkeletonChance = 0.7 + #How long should Soulfire burn players if they try to punch it out? + #Range: > 0 + soulfireHitBurnTime = 2 + #Can players put out fire with bottled water? + extinguishWithBottledWater = true + #Should the fire/burning HUD overlay be hidden if the player has fire immunity? + hideFireOverlayWhenImmune = true + #Should skeletons shoot flaming arrows while on fire? + flameArrowSkeletons = true + #Should players be able to put out fire blocks by punching them? + punchOutFlames = true + #How long should Fire burn players if they try to punch it out? + #Range: > 0 + fireHitBurnTime = 1 + #Should fire damage spread between mobs when they hurt eachother? Zombies already do this and won't be changed. + fireDamageSpreads = true + #What is the % chance that fire damage will spread between mobs? + #Range: 0.0 ~ 1.0 + fireDamageSpreadChance = 0.3 + #Should having fire resistance stop things from being on fire visually? + fireResistanceExtinguish = true + diff --git a/src/overrides/config/biomesoplenty/biomes.json b/src/overrides/config/biomesoplenty/biomes.json new file mode 100644 index 0000000..da0327d --- /dev/null +++ b/src/overrides/config/biomesoplenty/biomes.json @@ -0,0 +1,350 @@ +{ + "standard_weights": { + "biomesoplenty:alps": { + "weight": 0 + }, + "biomesoplenty:bayou": { + "weight": 10 + }, + "biomesoplenty:cherry_blossom_grove": { + "weight": 1 + }, + "biomesoplenty:cold_desert": { + "weight": 0 + }, + "biomesoplenty:coniferous_forest": { + "weight": 10 + }, + "biomesoplenty:crystalline_chasm": { + "weight": 5 + }, + "biomesoplenty:dead_forest": { + "weight": 3 + }, + "biomesoplenty:dryland": { + "weight": 3 + }, + "biomesoplenty:fungal_jungle": { + "weight": 1 + }, + "biomesoplenty:grassland": { + "weight": 3 + }, + "biomesoplenty:grove": { + "weight": 10 + }, + "biomesoplenty:highland": { + "weight": 5 + }, + "biomesoplenty:jade_cliffs": { + "weight": 3 + }, + "biomesoplenty:lavender_field": { + "weight": 3 + }, + "biomesoplenty:lush_desert": { + "weight": 1 + }, + "biomesoplenty:marsh": { + "weight": 0 + }, + "biomesoplenty:meadow": { + "weight": 7 + }, + "biomesoplenty:muskeg": { + "weight": 1 + }, + "biomesoplenty:mystic_grove": { + "weight": 1 + }, + "biomesoplenty:ominous_woods": { + "weight": 1 + }, + "biomesoplenty:prairie": { + "weight": 7 + }, + "biomesoplenty:rainforest": { + "weight": 7 + }, + "biomesoplenty:redwood_forest": { + "weight": 5 + }, + "biomesoplenty:scrubland": { + "weight": 7 + }, + "biomesoplenty:seasonal_forest": { + "weight": 7 + }, + "biomesoplenty:shrubland": { + "weight": 7 + }, + "biomesoplenty:snowy_coniferous_forest": { + "weight": 5 + }, + "biomesoplenty:tundra": { + "weight": 7 + }, + "biomesoplenty:undergrowth": { + "weight": 10 + }, + "biomesoplenty:visceral_heap": { + "weight": 7 + }, + "biomesoplenty:wasteland": { + "weight": 1 + }, + "biomesoplenty:wetland": { + "weight": 10 + }, + "biomesoplenty:withered_abyss": { + "weight": 3 + }, + "biomesoplenty:woodland": { + "weight": 7 + } + }, + "technical_biome_toggles": { + "biomesoplenty:alps_foothills": { + "enabled": true + }, + "biomesoplenty:gravel_beach": { + "enabled": true + }, + "biomesoplenty:orchard": { + "enabled": true + }, + "biomesoplenty:redwood_forest_edge": { + "enabled": true + }, + "biomesoplenty:tropic_beach": { + "enabled": true + }, + "biomesoplenty:volcanic_plains": { + "enabled": true + } + }, + "sub_biome_weights": { + "biomesoplenty:bamboo_blossom_grove": { + "weight": 100, + "rarity": 0.8 + }, + "biomesoplenty:bayou_mangrove": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:burnt_forest": { + "weight": 100, + "rarity": 0.6 + }, + "biomesoplenty:coniferous_lakes": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:deep_bayou": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:dense_woodland": { + "weight": 100, + "rarity": 0.9 + }, + "biomesoplenty:dry_boneyard": { + "weight": 100, + "rarity": 0.75 + }, + "biomesoplenty:fir_clearing": { + "weight": 100, + "rarity": 0.75 + }, + "biomesoplenty:flower_meadow": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:fungal_field": { + "weight": 100, + "rarity": 0.9 + }, + "biomesoplenty:golden_prairie": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:grassland_clover_patch": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:grove_clearing": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:grove_lakes": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:highland_crag": { + "weight": 100, + "rarity": 1.25 + }, + "biomesoplenty:highland_moor": { + "weight": 100, + "rarity": 0.75 + }, + "biomesoplenty:lavender_forest": { + "weight": 100, + "rarity": 0.6 + }, + "biomesoplenty:lush_savanna": { + "weight": 100, + "rarity": 0.65 + }, + "biomesoplenty:meadow_forest": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:mystic_plains": { + "weight": 100, + "rarity": 0.75 + }, + "biomesoplenty:ominous_mire": { + "weight": 100, + "rarity": 0.75 + }, + "biomesoplenty:rainforest_cliffs": { + "weight": 100, + "rarity": 2.0 + }, + "biomesoplenty:rainforest_floodplain": { + "weight": 100, + "rarity": 2.0 + }, + "biomesoplenty:redwood_hills": { + "weight": 100, + "rarity": 0.75 + }, + "biomesoplenty:seasonal_orchard": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:seasonal_pumpkin_patch": { + "weight": 100, + "rarity": 1.0 + }, + "biomesoplenty:shroomy_wetland": { + "weight": 100, + "rarity": 1.5 + }, + "biomesoplenty:shrubland_hills": { + "weight": 100, + "rarity": 0.75 + }, + "biomesoplenty:snowy_fir_clearing": { + "weight": 100, + "rarity": 0.75 + }, + "biomesoplenty:snowy_maple_forest": { + "weight": 100, + "rarity": 1.25 + }, + "biomesoplenty:tall_dead_forest": { + "weight": 100, + "rarity": 0.75 + }, + "biomesoplenty:tundra_basin": { + "weight": 0, + "rarity": 1.5 + }, + "biomesoplenty:tundra_bog": { + "weight": 100, + "rarity": 2.0 + }, + "biomesoplenty:wetland_forest": { + "weight": 100, + "rarity": 1.5 + }, + "biomesoplenty:wooded_scrubland": { + "weight": 100, + "rarity": 1.0 + } + }, + "island_biome_toggles": { + "biomesoplenty:origin_valley": { + "enabled": true + }, + "biomesoplenty:rainbow_hills": { + "enabled": true + }, + "biomesoplenty:tropics": { + "enabled": true + }, + "biomesoplenty:volcano": { + "enabled": true + } + }, + "vanilla_biome_weights": { + "minecraft:badlands_plateau": { + "weight": 10 + }, + "minecraft:basalt_deltas": { + "weight": 10 + }, + "minecraft:birch_forest": { + "weight": 5 + }, + "minecraft:crimson_forest": { + "weight": 10 + }, + "minecraft:dark_forest": { + "weight": 7 + }, + "minecraft:desert": { + "weight": 15 + }, + "minecraft:forest": { + "weight": 10 + }, + "minecraft:frozen_ocean": { + "weight": 3 + }, + "minecraft:giant_tree_taiga": { + "weight": 5 + }, + "minecraft:jungle": { + "weight": 10 + }, + "minecraft:lukewarm_ocean": { + "weight": 3 + }, + "minecraft:mountains": { + "weight": 6 + }, + "minecraft:nether_wastes": { + "weight": 10 + }, + "minecraft:plains": { + "weight": 10 + }, + "minecraft:savanna": { + "weight": 10 + }, + "minecraft:snowy_taiga": { + "weight": 7 + }, + "minecraft:snowy_tundra": { + "weight": 10 + }, + "minecraft:soul_sand_valley": { + "weight": 10 + }, + "minecraft:swamp": { + "weight": 7 + }, + "minecraft:taiga": { + "weight": 10 + }, + "minecraft:warped_forest": { + "weight": 10 + }, + "minecraft:wooded_badlands_plateau": { + "weight": 3 + } + } +} \ No newline at end of file diff --git a/src/overrides/config/biomesoplenty/client.toml b/src/overrides/config/biomesoplenty/client.toml new file mode 100644 index 0000000..b5321e0 --- /dev/null +++ b/src/overrides/config/biomesoplenty/client.toml @@ -0,0 +1,6 @@ + +#Client-related options. +[gui] + #Select the Biomes O' Plenty world type by default. + use_world_type = true + diff --git a/src/overrides/config/biomesoplenty/generation.toml b/src/overrides/config/biomesoplenty/generation.toml new file mode 100644 index 0000000..b92989d --- /dev/null +++ b/src/overrides/config/biomesoplenty/generation.toml @@ -0,0 +1,20 @@ + +#World generation related options. +[overworld] + #Type of rainfall zones to use during biome placement. + #Allowed Values: SMALL_ZONES, MEDIUM_ZONES, LARGE_ZONES, RANDOM + rainfall_variation_scheme = "MEDIUM_ZONES" + #Enhance vanilla biomes by adding additional decoration. + enhance_vanilla_biomes = true + #The size of generated biomes. + #Allowed Values: TINY, SMALL, MEDIUM, LARGE, HUGE + biome_size = "MEDIUM" + #Type of temperature zones to use during biome placement. + #Allowed Values: LATITUDE, SMALL_ZONES, MEDIUM_ZONES, LARGE_ZONES, RANDOM + temperature_variation_scheme = "MEDIUM_ZONES" + #Enable nether generation from Biomes O' Plenty. + use_bop_nether = true + #The size of generated rivers. + #Allowed Values: TINY, SMALL, MEDIUM, LARGE, HUGE + river_size = "MEDIUM" + diff --git a/src/overrides/config/blockcarpentry-common.toml b/src/overrides/config/blockcarpentry-common.toml new file mode 100644 index 0000000..70ccd87 --- /dev/null +++ b/src/overrides/config/blockcarpentry-common.toml @@ -0,0 +1,11 @@ + +#Tool settings +[tools] + #Determines whether you need a hammer to remove blocks from a frame, when set to false, you can remove blocks from a frame by sneaking and right-clicking the block (default: true) + hammer_needed = true + +#Block settings +[blocks] + #Determines whether you have to sneak when placing vertical slabs, when set to false, frame slabs will always be placed on the side of the block; when set to true, frame slabs will be placed like vanilla slabs, and you have to sneak in order to make place vertical slabs (default: true) + sneak_for_vertical_slabs = true + diff --git a/src/overrides/config/buddycards-client.toml b/src/overrides/config/buddycards-client.toml new file mode 100644 index 0000000..e677afc --- /dev/null +++ b/src/overrides/config/buddycards-client.toml @@ -0,0 +1,170 @@ + +[mobDrops] + # + #Odds of baby villager dropping base set packs, 0 for 0%, 1 for 100%, default is 5% + #Range: 0.0 ~ 1.0 + villagerChance = 0.05 + # + #Odds of baby piglin dropping nether set packs, 0 for 0%, 1 for 100%, default is 5% + #Range: 0.0 ~ 1.0 + piglinChance = 0.05 + # + #Odds of ender dragons dropping end set packs, 0 for 0%, 1 for 100%, default is 100% + #Range: 0.0 ~ 1.0 + dragonChance = 1.0 + # + #Odds of enderlings dropping end set packs, 0 for 0%, 1 for 100%, default is 10% + #Range: 0.0 ~ 1.0 + enderlingChance = 0.1 + # + #Maximum amount of packs dropped when a dragon drops packs, default is 4 + #Range: 1 ~ 16 + dragonMaxPacks = 4 + # + #Odds of withers dropping nether set packs, 0 for 0%, 1 for 100%, default is 50% + #Range: 0.0 ~ 1.0 + witherChance = 0.5 + # + #Odds of baby zombie villager dropping base set packs, 0 for 0%, 1 for 100%, default is 10% + #Range: 0.0 ~ 1.0 + zombieVillagerChance = 0.1 + # + #Maximum amount of packs dropped when a wither drops packs, default is 3 + #Range: 1 ~ 16 + witherMaxPacks = 3 + # + #Odds of baby zombie dropping base set packs, 0 for 0%, 1 for 100%, default is 5% + #Range: 0.0 ~ 1.0 + zombieChance = 0.05 + # + #Odds of baby zombie piglin dropping nether set , 0 for 0%, 1 for 100%, default is 5% + #Range: 0.0 ~ 1.0 + zombiePiglinChance = 0.05 + # + #Odds of shulkers dropping end set packs, 0 for 0%, 1 for 100%, default is 5% + #Range: 0.0 ~ 1.0 + shulkerChance = 0.05 + +[integration] + # + #Odds of fishing up an Aquaculture set card or pack while using a buddycard hook, 0-1, default is .075 + #Range: 0.0 ~ 1.0 + aquacultureFishingChance = 0.05 + +[challenge] + # + #Multiplier for challenge points from base set, 0-10, default is 1 + #Range: 0.0 ~ 10.0 + set1Multiplier = 1.0 + # + #Multiplier for challenge points with grade B, 0-10, default is 1.8 + #Range: 0.0 ~ 10.0 + grade3Multiplier = 1.7999999523162842 + # + #Multiplier for challenge points with grade C, 0-10, default is 1.4 + #Range: 0.0 ~ 10.0 + grade2Multiplier = 1.399999976158142 + # + #Base challenge points for rare cards, 1-100, default is 4 + #Range: 1 ~ 100 + pointsRare = 4 + # + #Multiplier for challenge points from nether set, 0-10, default is 1.2 + #Range: 0.0 ~ 10.0 + set2Multiplier = 1.2000000476837158 + # + #Enable Challenge mode, assigning cards point values, and giving each player a challenge binder, default is false + doChallengeMode = false + # + #Base challenge points for uncommon cards, 1-100, default is 2 + #Range: 1 ~ 100 + pointsUncommon = 2 + # + #Multiplier for challenge points with grade D, 0-10, default is 1 + #Range: 0.0 ~ 10.0 + grade1Multiplier = 1.0 + # + #Multiplier for challenge points from end set, 0-10, default is 2 + #Range: 0.0 ~ 10.0 + set3Multiplier = 2.0 + # + #Multiplier for challenge points from byg set, 0-10, default is 2 + #Range: 0.0 ~ 10.0 + set4Multiplier = 2.0 + # + #Base challenge points for common cards, 1-100, default is 1 + #Range: 1 ~ 100 + pointsCommon = 1 + # + #Multiplier for challenge points on shiny cards, 0-10, default is 1.5 + #Range: 0.0 ~ 10.0 + shinyMultiplier = 1.5 + # + #Multiplier for challenge points from create set, 0-10, default is 1 + #Range: 0.0 ~ 10.0 + set5Multiplier = 1.0 + # + #Base challenge points for epic cards, 1-100, default is 8 + #Range: 1 ~ 100 + pointsEpic = 8 + # + #Multiplier for challenge points with grade S, 0-10, default is 10 + #Range: 0.0 ~ 10.0 + grade5Multiplier = 10.0 + # + #Multiplier for challenge points from fd set, 0-10, default is 1 + #Range: 0.0 ~ 10.0 + set7Multiplier = 1.0 + # + #Multiplier for challenge points from aquaculture set, 0-10, default is 0.9 + #Range: 0.0 ~ 10.0 + set6Multiplier = 0.8999999761581421 + # + #Multiplier for challenge points with grade A, 0-10, default is 2.5 + #Range: 0.0 ~ 10.0 + grade4Multiplier = 2.5 + +[luminis] + # + #Amount of veins of Luminis generated per chunk, 1-24, default is 1 + #Range: 0 ~ 36 + perChunk = 1 + # + #Odds of deep Luminis crystals being dropped by Luminis ore, note this can be doubled with certain gear, 0 for 0%, 1 for 100%, default is 3.5% + #Range: 0.0 ~ 1.0 + deepLuminisOdds = 0.035 + # + #Maximum Y value for Luminis to generate, 1-120, default is 24 + #Range: 1 ~ 120 + maxY = 24 + # + #Size of Luminis veins, 1-36, default is 8 + #Range: 1 ~ 36 + veinSize = 8 + # + #Odds of a random shiny non-epic card being dropped by Luminis ore when using the Luminis Medal, 0 for 0%, 1 for 100%, default is 2% + #Range: 0.0 ~ 1.0 + cardLuminisOdds = 0.02 + +[enderling] + # + #Odds for an Enderling to spawn with an Enderman in the Nether, 0-1, default is 0.5% + #Range: 0.0 ~ 1.0 + netherOdds = 0.005 + # + #Odds for an Enderling to spawn with an Enderman in the End, 0-1, default is 0.5% + #Range: 0.0 ~ 1.0 + endOdds = 0.005 + # + #Odds for an Enderling to spawn with an Enderman in the Overworld, 0-1, default is 1.5% + #Range: 0.0 ~ 1.0 + overOdds = 0.015 + +[misc] + # + #Mystery packs can be used to find any card in the mod, loaded or not, default is false + boringMysteryPacks = false + # + #Enables medal effects, default is true + doMedalEffects = true + diff --git a/src/overrides/config/bwncr-common.toml b/src/overrides/config/bwncr-common.toml new file mode 100644 index 0000000..f0fdaba --- /dev/null +++ b/src/overrides/config/bwncr-common.toml @@ -0,0 +1,16 @@ + +[General] + #Silence the wandering trader's ambient sound. + silenceTrader = true + #Silence the server-wide Wither spawn and death broadcast sounds. + silenceWither = true + #Silence the server-wide Ender Dragon Death broadcast sound. + silenceDragon = true + #Silence the server-wide Thunder broadcast sound caused by the Lightning event + silenceLightning = true + #If enabled the console will load up spam showing what sounds are being received and whether or not they are being canceled + debugMode = false + #A list of sounds to silence, discoverable with the toggle command /listen + #enter one sound event per line with no commas. + silenceUs = [""] + diff --git a/src/overrides/config/cavebiomeapi-common.toml b/src/overrides/config/cavebiomeapi-common.toml new file mode 100644 index 0000000..7f9cea4 --- /dev/null +++ b/src/overrides/config/cavebiomeapi-common.toml @@ -0,0 +1,7 @@ + +[worldgen] + + [worldgen.experimental] + "Generate Underwater Caves" = false + "Generate Small Noise Caves" = true + diff --git a/src/overrides/config/cavern-common.toml b/src/overrides/config/cavern-common.toml new file mode 100644 index 0000000..987aa3c --- /dev/null +++ b/src/overrides/config/cavern-common.toml @@ -0,0 +1,20 @@ +"Generate caverns in the underground" = true +"Generate cave tunnels in the underground" = true +"Generate Previous Caves" = false + +["This value sets the cavern cave generation size, Big number = Small Cavern Generation"] + #Range: 1.0 ~ 10.0 + " XZ Size Value" = 1.0 + +["This value sets the cavern cave generation height, Big number = Shorter Height Cavern Generation"] + #Range: 1.0 ~ 20.0 + " Y Size Value" = 8.24 + +["This value sets the tunnel cave generation size, Big number = Small Tunnel Cave Generation"] + #Range: 1.0 ~ 10.0 + " XZ Size Value" = 1.2 + +["This value sets the tunnel cave generation height, Big number = Shorter Height Tunnel Cave Generation"] + #Range: 1.0 ~ 20.0 + " Y Size Value" = 14.24 + diff --git a/src/overrides/config/ccl.cfg b/src/overrides/config/ccl.cfg new file mode 100644 index 0000000..5df6d2b --- /dev/null +++ b/src/overrides/config/ccl.cfg @@ -0,0 +1,10 @@ +"client" { + # With this enabled, CCL will catch all exceptions thrown whilst rendering blocks. + # If an exception is caught, the block will not be rendered. + B:"catchBlockRenderExceptions"=true + + # With this enabled, CCL will catch all exceptions thrown whilst rendering items. + # By default CCL will only enhance the crash report, but with 'attemptRecoveryOnItemRenderException' enabled + # CCL will attempt to recover after the exception. + B:"catchItemRenderExceptions"=true +} diff --git a/src/overrides/config/chiselsandbits-client.toml b/src/overrides/config/chiselsandbits-client.toml new file mode 100644 index 0000000..76d64bc --- /dev/null +++ b/src/overrides/config/chiselsandbits-client.toml @@ -0,0 +1,76 @@ + +#Gameplay settings +[settings] + + #Bit-Bag settings + [settings.bit-bag] + #Should the durability bar display the emptiness of the bag instead of the fullness? + invert-durability-bar-indication = false + + #Configures the tool mode icons used to render the selected tool modes of tools in the hot bar. + [settings.selected-tool-mode-icons] + #Sets which tool mode icon renderer is in use. Currently C&B provides: `chiselsandbits:group` (Render the group icon in the top right corner) and `chiselsandbits:noop` (No icon) as options. + renderer = "chiselsandbits:group" + + #Configures the chiseling and placement previews. + [settings.chiseling-previews] + #Sets which preview renderer is in use. Currently C&B provides: `chiselsandbits:default` (Simple outline rendering) and `chiselsandbits:noop` (No preview) as options. + renderer = "chiselsandbits:default" + + #Configures the default chiseling and placement preview. + [settings.chiseling-previews.default] + + #Configures the colors of the outlines that the chiseling and placement preview have. + [settings.chiseling-previews.default.colors] + #The color for the chiseling preview outline. + chiseling = [0.85, 0.0, 0.0, 0.65] + #The color for the placement preview outline. + placement = [0.0, 0.85, 0.0, 0.65] + +#Performance related options. +[performance] + + #Options related to the building of the chiseled block models. + [performance.model-building] + #How many CPU threads should be used to build models? + #Range: 1 ~ 4 + thead-count = 2 + + #Configures caches + [performance.caches] + + #Cache size related options. + [performance.caches.sizes] + #Size of the bit storage inner models cache. + #Range: 0 ~ 9223372036854775807 + bit-storage-content-models = 100 + #Size of the block model cache. + #Range: 3500 ~ 20000 + block-models = 10000 + #Size of the model face cache. + #Range: 3500 ~ 20000 + block-faces = 10000 + + #Lighting related options. + [performance.lighting] + #Should C&B pull lighting values from model faces. + extract-lighting-values-from-faces = true + #Should C&B pull lighting values from blockstates. + extract-lighting-values-from-blockstates = true + +#Options for the GUI +[gui] + + #Options for the radial menu. + [gui.radial-menu] + #Should the mouse indicator be rendered? + display-mouse-indicator = false + +#Configures options related to different compatibility modules. +[compat] + + #Compatibility options for JEI. + [compat.jei] + #Should C&B inject its bits into JEI? + inject-bits = true + diff --git a/src/overrides/config/chiselsandbits-common.toml b/src/overrides/config/chiselsandbits-common.toml new file mode 100644 index 0000000..12fd3ac --- /dev/null +++ b/src/overrides/config/chiselsandbits-common.toml @@ -0,0 +1,18 @@ + +#Options for getting help in game. +[help] + #Should the help information be visible in tooltips? + enabled-in-tooltips = true + +#Performance related options. +[performance] + + #Configures caches + [performance.caches] + + #Cache size related options. + [performance.caches.sizes] + #Size of the collision box cache. + #Range: -9223372036854775808 ~ 9223372036854775807 + collision-boxes = 10000 + diff --git a/src/overrides/config/cobblegenrandomizer-common.toml b/src/overrides/config/cobblegenrandomizer-common.toml new file mode 100644 index 0000000..074cc9a --- /dev/null +++ b/src/overrides/config/cobblegenrandomizer-common.toml @@ -0,0 +1,33 @@ + +#General settings +[general] + #Use config instead of datapack + use_config = true + + #List settings + #Syntax: ["modid:block|weight"] + #Example: ["minecraft:stone|2","minecraft:dirt|1"] + #Forge tags are supported + [general.lists] + #Basalt gen + block_list_basalt = ["minecraft:basalt|100"] + #Cobble gen + block_list_cobble = ["minecraft:cobblestone|100"] + #Stone gen + block_list_stone = ["minecraft:stone|100"] + + #Custom settings + [general.lists.custom] + #Custom generators + #Syntax: [gen] + #Gen: [type, block, list] + #Type: cobblestone, stone + #Block: resource location of the block below the generated block + #List: see List settings + #Examples: + #custom_generators = [ + # ["cobblestone", "minecraft:diamond_block", ["minecraft:diamond_block"]], + # ["cobblestone", "minecraft:dirt", ["forge:dirt"]], + # ["cobblestone", "minecraft:white_wool", ["minecraft:wool"]]] + custom_generators = [["cobblestone", "minecraft:bedrock", ["create:andesite_cobblestone|25", "create:granite_cobblestone|25", "create:diorite_cobblestone|25", "create:gabbro_cobblestone|25"]], ["stone", "minecraft:bedrock", ["minecraft:andesite|25", "minecraft:granite|25", "minecraft:diorite|25", "create:gabbro|25"]]] + diff --git a/src/overrides/config/cofh_core-client.toml b/src/overrides/config/cofh_core-client.toml new file mode 100644 index 0000000..d9360d1 --- /dev/null +++ b/src/overrides/config/cofh_core-client.toml @@ -0,0 +1,13 @@ + +[Tooltips] + #If TRUE and Advanced Tooltips are enabled (F3+H), Tags will be will be added to item tooltips if possible. + "Show Item Tags" = true + #If TRUE, CoFH Items will display a message prompting to hold Shift to see full details (charge state, etc.). This does not change the behavior, only if the informational message should display. + "Show 'Hold Shift for Details' Message" = true + #If TRUE, CoFH Items will always show full details (charge state, etc.) and will not require Shift to be held down. + "Always Show Item Details" = false + #If TRUE, Item descriptions will be added to their tooltips if possible. + "Show Item Descriptions" = true + #If TRUE, Enchantment descriptions will be added to the tooltip for Enchanted Books containing only a single enchantment. + "Show Enchantment Descriptions" = true + diff --git a/src/overrides/config/computercraft-client.toml b/src/overrides/config/computercraft-client.toml new file mode 100644 index 0000000..b1ba4d6 --- /dev/null +++ b/src/overrides/config/computercraft-client.toml @@ -0,0 +1,7 @@ +#The renderer to use for monitors. Generally this should be kept at "best" - if monitors have performance issues, you may wish to experiment with alternative renderers. +#Allowed Values: BEST, TBO, VBO +monitor_renderer = "BEST" +#The maximum distance monitors will render at. This defaults to the standard tile entity limit, but may be extended if you wish to build larger monitors. +#Range: 16 ~ 1024 +monitor_distance = 64 + diff --git a/src/overrides/config/configured-client.toml b/src/overrides/config/configured-client.toml new file mode 100644 index 0000000..1f6caf7 --- /dev/null +++ b/src/overrides/config/configured-client.toml @@ -0,0 +1,3 @@ +#Forces all config menus to be overridden and generated by Configured. This requires the game to be restarted for the changes to apply. +forceConfiguredMenu = false + diff --git a/src/overrides/config/connectivity-common.toml b/src/overrides/config/connectivity-common.toml new file mode 100644 index 0000000..d7998fe --- /dev/null +++ b/src/overrides/config/connectivity-common.toml @@ -0,0 +1,20 @@ + +["Connectivity settings"] + #If enabled all packets exceeding normal limits will be printed to log. default:false + debugPrintMessages = false + #Set the max login timeout in ticks. 20 ticks = 1 sec, default = 120 seconds + #Range: 600 ~ 20000 + logintimeout = 2400 + #Should play packet size limits be disabled? Error:(Badly compressed packet) default:true + disablePacketLimits = true + #Enable to see the full log output for all resource location exceptions. Default = false + showFullResourceLocationException = false + #Should login packet size limits be disabled? Error:(IOException("Payload may not be larger than 1048576 bytes")) default:true + disableLoginLimits = true + #Set the ingame disconnect timeout for disconnecting players. Default = 60sec + #Range: 15 ~ 400 + disconnectTimeout = 60 + #Set the amount of minutes for which network packet history data is saved. Default = 5 minutes + #Range: 1 ~ 400 + packetHistoryMinutes = 5 + diff --git a/src/overrides/config/constructionwand-client.toml b/src/overrides/config/constructionwand-client.toml new file mode 100644 index 0000000..dbe89c4 --- /dev/null +++ b/src/overrides/config/constructionwand-client.toml @@ -0,0 +1,16 @@ + +#This is the Client config for ConstructionWand. +#If you're not familiar with Forge's new split client/server config, let me explain: +#Client config is stored in the /config folder and only contains client specific settings like graphics and keybinds. +#Mod behavior is configured in the Server config, which is world-specific and thus located +#in the /saves/myworld/serverconfig folder. If you want to change the serverconfig for all +#new worlds, copy the config files in the /defaultconfigs folder. +[keys] + #Key code of OPTKEY (Default: Left Control). Look up key codes under https://www.glfw.org/docs/3.3/group__keys.html + #Range: 0 ~ 350 + OptKey = 341 + #Press SNEAK+OPTKEY instead of SNEAK for changing wand mode/direction lock + ShiftOpt = false + #Press SNEAK+OPTKEY instead of SNEAK for opening wand GUI + ShiftOptGUI = true + diff --git a/src/overrides/config/cookiecore-client.toml b/src/overrides/config/cookiecore-client.toml new file mode 100644 index 0000000..da7e99c --- /dev/null +++ b/src/overrides/config/cookiecore-client.toml @@ -0,0 +1,5 @@ +#Set to empty to disable trans bees. Separate names with a space +transBeeNames = ["zoe"] +#Enable the CookieRealm Flat world preset +enableTerracottaWorldPreset = true + diff --git a/src/overrides/config/cosmeticarmorreworked-client.toml b/src/overrides/config/cosmeticarmorreworked-client.toml new file mode 100644 index 0000000..3784ee6 --- /dev/null +++ b/src/overrides/config/cosmeticarmorreworked-client.toml @@ -0,0 +1,28 @@ + +#These settings only affects client +[Client] + #The horizontal pixel distance from the origin point of player inventory gui + #Range: > -2147483648 + CosArmorGuiButton_Left = 65 + #The vertical pixel distance from the origin point of player inventoy gui + #Range: > -2147483648 + CosArmorGuiButton_Top = 67 + #Whether or not to hide the button for toggling the mod temporarily on client side + CosArmorToggleButton_Hidden = false + #Whether or not to hide the button for opening CosmeticArmorInventory in CreativeInventory + CosArmorCreativeGuiButton_Hidden = false + #The horizontal pixel distance from the origin point of player inventory gui + #Range: > -2147483648 + CosArmorToggleButton_Left = 59 + #The vertical pixel distance from the origin point of creative inventoy gui + #Range: > -2147483648 + CosArmorCreativeGuiButton_Top = 38 + #Whether or not to hide the button for opening CosmeticArmorInventory + CosArmorGuiButton_Hidden = false + #The vertical pixel distance from the origin point of player inventory gui + #Range: > -2147483648 + CosArmorToggleButton_Top = 72 + #The horizontal pixel distance from the origin point of creative inventory gui + #Range: > -2147483648 + CosArmorCreativeGuiButton_Left = 95 + diff --git a/src/overrides/config/cosmeticarmorreworked-common.toml b/src/overrides/config/cosmeticarmorreworked-common.toml new file mode 100644 index 0000000..ea741ab --- /dev/null +++ b/src/overrides/config/cosmeticarmorreworked-common.toml @@ -0,0 +1,10 @@ + +#These settings affects both server and client +[Common] + #Whether or not to disable the RecipeBook in the CosmeticArmorInventory + CosArmorDisableRecipeBook = false + #Whether or not to keep items in cosmetic armor slots in the event of player death + CosArmorKeepThroughDeath = false + #Whether or not to disable the coshat command + CosArmorDisableCosHatCommand = false + diff --git a/src/overrides/config/craftingtweaks-client.toml b/src/overrides/config/craftingtweaks-client.toml new file mode 100644 index 0000000..96afc43 --- /dev/null +++ b/src/overrides/config/craftingtweaks-client.toml @@ -0,0 +1,17 @@ + +#Crafting Tweaks Client Configuration +[client] + #Set this to true if you don't want the tweak buttons' tooltips to show. + hideButtonTooltips = false + #This option is toggled by the 'Toggle Buttons' key that can be defined in the Controls settings. + hideButtons = false + #We both know JEI is much better. This option hides Vanilla's crafting book button instead of moving it. + hideVanillaCraftingGuide = false + #Add modids here of mods that you wish to disable Crafting Tweaks support for. + disabledAddons = [] + #Set to 'DEFAULT' to enable both buttons and hotkeys. Set to 'BUTTONS' to enable buttons only. Set to 'HOTKEYS' to enable hotkeys only. + #Allowed Values: DEFAULT, BUTTONS, HOTKEYS, DISABLED + craftingTweaksMode = "DEFAULT" + #If set to true, right-clicking the result slot in a crafting table will craft a full stack. + rightClickCraftsStack = true + diff --git a/src/overrides/config/craftingtweaks-common.toml b/src/overrides/config/craftingtweaks-common.toml new file mode 100644 index 0000000..8787b0e --- /dev/null +++ b/src/overrides/config/craftingtweaks-common.toml @@ -0,0 +1,8 @@ + +#Crafting Tweaks Configuration +[common] + #Set this to true if you want the (de)compress feature to work outside of crafting GUIs (only works if installed on server) + compressAnywhere = false + #A list of modid:name entries that will not be crafted by the compress key. + compressBlacklist = ["minecraft:sandstone", "minecraft:iron_trapdoor"] + diff --git a/src/overrides/config/create-client.toml b/src/overrides/config/create-client.toml new file mode 100644 index 0000000..1746702 --- /dev/null +++ b/src/overrides/config/create-client.toml @@ -0,0 +1,120 @@ + +# +#Client-only settings - If you're looking for general settings, look inside your worlds serverconfig folder! +[client] + # + #Choose the menu row that the Create config button appears on in the main menu + #Set to 0 to disable the button altogether + #Range: 0 ~ 4 + mainMenuConfigButtonRow = 2 + # + #Choose the menu row that the Create config button appears on in the in-game menu + #Set to 0 to disable the button altogether + #Range: 0 ~ 5 + ingameMenuConfigButtonRow = 3 + # + #Higher density means more spawned particles. + #Range: 0.0 ~ 1.0 + fanParticleDensity = 0.5 + # + #The maximum amount of blocks for which to try and calculate dynamic contraption lighting. Decrease if large contraption cause too much lag + #Range: > 0 + maximumContraptionLightVolume = 16384 + # + #Log a stack-trace when rendering issues happen within a moving contraption. + explainRenderErrors = false + # + #[in Blocks] + #Maximum Distance to the player at which items in Blocks' filter slots will be displayed + #Range: 1.0 ~ 3.4028234663852886E38 + filterItemRenderDistance = 10.0 + # + #Show colourful debug information while the F3-Menu is open. + enableRainbowDebug = true + # + #Display a tooltip when looking at overstressed components. + enableOverstressedTooltip = true + # + #Use modern OpenGL features to drastically increase performance. + experimentalRendering = true + # + #Offset the Create config button in the in-game menu by this many pixels on the X axis + #The sign (-/+) of this value determines what side of the row the button appears on (left/right) + #Range: > -2147483648 + ingameMenuConfigButtonOffsetX = -4 + # + #Setting this to true will prevent Create from sending you a warning when playing with Fabulous graphics enabled + ignoreFabulousWarning = false + # + #Offset the Create config button in the main menu by this many pixels on the X axis + #The sign (-/+) of this value determines what side of the row the button appears on (left/right) + #Range: > -2147483648 + mainMenuConfigButtonOffsetX = -4 + # + #Show item descriptions on Shift and controls on Ctrl. + enableTooltips = true + + # + #Sound settings + [client.sound] + # + #Make cogs rumble and machines clatter. + enableAmbientSounds = true + # + #Maximum volume modifier of Ambient noise + #Range: 0.0 ~ 1.0 + ambientVolumeCap = 0.10000000149011612 + + # + #Ponder settings + [client.ponder] + # + #Slow down a ponder scene whenever there is text on screen. + comfyReading = false + + # + #Settings for the Goggle Overlay + [client.goggleOverlay] + # + #Enable this to use your custom colors for the Goggle- and Hover- Overlay + customColorsOverlay = false + # + #Offset the overlay from goggle- and hover- information by this many pixels on the respective axis; Use /create overlay + #Range: > -2147483648 + overlayOffsetY = 0 + # + #Offset the overlay from goggle- and hover- information by this many pixels on the respective axis; Use /create overlay + #Range: > -2147483648 + overlayOffsetX = 20 + # + #The custom top color of the border gradient to use for the Goggle- and Hover- Overlays, if enabled + #[in Hex: #AaRrGgBb] + #[@cui:IntDisplay:#] + #Range: > -2147483648 + customBorderTopOverlay = 1347420415 + # + #The custom background color to use for the Goggle- and Hover- Overlays, if enabled + #[in Hex: #AaRrGgBb] + #[@cui:IntDisplay:#] + #Range: > -2147483648 + customBackgroundOverlay = -267386864 + # + #The custom bot color of the border gradient to use for the Goggle- and Hover- Overlays, if enabled + #[in Hex: #AaRrGgBb] + #[@cui:IntDisplay:#] + #Range: > -2147483648 + customBorderBotOverlay = 1344798847 + + # + #Settings for the Placement Assist + [client.placementAssist] + # + #Change the size of the Indicator by this multiplier + #Range: 0.0 ~ 3.4028234663852886E38 + indicatorScale = 1.0 + # + #What indicator should be used when showing where the assisted placement ends up relative to your crosshair + #Choose 'NONE' to disable the Indicator altogether + #Allowed Values: TEXTURE, TRIANGLE, NONE + indicatorType = "TEXTURE" + diff --git a/src/overrides/config/create-common.toml b/src/overrides/config/create-common.toml new file mode 100644 index 0000000..8beb5da --- /dev/null +++ b/src/overrides/config/create-common.toml @@ -0,0 +1,136 @@ + +[worldgen] + + # + #Modify Create's impact on your terrain + [worldgen.v2] + # + #Prevents all worldgen added by Create from taking effect + disableWorldGen = false + + [worldgen.v2.copper_ore] + # + #Range: > 0 + minHeight = 40 + # + #Range: > 0 + maxHeight = 85 + # + #Range: > 0 + clusterSize = 18 + # + #Amount of clusters generated per Chunk. + # >1 to spawn multiple. + # <1 to make it a chance. + # 0 to disable. + #Range: 0.0 ~ 512.0 + frequency = 2.0 + + [worldgen.v2.weathered_limestone] + # + #Range: > 0 + minHeight = 10 + # + #Range: > 0 + maxHeight = 30 + # + #Range: > 0 + clusterSize = 128 + # + #Amount of clusters generated per Chunk. + # >1 to spawn multiple. + # <1 to make it a chance. + # 0 to disable. + #Range: 0.0 ~ 512.0 + frequency = 0.0 + + [worldgen.v2.zinc_ore] + # + #Range: > 0 + minHeight = 15 + # + #Range: > 0 + maxHeight = 70 + # + #Range: > 0 + clusterSize = 14 + # + #Amount of clusters generated per Chunk. + # >1 to spawn multiple. + # <1 to make it a chance. + # 0 to disable. + #Range: 0.0 ~ 512.0 + frequency = 4.0 + + [worldgen.v2.limestone] + # + #Range: > 0 + minHeight = 30 + # + #Range: > 0 + maxHeight = 70 + # + #Range: > 0 + clusterSize = 128 + # + #Amount of clusters generated per Chunk. + # >1 to spawn multiple. + # <1 to make it a chance. + # 0 to disable. + #Range: 0.0 ~ 512.0 + frequency = 0.015625 + + [worldgen.v2.dolomite] + # + #Range: > 0 + minHeight = 20 + # + #Range: > 0 + maxHeight = 70 + # + #Range: > 0 + clusterSize = 128 + # + #Amount of clusters generated per Chunk. + # >1 to spawn multiple. + # <1 to make it a chance. + # 0 to disable. + #Range: 0.0 ~ 512.0 + frequency = 0.015625 + + [worldgen.v2.gabbro] + # + #Range: > 0 + minHeight = 20 + # + #Range: > 0 + maxHeight = 70 + # + #Range: > 0 + clusterSize = 128 + # + #Amount of clusters generated per Chunk. + # >1 to spawn multiple. + # <1 to make it a chance. + # 0 to disable. + #Range: 0.0 ~ 512.0 + frequency = 0.015625 + + [worldgen.v2.scoria] + # + #Range: > 0 + minHeight = 0 + # + #Range: > 0 + maxHeight = 10 + # + #Range: > 0 + clusterSize = 128 + # + #Amount of clusters generated per Chunk. + # >1 to spawn multiple. + # <1 to make it a chance. + # 0 to disable. + #Range: 0.0 ~ 512.0 + frequency = 0.0 + diff --git a/src/overrides/config/curios-client.toml b/src/overrides/config/curios-client.toml new file mode 100644 index 0000000..1bdeaae --- /dev/null +++ b/src/overrides/config/curios-client.toml @@ -0,0 +1,21 @@ + +#Client only settings, mostly things related to rendering +[client] + #The corner for the Curios GUI button + #Allowed Values: TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT + buttonCorner = "TOP_LEFT" + #The X-Offset for the Curios GUI button + #Range: -100 ~ 100 + buttonXOffset = 0 + #The Y-Offset for the Creative Curios GUI button + #Range: -100 ~ 100 + creativeButtonYOffset = 0 + #Set to true to enable rendering curios + renderCurios = true + #The X-Offset for the Creative Curios GUI button + #Range: -100 ~ 100 + creativeButtonXOffset = 0 + #The Y-Offset for the Curios GUI button + #Range: -100 ~ 100 + buttonYOffset = 0 + diff --git a/src/overrides/config/custom-micromaterials.cfg b/src/overrides/config/custom-micromaterials.cfg new file mode 100644 index 0000000..62c1f89 --- /dev/null +++ b/src/overrides/config/custom-micromaterials.cfg @@ -0,0 +1,9 @@ +# Configuration file for adding microblock materials for aesthetic blocks added by mods +# The '#' character defines a comment, everything after this character on a given line will be ignored. +# Each line needs to be of the form [property=value,otherProperty=value] +# being the registry name of the block. E.G: 'minecraft:stone' +# This can optionally be followed by Key-Value pairs describing any block state properties. +# If no properties are defined, the default state of the block will be used. +# Examples: +# 'minecraft:stone' +# 'minecraft:grass_block[snowy=true]' diff --git a/src/overrides/config/darkerdepths-common.toml b/src/overrides/config/darkerdepths-common.toml new file mode 100644 index 0000000..27fb54c --- /dev/null +++ b/src/overrides/config/darkerdepths-common.toml @@ -0,0 +1,7 @@ + +[gameplay] + "silver drops raw ore" = false + +[worldgen] + "generates darker depths's speleothems naturally" = true + diff --git a/src/overrides/config/decorative_blocks-common.toml b/src/overrides/config/decorative_blocks-common.toml new file mode 100644 index 0000000..a6c6dc6 --- /dev/null +++ b/src/overrides/config/decorative_blocks-common.toml @@ -0,0 +1,8 @@ + +#Decorative Blocks Configs +[general] + #Bonfire Activator (define a resource location + "bonfire activator" = "minecraft:blaze_powder" + #Disable thatch creation on shearing hay bale + "thatch enabled" = true + diff --git a/src/overrides/config/defaultoptions-common.toml b/src/overrides/config/defaultoptions-common.toml new file mode 100644 index 0000000..3559762 --- /dev/null +++ b/src/overrides/config/defaultoptions-common.toml @@ -0,0 +1,6 @@ +#The default difficulty selected for newly created worlds. +#Allowed Values: PEACEFUL, EASY, NORMAL, HARD +defaultDifficulty = "NORMAL" +#Set to true if the difficulty for new world's should be locked ot the specific default. This cannot be unlocked by players without external tools! Probably a bad idea. I don't recommend. Why am I adding this option? +lockDifficulty = false + diff --git a/src/overrides/config/defaultoptions/keybindings.txt b/src/overrides/config/defaultoptions/keybindings.txt new file mode 100644 index 0000000..527f426 --- /dev/null +++ b/src/overrides/config/defaultoptions/keybindings.txt @@ -0,0 +1,140 @@ +key_key.attack:key.mouse.left:NONE +key_key.use:key.mouse.right:NONE +key_key.forward:key.keyboard.w:NONE +key_key.left:key.keyboard.a:NONE +key_key.back:key.keyboard.s:NONE +key_key.right:key.keyboard.d:NONE +key_key.jump:key.keyboard.space:NONE +key_key.sneak:key.keyboard.left.shift:NONE +key_key.sprint:key.keyboard.left.control:NONE +key_key.drop:key.keyboard.q:NONE +key_key.inventory:key.keyboard.e:NONE +key_key.chat:key.keyboard.t:NONE +key_key.playerlist:key.keyboard.tab:NONE +key_key.pickItem:key.mouse.middle:NONE +key_key.command:key.keyboard.slash:NONE +key_key.socialInteractions:key.keyboard.p:NONE +key_key.screenshot:key.keyboard.f2:NONE +key_key.togglePerspective:key.keyboard.f5:NONE +key_key.smoothCamera:key.keyboard.unknown:NONE +key_key.fullscreen:key.keyboard.f11:NONE +key_key.spectatorOutlines:key.keyboard.unknown:NONE +key_key.swapOffhand:key.keyboard.f:NONE +key_key.saveToolbarActivator:key.keyboard.c:NONE +key_key.loadToolbarActivator:key.keyboard.x:NONE +key_key.advancements:key.keyboard.l:NONE +key_key.hotbar.1:key.keyboard.1:NONE +key_key.hotbar.2:key.keyboard.2:NONE +key_key.hotbar.3:key.keyboard.3:NONE +key_key.hotbar.4:key.keyboard.4:NONE +key_key.hotbar.5:key.keyboard.5:NONE +key_key.hotbar.6:key.keyboard.6:NONE +key_key.hotbar.7:key.keyboard.7:NONE +key_key.hotbar.8:key.keyboard.8:NONE +key_key.hotbar.9:key.keyboard.9:NONE +key_key.ftbchunks.map:key.keyboard.m:NONE +key_key.ftbchunks.minimap.zoomIn:key.keyboard.equal:NONE +key_key.ftbchunks.minimap.zoomOut:key.keyboard.minus:NONE +key_key.boththrow.desc:key.mouse.right:NONE +key_key.leftthrow.desc:key.keyboard.unknown:NONE +key_key.rightthrow.desc:key.keyboard.unknown:NONE +key_key.motoronoff.desc:key.keyboard.left.shift:NONE +key_key.jumpanddetach.desc:key.keyboard.space:NONE +key_key.slow.desc:key.keyboard.left.shift:NONE +key_key.climb.desc:key.keyboard.left.shift:NONE +key_key.climbup.desc:key.keyboard.unknown:NONE +key_key.climbdown.desc:key.keyboard.unknown:NONE +key_key.enderlaunch.desc:key.mouse.left:NONE +key_key.rocket.desc:key.mouse.left:NONE +key_key.slide.desc:key.keyboard.left.shift:NONE +key_placebo.toggleWings:key.keyboard.keypad.8:NONE +key_placebo.toggleTrails:key.keyboard.keypad.9:NONE +key_Start composing:key.keyboard.g:NONE +key_Tool Menu (Hold):key.keyboard.left.alt:NONE +key_Piston Pushcart Up:key.keyboard.space:NONE +key_Piston Pushcart Down:key.keyboard.left.control:NONE +key_key.waila.config:key.keyboard.keypad.0:NONE +key_key.waila.show_overlay:key.keyboard.keypad.1:NONE +key_key.waila.toggle_liquid:key.keyboard.keypad.2:NONE +key_key.corpse.death_history:key.keyboard.u:NONE +key_Open the Crash Utilities Screen:key.keyboard.u:CONTROL +key_Copy Container Class:key.keyboard.unknown:NONE +key_Show Slot Index Tooltips:key.keyboard.unknown:NONE +key_Options Gui:key.keyboard.i:NONE +key_key.curios.open.desc:key.keyboard.g:NONE +key_key.ftbquests.quests:key.keyboard.unknown:NONE +key_key.control:key.keyboard.left.control:NONE +key_key.inventorysorter.itemin:key.mouse.100:NONE +key_key.inventorysorter.sort:key.mouse.middle:NONE +key_key.inventorysorter.itemout:key.mouse.102:NONE +key_key.toggle_focus.desc:key.keyboard.tab:NONE +key_key.cofh.mode_change_increment:key.keyboard.v:NONE +key_key.endergetic.booflo_vest:key.keyboard.space:NONE +key_key.endergetic.booflo_slam:key.keyboard.x:NONE +key_key.exchangers.open_gui:key.keyboard.comma:NONE +key_key.exchangers.range_switch:key.keyboard.unknown:NONE +key_key.exchangers.mode_switch:key.keyboard.unknown:NONE +key_key.exchangers.force_drop_items_mode_toggle:key.keyboard.unknown:NONE +key_key.exchangers.directional_placement_mode_toggle:key.keyboard.unknown:NONE +key_key.exchangers.fuzzy_placement_mode_toggle:key.keyboard.unknown:NONE +key_key.exchangers.void_items_mode_toggle:key.keyboard.unknown:NONE +key_cos.key.opencosarmorinventory:key.keyboard.unknown:NONE +key_mod.chiselsandbits.keys.key.modded-tool.open:key.keyboard.r:NONE +key_mod.chiselsandbits.keys.key.modded-tool.cycle.left:key.keyboard.unknown:NONE +key_mod.chiselsandbits.keys.key.modded-tool.cycle.right:key.keyboard.unknown:NONE +key_mod.chiselsandbits.keys.key.measuring-tape.reset:key.mouse.right:SHIFT +key_mod.chiselsandbits.keys.key.undo:key.keyboard.z:CONTROL +key_mod.chiselsandbits.keys.key.redo:key.keyboard.y:CONTROL +key_create.keyinfo.toolmenu:key.keyboard.left.alt:NONE +key_create.keyinfo.toolbelt:key.keyboard.left.alt:NONE +key_keybind.xreliquary.fortune_coin:key.keyboard.unknown:NONE +key_key.improvedbackpacks.open_backpack:key.keyboard.b:NONE +key_key.craftingtweaks.rotate:key.keyboard.unknown:NONE +key_key.craftingtweaks.rotate_counter_clockwise:key.keyboard.unknown:NONE +key_key.craftingtweaks.balance:key.keyboard.unknown:NONE +key_key.craftingtweaks.spread:key.keyboard.unknown:NONE +key_key.craftingtweaks.clear:key.keyboard.unknown:NONE +key_key.craftingtweaks.force_clear:key.keyboard.unknown:NONE +key_key.craftingtweaks.toggleButtons:key.keyboard.unknown:NONE +key_key.craftingtweaks.compressOne:key.keyboard.k:CONTROL +key_key.craftingtweaks.compressStack:key.keyboard.k:NONE +key_key.craftingtweaks.compressAll:key.keyboard.k:SHIFT +key_key.craftingtweaks.decompressOne:key.keyboard.unknown:NONE +key_key.craftingtweaks.decompressStack:key.keyboard.unknown:NONE +key_key.craftingtweaks.decompressAll:key.keyboard.unknown:NONE +key_key.craftingtweaks.refill_last:key.keyboard.tab:NONE +key_key.craftingtweaks.refill_last_stack:key.keyboard.tab:NONE +key_key.occultism.backpack:key.keyboard.b:NONE +key_key.occultism.storage_remote:key.keyboard.n:NONE +key_key.occultism.familiar.greedy_familiar:key.keyboard.unknown:NONE +key_key.occultism.familiar.otherworld_bird:key.keyboard.unknown:NONE +key_key.occultism.familiar.bat_familiar:key.keyboard.unknown:NONE +key_key.occultism.familiar.deer_familiar:key.keyboard.unknown:NONE +key_key.occultism.familiar.cthulhu_familiar:key.keyboard.unknown:NONE +key_key.occultism.familiar.devil_familiar:key.keyboard.unknown:NONE +key_key.occultism.familiar.dragon_familiar:key.keyboard.unknown:NONE +key_key.occultism.familiar.blacksmith_familiar:key.keyboard.unknown:NONE +key_key.occultism.familiar.guardian_familiar:key.keyboard.unknown:NONE +key_key.occultism.familiar.headless_familiar:key.keyboard.unknown:NONE +key_key.occultism.familiar.chimera_familiar:key.keyboard.unknown:NONE +key_key.occultism.familiar.goat_familiar:key.keyboard.unknown:NONE +key_key.togglejetpack:key.keyboard.x:NONE +key_key.openrocketui:key.keyboard.c:NONE +key_key.togglercs:key.keyboard.r:NONE +key_key.turnrocketright:key.keyboard.d:NONE +key_key.turnrocketleft:key.keyboard.a:NONE +key_key.turnrocketup:key.keyboard.z:NONE +key_key.turnrocketdown:key.keyboard.x:NONE +key_key.jei.toggleOverlay:key.keyboard.o:CONTROL +key_key.jei.focusSearch:key.keyboard.f:CONTROL +key_key.jei.toggleCheatMode:key.keyboard.unknown:NONE +key_key.jei.toggleEditMode:key.keyboard.unknown:NONE +key_key.jei.showRecipe:key.keyboard.r:NONE +key_key.jei.showUses:key.keyboard.u:NONE +key_key.jei.recipeBack:key.keyboard.backspace:NONE +key_key.jei.previousPage:key.keyboard.page.up:NONE +key_key.jei.nextPage:key.keyboard.page.down:NONE +key_key.jei.previousCategory:key.keyboard.page.up:SHIFT +key_key.jei.nextCategory:key.keyboard.page.down:SHIFT +key_key.jei.bookmark:key.keyboard.a:NONE +key_key.jei.toggleBookmarkOverlay:key.keyboard.unknown:NONE diff --git a/src/overrides/config/defaultoptions/options.txt b/src/overrides/config/defaultoptions/options.txt new file mode 100644 index 0000000..e69de29 diff --git a/src/overrides/config/dice-common.toml b/src/overrides/config/dice-common.toml new file mode 100644 index 0000000..04a3bee --- /dev/null +++ b/src/overrides/config/dice-common.toml @@ -0,0 +1,6 @@ + +[dice] + #How many seconds should the dice last before exploding + #Range: 1 ~ 60 + "dice expire time" = 10 + diff --git a/src/overrides/config/dungeon_crawl.toml b/src/overrides/config/dungeon_crawl.toml new file mode 100644 index 0000000..e703da5 --- /dev/null +++ b/src/overrides/config/dungeon_crawl.toml @@ -0,0 +1,104 @@ + +["Miscellaneous Settings"] + #----------------------------------------------------------------------------------------------------# + #Enables the dungeon crawl developer tools. Do not use this for normal gameplay. + # + enable_tools = false + #----------------------------------------------------------------------------------------------------# + #Enables extended debug logging to help detecting errors. Enabled by default. + # + extended_debug = false + #----------------------------------------------------------------------------------------------------# + #Prints all biome categories and their biomes to the console when entering a world. + #Might be useful for modpack creators. Ignore this for normal gameplay. + # + "Print Biome Categories" = false + +["World Generation"] + #----------------------------------------------------------------------------------------------------# + #Makes the entire dungeon solid, preventing caves, ravines, etc... from interfering with the dungeon. + # + solid = false + #----------------------------------------------------------------------------------------------------# + #Whether falling blocks like sand or gravel should drop down after being placed during dungeon generation. + # + tick_falling_blocks = true + +["Dungeon Placement"] + #----------------------------------------------------------------------------------------------------# + #The cell size of the grid used to generate the dungeons in chunks. Each cell of this grid can only contain one dungeon. + #You can also interpret this as the average distance between two adjacent dungeons in chunks. + #Has to be higher than the separation! + # + #Range: 9 ~ 8192 + spacing = 32 + #----------------------------------------------------------------------------------------------------# + #The minimum distance between the dungeons in chunks. Has to be lower than the spacing! + #The closer the separation is to the spacing, the more grid-aligned and predictable the dungeon placement will be. + #Generally, bigger values allow for less, and smaller values for more randomness. + # + #Range: 8 ~ 8191 + separation = 16 + + ["Dungeon Placement".Biomes] + #----------------------------------------------------------------------------------------------------# + #List of biomes the dungeons should spawn in. + #Entries have to be comma-separated. + #You can use this together with the Biome Categories. + # + "Biome Whitelist" = "" + #----------------------------------------------------------------------------------------------------# + #List of biomes that should never contain dungeons. + # + "Biome Blacklist" = "advancedrocketry:moonold" + #----------------------------------------------------------------------------------------------------# + #List of biome categories the dungeons should spawn in. + #Entries have to be comma-separated. + #Biome Categories are groupings of biomes of specific types. Using these allows Dungeon Crawl to + # automatically generate in suitable mod biomes and to ignore unsuitable ones like ocean biomes. + #You can use this together with the Biome Whitelist and you can blacklist specific biomes with the Biome Blacklist. + #All categories: beach, desert, extreme_hills, forest, icy, jungle, mesa, mushroom, nether, none, ocean, plains, river, savanna, swamp, taiga, the_end + #To receive a list of all categories and their respective biomes (including biomes of mods you have installed), enable the 'Print Biome Categories' option. + # + "Biome Categories" = "desert, extreme_hills, forest, icy, jungle, mesa, plains, savanna, swamp, taiga" + + ["Dungeon Placement".Dimensions] + #----------------------------------------------------------------------------------------------------# + #List of dimensions the dungeons should spawn in. + #Entries have to be comma-separated. + # + "Dimension Whitelist" = "minecraft:overworld" + +["Dungeon Settings"] + #----------------------------------------------------------------------------------------------------# + #Whether the dungeons should have secret rooms or not. + # + secret_rooms = true + #----------------------------------------------------------------------------------------------------# + #Whether loot tables of certain spawner entities should be overwritten. + #For example, wither skeletons from dungeon spawners will never drop skulls if this is enabled. + # + overwrite_entity_loot_tables = true + #----------------------------------------------------------------------------------------------------# + #Whether the hell stage should be built with blocks from the overworld instead from the nether. + # + no_nether_blocks = true + #----------------------------------------------------------------------------------------------------# + #The activation range for the spawners in the dungeons. + # + #Range: 1 ~ 64 + spawner_activation_range = 12 + #----------------------------------------------------------------------------------------------------# + #The number of different entities per spawner. Increasing the number increases the diversity of the monster equipment. + # + #Range: 1 ~ 128 + spawner_entities = 6 + #----------------------------------------------------------------------------------------------------# + #Whether custom mob spawners with equipment, etc.. should be used. + # + custom_spawners = true + #----------------------------------------------------------------------------------------------------# + #Whether mobs from spawners should despawn naturally or not. + # + natural_despawn = true + diff --git a/src/overrides/config/enchantedbookredesign-client.toml b/src/overrides/config/enchantedbookredesign-client.toml new file mode 100644 index 0000000..b604cab --- /dev/null +++ b/src/overrides/config/enchantedbookredesign-client.toml @@ -0,0 +1,5 @@ + +[client] + #Whether to display the preview of the item in the dank, disable if you have optifine + items = ["minecraft:enchanted_book"] + diff --git a/src/overrides/config/endergetic-common.toml b/src/overrides/config/endergetic-common.toml new file mode 100644 index 0000000..68cea13 --- /dev/null +++ b/src/overrides/config/endergetic-common.toml @@ -0,0 +1,6 @@ + +#Common only settings for Endergetic +[common] + #If The Dragon Fight Manager should debug its portal values; Default: False + debugDragonFightManager = false + diff --git a/src/overrides/config/exoticbirds-common.toml b/src/overrides/config/exoticbirds-common.toml new file mode 100644 index 0000000..9796ce7 --- /dev/null +++ b/src/overrides/config/exoticbirds-common.toml @@ -0,0 +1,501 @@ + +[general] + + [general.spawning] + #A list of dimensions that no birds are able to spawn in + blacklistedSpawningDimensions = [] + #Allow non-tamed birds to naturally despawn + allowDespawning = false + #A list of biomes that no birds are able to spawn in + blacklistedSpawningBiomes = [] + + [general.eggs] + #Allow birds to lay eggs + allowEggs = true + #How many ticks it takes for a bird to lay an egg + #Range: > 6000 + eggLayRate = 12000 + #Allow chicken eggs to drop eggshell when broken + createVanillaEggshell = true + #Allow eggs from this mod to drop eggshell when broken + createExoticEggshell = true + + [general.nests] + #A list of biomes that nests are not able to generate in + blacklistedNestGenBiomes = [] + #How many nests, on average, should appear when generated (0 = disabled; 1 = few; 100+ = many) + #Range: > 0 + nestGenRate = 1 + #A list of dimensions that nests are not able to generate in + blacklistedNestGenDimensions = [] + #Allow eggs to regenerate in nests + allowNestEggRegen = false + #Allow anything to be placed inside bird nest blocks + allowAnythingInNests = false + + [general.cages] + #Allow other mobs to be caught by birdcages + allowAnythingInCages = false + + [general.entity] + #Allow tamed pelicans to collect fish + pelicanScavenge = true + #Allow ostriches to be ridden + ostrichRiding = true + #Allow kingfishers and kookaburras to collect fish + kingfisherScavenge = true + #Allow magpies to scavenge for items + magpieScavenge = true + +[entity] + + [entity.booby] + #A list of dimensions the booby cannot spawn in + blacklistedDimensionsBooby = [] + #Booby minimum group size + #Range: 1 ~ 50 + spawnSizeMinBooby = 2 + #Booby maximum group size + #Range: 1 ~ 50 + spawnSizeMaxBooby = 5 + #A list of biomes the booby cannot spawn in + blacklistedBiomesBooby = [] + #Blue-footed booby spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateBooby = 12 + + [entity.kiwi] + #Kiwi maximum group size + #Range: 1 ~ 50 + spawnSizeMaxKiwi = 5 + #A list of biomes the kiwi cannot spawn in + blacklistedBiomesKiwi = [] + #Kiwi spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateKiwi = 16 + #Kiwi minimum group size + #Range: 1 ~ 50 + spawnSizeMinKiwi = 2 + #A list of dimensions the kiwi cannot spawn in + blacklistedDimensionsKiwi = [] + + [entity.cassowary] + #Cassowary maximum group size + #Range: 1 ~ 50 + spawnSizeMaxCassowary = 5 + #Cassowary spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateCassowary = 10 + #A list of biomes the cassowary cannot spawn in + blacklistedBiomesCassowary = [] + #Cassowary minimum group size + #Range: 1 ~ 50 + spawnSizeMinCassowary = 2 + #A list of dimensions the cassowary cannot spawn in + blacklistedDimensionsCassowary = [] + + [entity.ostrich] + #Ostrich minimum group size + #Range: 1 ~ 50 + spawnSizeMinOstrich = 2 + #A list of biomes the ostrich cannot spawn in + blacklistedBiomesOstrich = [] + #Ostrich maximum group size + #Range: 1 ~ 50 + spawnSizeMaxOstrich = 5 + #A list of dimensions the ostrich cannot spawn in + blacklistedDimensionsOstrich = [] + #Ostrich spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateOstrich = 10 + + [entity.owl] + #Owl minimum group size + #Range: 1 ~ 50 + spawnSizeMinOwl = 2 + #A list of dimensions the owl cannot spawn in + blacklistedDimensionsOwl = [] + #Owl maximum group size + #Range: 1 ~ 50 + spawnSizeMaxOwl = 5 + #Owl spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateOwl = 24 + #A list of biomes the owl cannot spawn in + blacklistedBiomesOwl = [] + + [entity.bluejay] + #Bluejay maximum group size + #Range: 1 ~ 50 + spawnSizeMaxBluejay = 5 + #A list of biomes the bluejay cannot spawn in + blacklistedBiomesBluejay = [] + #Bluejay minimum group size + #Range: 1 ~ 50 + spawnSizeMinBluejay = 2 + #Blue jay spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateBluejay = 24 + #A list of dimensions the bluejay cannot spawn in + blacklistedDimensionsBluejay = [] + + [entity.gouldianfinch] + #Gouldian finch maximum group size + #Range: 1 ~ 50 + spawnSizeMaxGouldianfinch = 5 + #A list of biomes the gouldianfinch cannot spawn in + blacklistedBiomesGouldianfinch = [] + #Gouldian finch spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateGouldianfinch = 10 + #A list of dimensions the gouldianfinch cannot spawn in + blacklistedDimensionsGouldianfinch = [] + #Gouldian finch minimum group size + #Range: 1 ~ 50 + spawnSizeMinGouldianfinch = 2 + + [entity.woodpecker] + #A list of biomes the woodpecker cannot spawn in + blacklistedBiomesWoodpecker = [] + #A list of dimensions the woodpecker cannot spawn in + blacklistedDimensionsWoodpecker = [] + #Woodpecker minimum group size + #Range: 1 ~ 50 + spawnSizeMinWoodpecker = 2 + #Woodpecker maximum group size + #Range: 1 ~ 50 + spawnSizeMaxWoodpecker = 5 + #Woodpecker spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateWoodpecker = 24 + + [entity.cockatoo] + #Vulture spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateCockatoo = 16 + #Vulture minimum group size + #Range: 1 ~ 50 + spawnSizeMinCockatoo = 2 + #A list of biomes the cockatoo cannot spawn in + blacklistedBiomesCockatoo = [] + #A list of dimensions the cockatoo cannot spawn in + blacklistedDimensionsCockatoo = [] + #Vulture maximum group size + #Range: 1 ~ 50 + spawnSizeMaxCockatoo = 5 + + [entity.robin] + #Robin maximum group size + #Range: 1 ~ 50 + spawnSizeMaxRobin = 5 + #A list of dimensions the robin cannot spawn in + blacklistedDimensionsRobin = [] + #A list of biomes the robin cannot spawn in + blacklistedBiomesRobin = [] + #Robin minimum group size + #Range: 1 ~ 50 + spawnSizeMinRobin = 2 + #Robin spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateRobin = 24 + + [entity.duck] + #Duck spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateDuck = 10 + #A list of biomes the duck cannot spawn in + blacklistedBiomesDuck = [] + #Duck maximum group size + #Range: 1 ~ 50 + spawnSizeMaxDuck = 5 + #Duck minimum group size + #Range: 1 ~ 50 + spawnSizeMinDuck = 2 + #A list of dimensions the duck cannot spawn in + blacklistedDimensionsDuck = [] + + [entity.heron] + #A list of biomes the heron cannot spawn in + blacklistedBiomesHeron = [] + #Heron spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateHeron = 12 + #A list of dimensions the heron cannot spawn in + blacklistedDimensionsHeron = [] + #Heron minimum group size + #Range: 1 ~ 50 + spawnSizeMinHeron = 2 + #Heron maximum group size + #Range: 1 ~ 50 + spawnSizeMaxHeron = 5 + + [entity.budgerigar] + #A list of biomes the budgerigar cannot spawn in + blacklistedBiomesBudgerigar = [] + #Budgerigar spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateBudgerigar = 15 + #Budgerigar minimum group size + #Range: 1 ~ 50 + spawnSizeMinBudgerigar = 2 + #Budgerigar maximum group size + #Range: 1 ~ 50 + spawnSizeMaxBudgerigar = 5 + #A list of dimensions the budgerigar cannot spawn in + blacklistedDimensionsBudgerigar = [] + + [entity.magpie] + #Magpie spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateMagpie = 24 + #A list of dimensions the magpie cannot spawn in + blacklistedDimensionsMagpie = [] + #Magpie maximum group size + #Range: 1 ~ 50 + spawnSizeMaxMagpie = 5 + #Magpie minimum group size + #Range: 1 ~ 50 + spawnSizeMinMagpie = 2 + #A list of biomes the magpie cannot spawn in + blacklistedBiomesMagpie = [] + + [entity.roadrunner] + #Roadrunner minimum group size + #Range: 1 ~ 50 + spawnSizeMinRoadrunner = 2 + #Roadrunner maximum group size + #Range: 1 ~ 50 + spawnSizeMaxRoadrunner = 5 + #A list of dimensions the roadrunner cannot spawn in + blacklistedDimensionsRoadrunner = [] + #Roadrunner spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateRoadrunner = 20 + #A list of biomes the roadrunner cannot spawn in + blacklistedBiomesRoadrunner = [] + + [entity.gull] + #Seagull maximum group size + #Range: 1 ~ 50 + spawnSizeMaxGull = 5 + #A list of biomes the gull cannot spawn in + blacklistedBiomesGull = [] + #Seagull minimum group size + #Range: 1 ~ 50 + spawnSizeMinGull = 2 + #A list of dimensions the gull cannot spawn in + blacklistedDimensionsGull = [] + #Seagull spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateGull = 24 + + [entity.pigeon] + #A list of biomes the pigeon cannot spawn in + blacklistedBiomesPigeon = [] + #Pigeon spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRatePigeon = 24 + #Pigeon maximum group size + #Range: 1 ~ 50 + spawnSizeMaxPigeon = 5 + #A list of dimensions the pigeon cannot spawn in + blacklistedDimensionsPigeon = [] + #Pigeon minimum group size + #Range: 1 ~ 50 + spawnSizeMinPigeon = 2 + + [entity.crane] + #Crane maximum group size + #Range: 1 ~ 50 + spawnSizeMaxCrane = 5 + #Crane minimum group size + #Range: 1 ~ 50 + spawnSizeMinCrane = 2 + #A list of biomes the crane cannot spawn in + blacklistedBiomesCrane = [] + #Crane spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateCrane = 12 + #A list of dimensions the crane cannot spawn in + blacklistedDimensionsCrane = [] + + [entity.swan] + #Swan spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateSwan = 20 + #Swan minimum group size + #Range: 1 ~ 50 + spawnSizeMinSwan = 2 + #A list of biomes the swan cannot spawn in + blacklistedBiomesSwan = [] + #Swan maximum group size + #Range: 1 ~ 50 + spawnSizeMaxSwan = 5 + #A list of dimensions the swan cannot spawn in + blacklistedDimensionsSwan = [] + + [entity.macaw] + #Parrot maximum group size + #Range: 1 ~ 50 + spawnSizeMaxMacaw = 5 + #A list of dimensions the macaw cannot spawn in + blacklistedDimensionsMacaw = [] + #Parrot minimum group size + #Range: 1 ~ 50 + spawnSizeMinMacaw = 2 + #Parrot spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateMacaw = 12 + #A list of biomes the macaw cannot spawn in + blacklistedBiomesMacaw = [] + + [entity.pelican] + #A list of biomes the pelican cannot spawn in + blacklistedBiomesPelican = [] + #Pelican minimum group size + #Range: 1 ~ 50 + spawnSizeMinPelican = 2 + #Pelican spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRatePelican = 12 + #Pelican maximum group size + #Range: 1 ~ 50 + spawnSizeMaxPelican = 5 + #A list of dimensions the pelican cannot spawn in + blacklistedDimensionsPelican = [] + + [entity.cardinal] + #A list of dimensions the cardinal cannot spawn in + blacklistedDimensionsCardinal = [] + #Cardinal minimum group size + #Range: 1 ~ 50 + spawnSizeMinCardinal = 2 + #Cardinal maximum group size + #Range: 1 ~ 50 + spawnSizeMaxCardinal = 5 + #A list of biomes the cardinal cannot spawn in + blacklistedBiomesCardinal = [] + #Cardinal spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateCardinal = 24 + + [entity.kingfisher] + #Kingfisher minimum group size + #Range: 1 ~ 50 + spawnSizeMinKingfisher = 2 + #Kingfisher maximum group size + #Range: 1 ~ 50 + spawnSizeMaxKingfisher = 5 + #A list of dimensions the kingfisher cannot spawn in + blacklistedDimensionsKingfisher = [] + #Kingfisher spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateKingfisher = 20 + #A list of biomes the kingfisher cannot spawn in + blacklistedBiomesKingfisher = [] + + [entity.flamingo] + #Flamingo maximum group size + #Range: 1 ~ 50 + spawnSizeMaxFlamingo = 5 + #Flamingo spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateFlamingo = 16 + #Flamingo minimum group size + #Range: 1 ~ 50 + spawnSizeMinFlamingo = 2 + #A list of dimensions the flamingo cannot spawn in + blacklistedDimensionsFlamingo = [] + #A list of biomes the flamingo cannot spawn in + blacklistedBiomesFlamingo = [] + + [entity.lyrebird] + #Lyrebird minimum group size + #Range: 1 ~ 50 + spawnSizeMinLyrebird = 2 + #A list of dimensions the lyrebird cannot spawn in + blacklistedDimensionsLyrebird = [] + #A list of biomes the lyrebird cannot spawn in + blacklistedBiomesLyrebird = [] + #Lyrebird spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateLyrebird = 16 + #Lyrebird maximum group size + #Range: 1 ~ 50 + spawnSizeMaxLyrebird = 5 + + [entity.peafowl] + #A list of biomes the peafowl cannot spawn in + blacklistedBiomesPeafowl = [] + #Peafowl minimum group size + #Range: 1 ~ 50 + spawnSizeMinPeafowl = 2 + #Peafowl spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRatePeafowl = 12 + #Peafowl maximum group size + #Range: 1 ~ 50 + spawnSizeMaxPeafowl = 5 + #A list of dimensions the peafowl cannot spawn in + blacklistedDimensionsPeafowl = [] + + [entity.kookaburra] + #Kookaburra spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateKookaburra = 12 + #A list of dimensions the kookaburra cannot spawn in + blacklistedDimensionsKookaburra = [] + #Kookaburra maximum group size + #Range: 1 ~ 50 + spawnSizeMaxKookaburra = 5 + #Kookaburra minimum group size + #Range: 1 ~ 50 + spawnSizeMinKookaburra = 2 + #A list of biomes the kookaburra cannot spawn in + blacklistedBiomesKookaburra = [] + + [entity.toucan] + #A list of biomes the toucan cannot spawn in + blacklistedBiomesToucan = [] + #Toucan spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateToucan = 12 + #Toucan maximum group size + #Range: 1 ~ 50 + spawnSizeMaxToucan = 5 + #A list of dimensions the toucan cannot spawn in + blacklistedDimensionsToucan = [] + #Toucan minimum group size + #Range: 1 ~ 50 + spawnSizeMinToucan = 2 + + [entity.hummingbird] + #Hummingbird spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRateHummingbird = 26 + #A list of biomes the hummingbird cannot spawn in + blacklistedBiomesHummingbird = [] + #Hummingbird maximum group size + #Range: 1 ~ 50 + spawnSizeMaxHummingbird = 5 + #A list of dimensions the hummingbird cannot spawn in + blacklistedDimensionsHummingbird = [] + #Hummingbird minimum group size + #Range: 1 ~ 50 + spawnSizeMinHummingbird = 2 + + [entity.penguin] + #Penguin maximum group size + #Range: 1 ~ 50 + spawnSizeMaxPenguin = 5 + #Penguin spawn rate (0 = disabled; 1 = common; 100+ = rare) + #Range: > 0 + spawnRatePenguin = 12 + #A list of dimensions the penguin cannot spawn in + blacklistedDimensionsPenguin = [] + #Penguin minimum group size + #Range: 1 ~ 50 + spawnSizeMinPenguin = 2 + #A list of biomes the penguin cannot spawn in + blacklistedBiomesPenguin = [] + diff --git a/src/overrides/config/extcaves_config.toml b/src/overrides/config/extcaves_config.toml new file mode 100644 index 0000000..33c69c5 --- /dev/null +++ b/src/overrides/config/extcaves_config.toml @@ -0,0 +1,271 @@ + +[Patches_Sizes] + # + #Dirt Stone Patches Size (default=60) + #Range: 1 ~ 100 + patch_size_dirtstone = 1 + # + #Lavastone Patches Size (default=40) + #Range: 1 ~ 100 + patch_size_lavastone = 40 + # + #Dirt Patches Size (default=40) + #Range: 1 ~ 100 + patch_size_dirt = 40 + # + #Broken Stone Patches Size (default=24) + #Range: 1 ~ 100 + patch_size_brokenstone = 24 + # + #Sediment Stone Patches Size (default=40) + #Range: 1 ~ 100 + patch_size_sedimentstone = 70 + # + #Marlstone Patches Size (default=40) + #Range: 1 ~ 100 + patch_size_marlstone = 60 + # + #Old Stone Patches Size (default=40) + #Range: 1 ~ 100 + patch_size_oldstone = 40 + # + #Packed Ice Patches Size (default=60) + #Range: 1 ~ 100 + patch_size_packed_ice = 60 + +[Spawn_Rates] + + [Spawn_Rates.Blocks] + # + #Packed Ice Spawn Rate (default=5) + #Range: 1 ~ 50 + spawnrate_block_packed_ice = 5 + # + #Lavastone Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_block_lavastone = 8 + # + #Old Stone Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_block_oldstone = 10 + # + #Broken Stone Spawn Rate (default=12) + #Range: 1 ~ 50 + spawnrate_block_brokenstone = 6 + # + #Dirt Stone Spawn Rate (default=5) + #Range: 1 ~ 50 + spawnrate_block_dirtstone = 1 + # + #Marlstone Spawn Rate (default=5) + #Range: 1 ~ 50 + spawnrate_block_marlstone = 5 + # + #Sediment Stone Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_block_sedimentstone = 3 + # + #Dirt Spawn Rate (default=5) + #Range: 1 ~ 50 + spawnrate_block_dirt = 5 + + [Spawn_Rates.Vines] + # + #Cave Vine Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_cave_vine = 10 + + [Spawn_Rates.Mushrooms] + # + #Lumishroom Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_mushroom_lumishroom = 1 + # + #Goldishroom Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_mushroom_goldishroom = 10 + # + #Shinyshroom Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_mushroom_shinyshroom = 1 + # + #Fluoshroom Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_mushroom_fluoshroom = 5 + # + #Sweetshroom Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_mushroom_sweetshroom = 5 + # + #Rockshroom Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_mushroom_rockshroom = 10 + + [Spawn_Rates.Mosses] + # + #Fire Moss Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_moss_fire = 10 + # + #Hanging Roots Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_moss_hanging_roots = 10 + # + #Frozen Moss Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_moss_frozen = 10 + # + #Dry Moss Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_moss_dry = 10 + # + #Humid Moss Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_moss_humid = 10 + + [Spawn_Rates.Rocks] + # + #Rock Piles Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_rock_rockpiles = 10 + # + #Stalagmite Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_rock_stalagmites = 10 + # + #Pebble Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_rock_pebbles = 10 + # + #Flint Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_rock_flints = 10 + # + #Stalactite Spawn Rate (default=10) + #Range: 1 ~ 50 + spawnrate_rock_stalactites = 10 + + [Spawn_Rates.Structures] + # + #Spruce Cabins Spawn Rate (default=7) + #Range: 1 ~ 10 + spawnrate_structure_cabins_spruce = 3 + # + #Ice Dungeons Spawn Rate (default=5) + #Range: 1 ~ 10 + spawnrate_structure_dungeons_ice = 1 + # + #Cobblestone Dungeons Spawn Rate (default=5) + #Range: 1 ~ 10 + spawnrate_structure_dungeons_cobblestone = 1 + # + #Lavastone Dungeons Spawn Rate (default=5) + #Range: 1 ~ 10 + spawnrate_structure_dungeons_lavastone = 1 + # + #Oak Cabins Spawn Rate (default=7) + #Range: 1 ~ 10 + spawnrate_structure_cabins_oak = 4 + # + #Tall Cobblestone Dungeons Spawn Rate (default=5) + #Range: 1 ~ 10 + spawnrate_structure_dungeons_tall_cobblestone = 2 + # + #Bricks Cabins Spawn Rate (default=7) + #Range: 1 ~ 10 + spawnrate_structure_cabins_bricks = 4 + # + #Jungle Cabins Spawn Rate (default=7) + #Range: 1 ~ 10 + spawnrate_structure_cabins_jungle = 3 + # + #Tall Lavastone Dungeons Spawn Rate (default=5) + #Range: 1 ~ 10 + spawnrate_structure_dungeons_tall_lavastone = 1 + # + #Acacia Cabins Spawn Rate (default=7) + #Range: 1 ~ 10 + spawnrate_structure_cabins_acacia = 4 + # + #Cobblestone Cabins Spawn Rate (default=7) + #Range: 1 ~ 10 + spawnrate_structure_cabins_cobblestone = 4 + +[Spawn_Conditions] + + [Spawn_Conditions.Blocks] + # + #Generate Dirt + gen_block_dirt = false + # + #Generate Marlstone + gen_block_marlstone = false + # + #Generate Lavastone + gen_block_lavastone = false + # + #Generate Dirt Stone + gen_block_dirtstone = false + # + #Generate Packed Ice + gen_block_packed_ice = false + # + #Generate Broken Stone + gen_block_brokenstone = true + # + #Generate Sediment Stone + gen_block_sedimentstone = false + # + #Generate Old Stone + gen_block_oldstone = false + + [Spawn_Conditions.Vines] + # + #Generate Vines + gen_vines = false + + [Spawn_Conditions.Mushrooms] + # + #Generate Mushrooms + gen_mushrooms = false + + [Spawn_Conditions.Mosses] + # + #Generate Mosses + gen_mosses = false + + [Spawn_Conditions.Rocks] + # + #Generate Flints + gen_rock_flints = false + # + #Generate Pebbles + gen_rock_pebbles = true + # + #Generate Rock Piles + gen_rock_rockpiles = true + # + #Generate Stalagmites + gen_rock_stalagmites = true + # + #Generate Stalactites + gen_rock_stalactites = true + + [Spawn_Conditions.Structures] + # + #Generate Cabins + gen_structure_cabins = true + # + #Generate Dungeons + gen_structure_dungeons = true + +[Items] + # + #Health amount given by the bandage (1 = half heart) (default=4) + #Range: 1 ~ 40 + item_bandage_health = 4 + # + #Healing items cooldown in seconds (default=5) + #Range: 1 ~ 30 + item_medecine_cooldown = 5 + diff --git a/src/overrides/config/fairylights-client.toml b/src/overrides/config/fairylights-client.toml new file mode 100644 index 0000000..cd2d40c --- /dev/null +++ b/src/overrides/config/fairylights-client.toml @@ -0,0 +1,7 @@ + +[tutorial] + #The hanging lights tutorial progress, once any light item enters the inventory a + # toast appears prompting to craft hanging lights. A finished tutorial progress + # value is 'complete' and an unstarted tutorial is 'none'. + progress = "none" + diff --git a/src/overrides/config/fairylights-common.toml b/src/overrides/config/fairylights-common.toml new file mode 100644 index 0000000..535a39e --- /dev/null +++ b/src/overrides/config/fairylights-common.toml @@ -0,0 +1,8 @@ + +[general] + #If true jingles will play during Christmas. + christmas_jingles = true + #The distance that jingles can be heard in blocks. + #Range: > 1 + jingles_amplitude = 40 + diff --git a/src/overrides/config/farmersdelight-client.toml b/src/overrides/config/farmersdelight-client.toml new file mode 100644 index 0000000..4f347e1 --- /dev/null +++ b/src/overrides/config/farmersdelight-client.toml @@ -0,0 +1,8 @@ + +#Client settings +[client] + #Should the hunger bar have a gilded overlay when the player has the Nourishment effect? + nourishmentHungerOverlay = true + #Should food tooltips display which effects they provide? + foodEffectTooltip = true + diff --git a/src/overrides/config/farmersdelight-common.toml b/src/overrides/config/farmersdelight-common.toml new file mode 100644 index 0000000..70af571 --- /dev/null +++ b/src/overrides/config/farmersdelight-common.toml @@ -0,0 +1,100 @@ + +#Game settings +[settings] + #Farmer's Delight adds crates (3x3) for vanilla crops, similar to Quark and Thermal Cultivation. Should they be craftable? + enableVanillaCropCrates = true + #How much of a bonus (in percentage) should each level of Fortune grant to Cutting Board chances? Set it to 0.0 to disable this. + #Range: 0.0 ~ 1.0 + cuttingBoardFortuneBonus = 0.1 + #Should Novice and Apprentice Farmers buy this mod's crops? (May reduce chances of other trades appearing) + farmersBuyFDCrops = true + #How often (in percentage) should Rich Soil succeed in boosting a plant's growth at each random tick? Set it to 0.0 to disable this. + #Range: 0.0 ~ 1.0 + richSoilBoostChance = 0.2 + #A list of dye colors that, when used as the background of a Canvas Sign, should default to white text when placed. + #Dyes: ["white", "orange", "magenta", "light_blue", "yellow", "lime", "pink", "gray", "light_gray", "cyan", "purple", "blue", "brown", "green", "red", "black"] + canvasSignDarkBackgroundList = ["gray", "purple", "blue", "brown", "green", "red", "black"] + +#Vanilla item overrides +[overrides] + #Should Rabbit Stew grant users the jumping prowess of a rabbit when eaten? + rabbitStewJumpBoost = true + #Should most vanilla tools register a dispenser behavior when facing a Cutting Board? + dispenserUsesToolsOnCuttingBoard = true + #Should items inside the tag 'farmersdelight:comfort_foods' grant 2 minutes of Comfort when eaten? (defaults to vanilla SoupItems) + comfortFoodTagEffect = true + + #Stack size overrides + [overrides.stack_size] + #Toggle this setting to instead make ALL SoupItems stackable, except the ones on the list (deny-list). This affects items from other mods, so be careful! + overrideAllSoupItems = false + #Should SoupItems in the following list become stackable to 16, much like Farmer's Delight's meals? + enableStackableSoupItems = true + #List of SoupItems. Default: vanilla soups and stews. + soupItemList = ["minecraft:mushroom_stew", "minecraft:beetroot_soup", "minecraft:rabbit_stew"] + +#World generation +[world] + #Generate crop items on Village houses (all biomes) + cropsOnVillageHouseLoot = true + #Generate crop items on a Shipwreck's supply chests + cropsOnShipwreckSupplyLoot = true + #Generate Compost Heaps across all village biomes + genVillageCompostHeaps = true + + #Sea Beet generation + [world.wild_beetroots] + #Chance of generating clusters. Smaller value = more frequent. + #Range: > 0 + chance = 10 + #Generate sea beets on beaches + genWildBeetroots = true + + #Tomato Vines generation + [world.wild_tomatoes] + #Chance of generating clusters. Smaller value = more frequent. + #Range: > 0 + chance = 8 + #Generate tomato vines on arid biomes (temperature 1.0 or higher) + genWildTomatoes = true + + #Wild Cabbage generation + [world.wild_cabbages] + #Chance of generating clusters. Smaller value = more frequent. + #Range: > 0 + chance = 10 + #Generate wild cabbages on beaches + genWildCabbages = true + + #Wild Onion generation + [world.wild_onions] + #Generate wild onions on temperate biomes (temperature between 0.4 and 0.9) + genWildOnions = true + #Chance of generating clusters. Smaller value = more frequent. + #Range: > 0 + chance = 8 + + #Wild Potato generation + [world.wild_potatoes] + #Chance of generating clusters. Smaller value = more frequent. + #Range: > 0 + chance = 8 + #Generate wild potatoes on cold biomes (temperature between 0.0 and 0.3) + genWildPotatoes = true + + #Wild Carrot generation + [world.wild_carrots] + #Chance of generating clusters. Smaller value = more frequent. + #Range: > 0 + chance = 8 + #Generate wild carrots on temperate biomes (temperature between 0.4 and 0.9) + genWildCarrots = true + + #Wild Rice generation + [world.wild_rice] + #Chance of generating clusters. Smaller value = more frequent. + #Range: > 0 + chance = 10 + #Generate wild rice on swamps and jungles + genWildRice = true + diff --git a/src/overrides/config/fastbench.cfg b/src/overrides/config/fastbench.cfg new file mode 100644 index 0000000..5cc9b3b --- /dev/null +++ b/src/overrides/config/fastbench.cfg @@ -0,0 +1,8 @@ +# Configuration file + +general { + # If the recipe book is removed from the game. Server-enforced. [default: true] + B:"Remove Recipe Book"=false +} + + diff --git a/src/overrides/config/ferritecore-mixin.toml b/src/overrides/config/ferritecore-mixin.toml new file mode 100644 index 0000000..98f25be --- /dev/null +++ b/src/overrides/config/ferritecore-mixin.toml @@ -0,0 +1,21 @@ +#Use a slightly more compact, but also slightly slower representation for block states +compactFastMap = false +#Cache the predicate instances used in multipart models +cacheMultipartPredicates = true +#Do not create a new MultipartBakedModel instance for each block state using the same multipartmodel. Requires cacheMultipartPredicates to be enabled +multipartDeduplication = true +#Deduplicate cached data for blockstates, most importantly collision and render shapes +blockstateCacheDeduplication = true +#Avoid creation of new strings when creating ModelResourceLocations +modelResourceLocations = true +#Replace the blockstate neighbor table +replaceNeighborLookup = true +#Populate the neighbor table used by vanilla. Enabling this slightly increases memory usage, but can help with issues in the rare case where mods access it directly. +populateNeighborTable = false +#Do not store the properties of a state explicitly and read themfrom the replace neighbor table instead. Requires replaceNeighborLookup to be enabled +replacePropertyMap = true +#Deduplicate vertex data of baked quads in the basic model implementations +bakedQuadDeduplication = true +#Do not keep already-parsed NBT data for partially loaded chunks in memory +reducedChunkNBT = true + diff --git a/src/overrides/config/flywheel-client.toml b/src/overrides/config/flywheel-client.toml new file mode 100644 index 0000000..8623fd7 --- /dev/null +++ b/src/overrides/config/flywheel-client.toml @@ -0,0 +1,5 @@ +#Enable or disable the entire engine +enabled = true +#Enable or disable a debug overlay that colors pixels by their normal +debugNormals = false + diff --git a/src/overrides/config/fml.toml b/src/overrides/config/fml.toml new file mode 100644 index 0000000..9671985 --- /dev/null +++ b/src/overrides/config/fml.toml @@ -0,0 +1,8 @@ +# Enable forge global version checking +versionCheck = true +# does the splashscreen run +splashscreen = true +defaultConfigPath = "defaultconfigs" +# max threads for parallel loading : -1 uses Runtime#availableProcessors +maxThreads = -1 + diff --git a/src/overrides/config/forbidden_arcanus-client.toml b/src/overrides/config/forbidden_arcanus-client.toml new file mode 100644 index 0000000..1723609 --- /dev/null +++ b/src/overrides/config/forbidden_arcanus-client.toml @@ -0,0 +1,13 @@ + +[rendering] + + [rendering.orb_of_temporary_flight] + #Y-Position of the Orb of Temporary Flight Overlay (if enabled) [default: 1] + #Range: 0 ~ 500 + y_position = 1 + #X-Position of the Orb of Temporary Flight Overlay (if enabled) [default: 1] + #Range: 0 ~ 500 + x_position = 1 + #Should the Orb of Temporary Flight Overlay be rendered? [default: true] + render = true + diff --git a/src/overrides/config/forbidden_arcanus-common.toml b/src/overrides/config/forbidden_arcanus-common.toml new file mode 100644 index 0000000..c2b40be --- /dev/null +++ b/src/overrides/config/forbidden_arcanus-common.toml @@ -0,0 +1,222 @@ + +[world_gen] + #Which dimensions trees shouldn't spawn in? [example: ["minecraft:the_end"], empty allows all dimensions] + tree_blacklist = ["minecraft:the_end"] + #Which dimensions nipa structures should spawn in? [example: ["minecraft:the_end"], default empty allows all dimensions] + nipa_whitelist = [] + #Which dimensions trees should spawn in? [example: ["minecraft:the_end"], default empty allows all dimensions] + tree_whitelist = [] + #Which dimensions nipa structures shouldn't spawn in? [example: ["minecraft:the_end"], empty allows all dimensions] + nipa_blacklist = ["minecraft:the_end"] + #Which dimensions ores should spawn in? [example: ["minecraft:overworld"], default empty allows all dimensions] + ore_whitelist = [] + #Which dimensions ores shouldn't spawn in? [example: ["minecraft:overworld"], default empty allows all dimensions] + ore_blacklist = [] + + [world_gen.mysterywood_tree] + #Generate Mysterywood Trees? [default: true] + generate = true + + [world_gen.stella_arcanum] + #Maximum size of Stella Arcanum veins [default: 3] + #Range: 0 ~ 100 + max_vein_size = 3 + #Maximum Stella Arcanum veins per chunk [default: 2] + #Range: 1 ~ 100 + count = 2 + #Maximum height for Stella Arcanum to generate [default: 50] + #Range: 1 ~ 256 + max_height = 50 + #Generate Should Stella Arcanum? [default: true] + generate = true + + [world_gen.yellow_orchid] + #Generate Yellow Orchids? [default: true] + generate = true + + [world_gen.arcane_gilded_darkstone] + #Maximum size of Arcane Gilded Darkstone veins [default: 4] + #Range: 0 ~ 100 + max_vein_size = 4 + #Maximum Arcane Gilded Darkstone veins per chunk [default: 4] + #Range: 1 ~ 100 + count = 4 + #Maximum height for Arcane Gilded Darkstone to generate [default: 8] + #Range: 1 ~ 256 + max_height = 8 + #Generate Arcane Gilded Darkstone? [default: true] + generate = true + + [world_gen.edelwood_tree] + #Generate Edelwood Trees? [default: true] + generate = true + + [world_gen.petrified_root] + #Generate Petrified Roots? [default: true] + generate = false + + [world_gen.dark_runestone] + #Maximum size of Dark Runestone veins [default: 3] + #Range: 0 ~ 100 + max_vein_size = 3 + #Maximum Dark Runestone veins per chunk [default: 2] + #Range: 1 ~ 100 + count = 2 + #Maximum height for Dark Runestone to generate [default: 8] + #Range: 1 ~ 256 + max_height = 8 + #Generate Dark Runestone? [default: true] + generate = true + + [world_gen.arcane_crystal] + #Maximum size of Arcane Crystal Ore veins [default: 6] + #Range: 0 ~ 100 + max_vein_size = 5 + #Maximum Arcane Crystal Ore veins per chunk [default: 3] + #Range: 1 ~ 100 + count = 3 + #Maximum height for Arcane Crystal Ore to generate [default: 25] + #Range: 1 ~ 256 + max_height = 25 + #Generate Arcane Crystal Ore? [default: true] + generate = true + + [world_gen.xpetrified_ore] + #Generate Xpetrified Ore? [default: true] + generate = true + + [world_gen.darkstone] + #Maximum size of Darkstone veins [default: 20] + #Range: 0 ~ 100 + max_vein_size = 20 + #Maximum Darkstone veins per chunk [default: 20] + #Range: 1 ~ 100 + count = 20 + #Maximum height for Darkstone to generate [default: 8] + #Range: 1 ~ 256 + max_height = 8 + #Generate Darkstone? [default: true] + generate = true + + [world_gen.cherrywood_tree] + #Generate Cherrywood Trees? [default: true] + generate = true + + [world_gen.runestone] + #Maximum size of Runestone veins [default: 3] + #Range: 0 ~ 100 + max_vein_size = 3 + #Maximum Runestone veins per chunk [default: 2] + #Range: 1 ~ 100 + count = 2 + #Maximum height for the Runestone to generate [default: 20] + #Range: 1 ~ 256 + max_height = 20 + #Generate Runestone? [default: true] + generate = true + + [world_gen.nipa] + #Nipa Structure Spacing [default: 35] + #Range: > 0 + spacing = 35 + #Nipa Structure Separation [default: 8] + #Range: > 0 + separation = 8 + #Generate Nipas? [default: true] + generate = false + +[items] + + [items.xpetrified_orb] + #Experience Points the Orb grants on use [default: 91] + #Range: 1 ~ 120000 + experience_points = 91 + + [items.eternal_stella] + #How many times the Eternal Stella can be used before breaking [default: 3] + #Range: 1 ~ 100 + uses = 3 + + [items.edelwood_bucket] + #How much Milk the Edelwood Bucket can store [default: 4] + #Range: 1 ~ 10 + milk_capacity = 4 + #How many Water Blocks the Edelwood Bucket can store [default: 4] + #Range: 1 ~ 10 + water_capacity = 4 + #How many Soups/Stews the Edelwood Bucket can store [default: 8] + #Range: 1 ~ 10 + soup_capacity = 8 + #How many Lava Blocks the Edelwood Bucket can store [default: 3] + #Range: 1 ~ 10 + lava_capacity = 3 + + [items.orb_of_temporary_flight] + #Flight Time the Orb grants (in ticks) [default: 6000] + #Range: 20 ~ 120000 + time = 6000 + + [items.boom_arrow] + #Should Boom Arrow explosions deal Block Damage [default: false] + block_damage = false + #Radius of Boom Arrow explosions [default: 3] + #Range: 1 ~ 10 + explosion_radius = 3 + + [items.mundabitur_dust] + #Should right-clicking a Creeper with Mundabitur Dust charge the Creeper [default: true] + charge_creeper = true + +[blocks] + + [blocks.stella_arcanum] + #Should Stella Arcanum explode when mined [default: true] + explode = true + #Should Stella Arcanum explosions deal Block Damage (if explosions enabled) [default: true] + block_damage = true + #Should Stella Arcanum only explode when mined with a wrong tool (if explosions enabled) [default: false] + only_explode_wrong_tool = false + #Radius of Stella Arcanum explosions (if explosions enabled) [default: 3] + #Range: 1 ~ 10 + explosion_radius = 3 + + [blocks.runic_chiseled_polished_darkstone] + #Radius the Activated Runic Chiseled Polished Darkstone prevents Entities from spawning in (in Blocks) [default: 25] + #Range: 1 ~ 100 + entity_spawn_blocking_radius = 25 + +[enchantments] + + [enchantments.indestructible] + #Should the item be repaired after applying the Indestructible enchantment [default: true] + repair_item = true + +[aureal] + #Chance that an entity spawns as Aureal Entity [default: 0.25] + #Range: 0.0 ~ 1.0 + aureal_entity_chance = 0.25 + + [aureal.corruption] + #Time before the players Corruption value is reduced by one (in ticks) [default: 6000] + #Range: > 0 + natural_decreasement_time = 6000 + #Chance that killing an Aureal Entity increases your Corruption [default: 0.42] + #Range: 0.0 ~ 1.0 + aureal_entity_death_increasement_chance = 0.42 + #Should the players Corruption value decrease after a certain amount of time [default: true] + natural_decreasement = true + #How much Corruption should killing an Aureal Entity give [default: 3] + #Range: 0 ~ 100 + aureal_entity_death_increasement_amount = 3 + #Do you want to completely disable corruption consequences? [default: false] + disable_consequences = true + #How much Corruption should killing a normal Entity give [default: 1] + #Range: 0 ~ 100 + entity_death_increasement_amount = 1 + #Chance that killing a normal Entity increases your Corruption [default: 0.35] + #Range: 0.0 ~ 1.0 + entity_death_increasement_chance = 0.35 + #Chance that breeding animals decreases your Corruption [default: 0.45] + #Range: 0.0 ~ 1.0 + breeding_decreasement_chance = 0.45 + diff --git a/src/overrides/config/forge-client.toml b/src/overrides/config/forge-client.toml new file mode 100644 index 0000000..a47a7e4 --- /dev/null +++ b/src/overrides/config/forge-client.toml @@ -0,0 +1,24 @@ + +#Client only settings, mostly things related to rendering +[client] + #Disable culling of hidden faces next to stairs and slabs. Causes extra rendering, but may fix some resource packs that exploit this vanilla mechanic. + disableStairSlabCulling = false + #Toggle off to make missing model text in the gui fit inside the slot. + zoomInMissingModelTextInGui = false + #Enable Forge to queue all chunk updates to the Chunk Update thread. + #May increase FPS significantly, but may also cause weird rendering lag. + #Not recommended for computers without a significant number of cores available. + alwaysSetupTerrainOffThread = true + #EXPERIMENTAL: Enable the Forge block rendering pipeline - fixes the lighting of custom models. + experimentalForgeLightPipelineEnabled = true + #Enable the Forge block rendering pipeline - fixes the lighting of custom models. + forgeLightPipelineEnabled = true + #When enabled, Forge will show any warnings that occurred during loading. + showLoadWarnings = true + #Enable uploading cloud geometry to the GPU for faster rendering. + forgeCloudsEnabled = true + #When enabled, makes specific reload tasks such as language changing quicker to run. + selectiveResourceReloadEnabled = true + #Set to true to use a combined DEPTH_STENCIL attachment instead of two separate ones. + useCombinedDepthStencilAttachment = false + diff --git a/src/overrides/config/forge-common.toml b/src/overrides/config/forge-common.toml new file mode 100644 index 0000000..0e1a203 --- /dev/null +++ b/src/overrides/config/forge-common.toml @@ -0,0 +1,7 @@ + +#General configuration settings +[general] + #Defines a default world type to use. The vanilla default world type is represented by 'default'. + #The modded world types are registry names which should include the registry namespace, such as 'examplemod:example_world_type'. + defaultWorldType = "default" + diff --git a/src/overrides/config/ftbbackups-common.toml b/src/overrides/config/ftbbackups-common.toml new file mode 100644 index 0000000..c89d750 --- /dev/null +++ b/src/overrides/config/ftbbackups-common.toml @@ -0,0 +1,40 @@ +#Enables backups to run automatically. +auto = true +#If set to true, no messages will be displayed in chat/status bar. +silent = false +#The number of backup files to keep. +#More backups = more space used +#0 - Infinite +#Range: 0 ~ 32000 +backups_to_keep = 12 +#Timer in minutes. +#5 - backups every 5 minutes +#60 - backups every hour +#360 - backups every 6 hours +#1440 - backups once every day +#Range: 1 ~ 43800 +backup_timer = 120 +#0 - Disabled (output = folders) +#1 - Best speed +#9 - Smallest file size +#Range: 0 ~ 9 +compression_level = 1 +#Absolute path to backups folder. +folder = "" +#Prints (current size | total size) when backup is done. +display_file_size = true +#Add extra files that will be placed in backup _extra_/ folder. +extra_files = [] +#Maximum total size that is allowed in backups folder. Older backups will be deleted to free space for newer ones. +max_total_size = "50 GB" +#Only create backups when players have been online. +only_if_players_online = true +#Create a backup when server is stopped. +force_on_shutdown = false + +#Advanced features that shouldn't be changed unless you know what you are doing. +[advanced] + #Buffer size for writing files. + #Range: 256 ~ 65536 + buffer_size = 4096 + diff --git a/src/overrides/config/ftbquests/backup/chapter_groups.snbt b/src/overrides/config/ftbquests/backup/chapter_groups.snbt new file mode 100644 index 0000000..513e6d1 --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapter_groups.snbt @@ -0,0 +1,6 @@ +{ + chapter_groups: [ + { id: "0810E42B2DD79973", title: "Remote Trading" } + { id: "331B6409EF6A7840", title: "Factory Guide" } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/lifesavers.snbt b/src/overrides/config/ftbquests/backup/chapters/lifesavers.snbt new file mode 100644 index 0000000..1233714 --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/lifesavers.snbt @@ -0,0 +1,824 @@ +{ + id: "0D0BC5B3F6623669" + group: "331B6409EF6A7840" + order_index: 8 + filename: "lifesavers" + title: " Lifesavers" + icon: "minecraft:totem_of_undying" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Choo Choo" + icon: "minecraft:chest_minecart" + x: -2.0d + y: 1.0d + description: ["Minecarts are the most flexible mid-range item transport available to you. Seriously, once you've build one railway connection to transfer items between areas, you will never be able to stop adding more. The convenience of these loaders is just off the charts."] + id: "2A2FA80784667833" + tasks: [ + { + id: "66503A543285BEFD" + type: "item" + item: "moreminecarts:minecart_loader" + consume_items: false + } + { + id: "2191410CA7781B53" + type: "item" + item: "moreminecarts:powered_locking_rail" + consume_items: false + } + { + id: "04948068050357CD" + type: "item" + item: "moreminecarts:minecart_unloader" + consume_items: false + } + ] + rewards: [{ + id: "4BD894A359074AFC" + type: "item" + item: "minecraft:chest_minecart" + }] + } + { + title: "Control Centre" + icon: "projectred-illumination:red_inverted_fixture_light" + x: -4.0d + y: 1.0d + description: [ + "With new circuitry and wiring capability, you can make your factory a little smarter. Also those lamps you can make are really pretty." + "" + "For an actual piece of advice: it is pretty simple to set up a little circuit at a few points in your factory, which detect when an item has not been produced in a while. You can use redstone links to redirect those signals to a central control room, giving you an overview of which sections require maintenance." + "" + "The circuit on site is basically a tug of war between a slow timer and a content observer detecting the items. The Counter available from circuit stonecutting works perfectly for this." + ] + id: "1127129CBA2B5E6F" + tasks: [ + { + id: "19CF5DA7A8547E17" + type: "item" + item: "projectred-core:platformed_plate" + consume_items: false + } + { + id: "457F0290A225EEA9" + type: "item" + item: "projectred-transmission:red_alloy_wire" + consume_items: false + } + { + id: "17B93B8634BC1C2D" + type: "item" + title: "Any Illumar Dust" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "projectred-core:illumars" + } + } + consume_items: false + } + ] + rewards: [{ + id: "66E867F9537437F1" + type: "item" + item: "projectred-core:red_ingot" + random_bonus: 4 + }] + } + { + title: "Engineer's Companion" + x: -5.0d + y: -1.0d + description: ["Especially while building new Contraptions, this gadget is incredibly handy. Instead of filling up your pockets with components, simply pick up the toolbox from the workshop and bring it with you."] + id: "26C39961F2E2ABF2" + tasks: [{ + id: "5E687A6CBD96D0EF" + type: "item" + title: "Any Toolbox" + icon: "create:blue_toolbox" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "create:toolboxes" + } + } + consume_items: false + }] + rewards: [{ + id: "2AC846CB2DF485C8" + type: "item" + item: "create:golden_sheet" + }] + } + { + title: "Immersive Minimap" + x: -6.0d + y: -3.0d + description: [ + "A cute alternative to the all-powerful map hud is the atlas." + "" + "Aside from the fantastic feel and design; these atlases can be copied and handed to your friends. If one of the owners explores new Territory or places a marker, everyone else will see it too." + ] + id: "0B8816319F81C12A" + tasks: [{ + id: "180D1CB1BB7EB0AA" + type: "item" + item: "antiqueatlas:empty_antique_atlas" + consume_items: false + }] + rewards: [ + { + id: "2F5DF773BBBA2725" + type: "item" + item: "minecraft:map" + } + { + id: "4958596378CDE1F3" + type: "item" + item: "minecraft:item_frame" + } + ] + } + { + title: "Big Barrels II" + x: 1.0d + y: 3.0d + description: ["If you are looking for extra large but specialised storage space in a block, check out Storage Drawers."] + id: "382EBC32AC27C839" + tasks: [{ + id: "4BE344E1F204A43D" + type: "item" + title: "Any Storage Drawer" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "storagedrawers:drawers" + } + } + consume_items: false + }] + rewards: [{ + id: "2285D6CE87319B4A" + type: "item" + item: "storagedrawers:upgrade_template" + random_bonus: 4 + }] + } + { + title: "The Joy of Cooking" + x: 0.0d + y: -3.0d + description: ["Stoves are a good-looking and very useful campfire alternative. Together with a Cooking Pot, it can help you prepare the most delicious meals in the game."] + id: "0E4476BA80B316F6" + tasks: [{ + id: "72F2D3B586A81A2B" + type: "item" + item: "farmersdelight:stove" + consume_items: false + }] + rewards: [{ + id: "02BA7C4E293DD955" + type: "item" + item: "minecraft:salmon" + }] + } + { + title: "Hotswap replace" + x: -3.0d + y: -1.0d + description: ["Exchangers make for a nice tool to replace blocks with others. Saves you a lot of digging."] + id: "6D7D504E9DC22590" + tasks: [{ + id: "4BE0CCD6F383D961" + type: "item" + title: "Any Exchanger" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "exchangers:end_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:leadstone_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:hardened_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:reinforced_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:signalum_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:resonant_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:tuberous_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:creative_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:wooden_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:stone_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:golden_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:iron_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:diamond_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:emerald_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + ] + } + } + consume_items: false + }] + rewards: [{ + id: "12B2F2F9A6A257FE" + type: "item" + item: "forbidden_arcanus:ender_pearl_fragment" + }] + } + { + title: "Blockstacker" + x: -1.0d + y: -1.0d + description: ["Construction wands can extend complete walls or surfaces of blocks by the click of a button."] + id: "2F469F6F1511D9C4" + tasks: [{ + id: "039DD9EBD46B2C23" + type: "item" + title: "Any Construction Wand" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "constructionwand:stone_wand" + Count: 1b + tag: { + wand_options: { } + Damage: 0 + } + } + { + id: "constructionwand:infinity_wand" + Count: 1b + tag: { + wand_options: { } + } + } + { + id: "constructionwand:diamond_wand" + Count: 1b + tag: { + wand_options: { } + Damage: 0 + } + } + { + id: "constructionwand:iron_wand" + Count: 1b + tag: { + wand_options: { } + Damage: 0 + } + } + ] + } + } + consume_items: false + }] + rewards: [{ + id: "5B7C253D05152423" + type: "item" + item: "minecraft:scaffolding" + count: 16 + }] + } + { + title: "Pass me the butter" + x: 3.0d + y: -1.0d + description: ["Human Arms just aren't evolved to build machines efficiently, yet. Thankfully this gadget can make up for it by increasing your reach distance significantly."] + id: "7061F42CF050ADCA" + tasks: [{ + id: "0710C744349D2090" + type: "item" + item: { + id: "create:extendo_grip" + Count: 1b + tag: { + Damage: 0 + } + } + consume_items: false + }] + rewards: [{ + id: "40E5D8DBF58086BB" + type: "item" + item: "create:cogwheel" + count: 8 + }] + } + { + x: -4.0d + y: -3.0d + description: ["Sometimes it is desirable to travel to a specific Biome. The Nature's Compass can at least point you in the right direction."] + id: "45E7810E21F6F9AE" + tasks: [{ + id: "7AD38BD1318A493B" + type: "item" + item: { + id: "naturescompass:naturescompass" + Count: 1b + tag: { } + } + consume_items: false + }] + rewards: [{ + id: "482338485BF4B3B0" + type: "item" + item: "biomesoplenty:spanish_moss" + random_bonus: 4 + }] + } + { + title: "Big Barrels" + x: -1.0d + y: 3.0d + description: ["In case you need large universal storage space in a block, check out the upgrade options for wooden barrels."] + id: "50E2D6459F3D68C0" + tasks: [{ + id: "6D6CDA4DEFD5795F" + type: "item" + title: "Any Upgraded Barrel" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "metalbarrels:gold_barrel" + Count: 1b + } + { + id: "metalbarrels:iron_barrel" + Count: 1b + } + { + id: "metalbarrels:silver_barrel" + Count: 1b + } + { + id: "metalbarrels:copper_barrel" + Count: 1b + } + ] + } + } + consume_items: false + }] + rewards: [{ + id: "390AF1049C411219" + type: "item" + item: "minecraft:barrel" + random_bonus: 4 + }] + } + { + title: "House Building Cannon" + x: 1.0d + y: -1.0d + description: ["With the help of Schematicannons, any .nbt Schematic can be built into your world. Use it to replicate parts of your Building, or even to prepare it in a completely different World ahead of time."] + id: "09EB29F838620371" + tasks: [{ + id: "103E6982FCFE8B6C" + type: "item" + item: "create:schematicannon" + consume_items: false + }] + rewards: [{ + id: "7AF62EF3656DD4E3" + type: "item" + item: "create:empty_schematic" + }] + } + { + title: "Big Plans" + x: 2.0d + y: -3.0d + description: [ + "These Blueprints can be given one or more crafting recipes, which they then apply to your held items whenever you right-click them." + "" + "The quickest and most effective way to assign recipes is to locate the recipe in JEI while the blueprint UI is open. Clicking the '+' in the JEI recipe view will transfer the recipe ingredients to the blueprint for you." + ] + id: "6D900619B1967D72" + tasks: [{ + id: "006D992D77A782EF" + type: "item" + item: "create:crafting_blueprint" + consume_items: false + }] + rewards: [{ + id: "47ADAFAB537F63CE" + type: "item" + item: "minecraft:painting" + }] + } + { + title: "Pressure Tube" + x: 0.0d + y: 1.0d + description: [ + "Belts and Arms are great, but sometimes we will still give in to the guilty pleasure of using item pipes." + "" + "These tubes however can even serve as a pretty sophisticated logistical infrastructure. Blocks like the Item- or Crafting Terminal will be able to request items from any chests connected to them." + ] + id: "334146C815B304DB" + tasks: [{ + id: "461F9FF1732B308F" + type: "item" + item: "prettypipes:pipe" + consume_items: false + }] + rewards: [{ + id: "35445550FFC9B565" + type: "item" + item: "kubejs:pipe_module_tier_1" + }] + } + { + title: "Induction Conduits" + x: 2.0d + y: 1.0d + description: [ + "With the rise of Inductive Machinery, you'll want to have the option to connect dynamos and machines together in an energy grid." + "" + "Something to look out for is that these ducts do not always know when to extract power from a block. You can use a Wrench to sneak-click the pipe connection near the block in order to enable/disable pulling." + ] + id: "6BC864CC7CB2C316" + tasks: [{ + id: "4912723B6A264380" + type: "item" + item: "pipez:energy_pipe" + consume_items: false + }] + rewards: [{ + id: "5EA5B33DA2E47592" + type: "item" + item: "thermal:signalum_ingot" + random_bonus: 4 + }] + } + { + title: "Bottoms up!" + x: -7.0d + y: -1.0d + description: ["You can use a Keg to create your favourite brews. Drink Responsibly."] + id: "7D63FF6A2243A06B" + tasks: [{ + id: "3AD6B6675D0D19D0" + type: "item" + item: "drinkbeer:beer_mug" + consume_items: false + }] + rewards: [{ + id: "43B1D0036D231078" + type: "item" + item: "minecraft:wheat" + random_bonus: 4 + }] + } + { + title: "Friend?" + x: 1.0d + y: -5.0d + description: ["Placing a Carved Pumpkin on a Hay Bale creates a Straw Golem, who can take care of your crops."] + id: "1DBFD0B34659A8F9" + tasks: [ + { + id: "7596BE1437EA002D" + type: "item" + item: "minecraft:hay_block" + consume_items: false + } + { + id: "7986E1E6575F2C25" + type: "item" + item: "minecraft:carved_pumpkin" + consume_items: false + } + ] + rewards: [{ + id: "7BD14F5479FAB194" + type: "item" + item: "minecraft:sweet_berries" + random_bonus: 4 + }] + } + { + title: "Roll for Intelligence" + x: 4.0d + y: -3.0d + description: ["Sometimes it is hard to make up ones' mind. Thankfully, we have technology to help us make our decision."] + id: "087659F192F41C6E" + tasks: [{ + id: "0F82D1FCCA10EFBC" + type: "item" + title: "Any Dice" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "dice:black_dice" + Count: 1b + } + { + id: "dice:red_dice" + Count: 1b + } + { + id: "dice:green_dice" + Count: 1b + } + { + id: "dice:brown_dice" + Count: 1b + } + { + id: "dice:purple_dice" + Count: 1b + } + { + id: "dice:blue_dice" + Count: 1b + } + { + id: "dice:cyan_dice" + Count: 1b + } + { + id: "dice:light_gray_dice" + Count: 1b + } + { + id: "dice:gray_dice" + Count: 1b + } + { + id: "dice:pink_dice" + Count: 1b + } + { + id: "dice:lime_dice" + Count: 1b + } + { + id: "dice:yellow_dice" + Count: 1b + } + { + id: "dice:light_blue_dice" + Count: 1b + } + { + id: "dice:magenta_dice" + Count: 1b + } + { + id: "dice:orange_dice" + Count: 1b + } + { + id: "dice:white_dice" + Count: 1b + } + ] + } + } + consume_items: false + }] + rewards: [{ + id: "3D69B03DFCB41179" + type: "item" + item: "randomium:randomium_ore" + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/market.snbt b/src/overrides/config/ftbquests/backup/chapters/market.snbt new file mode 100644 index 0000000..e443dac --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/market.snbt @@ -0,0 +1,1144 @@ +{ + id: "44F68408CAD025B8" + group: "0810E42B2DD79973" + order_index: 1 + filename: "market" + title: "&a The Market" + icon: "minecraft:chest" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Sleepless" + icon: "minecraft:cyan_bed" + x: -9.5d + y: -1.5d + subtitle: "10 Silver" + description: ["Your last resort in case the sundown beat you to it."] + id: "5D17CB247942013A" + tasks: [{ + id: "0783860FB502A201" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [{ + id: "55EF0FE847AE3353" + type: "item" + item: "minecraft:cyan_bed" + }] + } + { + title: "Fortress Locator" + icon: "create:blaze_burner" + x: -7.5d + y: 0.5d + subtitle: "2 Gold" + description: ["Aimlessly traversing the nether is just the worst. This wonderful gadget will point you in the correct direction at all times."] + id: "252B9DD5BFB8184A" + tasks: [{ + id: "5345AA8760A95127" + type: "item" + icon: { id: "thermal:gold_coin", Count: 2b } + item: "thermal:gold_coin" + count: 2L + }] + rewards: [{ + id: "160328DECC54AD5A" + type: "item" + item: { + id: "structurescompass:structures_compass" + Count: 1b + tag: { + Structure: "minecraft:fortress" + } + } + }] + } + { + title: "Saw everything" + icon: { + id: "cb_microblock:diamond_saw" + Count: 1b + tag: { + RepairCost: 0 + Damage: 0 + Enchantments: [{ + lvl: 3s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Saw\"}" + } + } + } + x: -8.5d + y: -6.5d + subtitle: "5 Gold" + description: ["Buy this relic to minimise the Tool Maintenance in the assembly of &6Kinetic Mechanisms&r."] + hide_dependency_lines: true + id: "4F953BACF4D1C151" + tasks: [ + { + id: "4C77B71D0EC3B2EA" + type: "item" + item: { + id: "cb_microblock:diamond_saw" + Count: 1b + tag: { + Damage: 0 + } + } + } + { + id: "3EE8736C08EF80F4" + type: "item" + item: "thermal:gold_coin" + count: 5L + } + ] + rewards: [{ + id: "56DB21D18FB1FF64" + type: "item" + item: { + id: "cb_microblock:diamond_saw" + Count: 1b + tag: { + Unbreakable: 1 + RepairCost: 0 + HideFlags: 1 + Enchantments: [{ + lvl: 10s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Saw\",\"color\":\"gold\",\"italic\":false}" + } + Damage: 0 + } + } + }] + } + { + title: "Never Screwed" + icon: { + id: "projectred-core:screwdriver" + Count: 1b + tag: { + Damage: 0 + Enchantments: [{ + lvl: 3s + id: "minecraft:unbreaking" + }] + } + } + x: -7.0d + y: -6.5d + subtitle: "7 Gold" + description: ["Buy this relic to minimise the Tool Maintenance in the assembly of &6Precision Mechanisms&r."] + id: "72CACE8F0E4701B1" + tasks: [ + { + id: "1E25EB2883C9A960" + type: "item" + item: { + id: "projectred-core:screwdriver" + Count: 1b + tag: { + Damage: 0 + } + } + } + { + id: "74585BB7E80CF010" + type: "item" + item: "thermal:gold_coin" + count: 7L + } + ] + rewards: [{ + id: "743730BBE32A0875" + type: "item" + item: { + id: "projectred-core:screwdriver" + Count: 1b + tag: { + Unbreakable: 1 + Damage: 0 + HideFlags: 1 + Enchantments: [{ + lvl: 10s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Screwdriver\",\"color\":\"gold\",\"italic\":false}" + } + } + } + }] + } + { + title: "Magnetic Energetic" + icon: { + id: "kubejs:chromatic_resonator" + Count: 1b + tag: { + Damage: 0 + Enchantments: [{ + lvl: 3s + id: "minecraft:unbreaking" + }] + } + } + x: -5.0d + y: -6.5d + subtitle: "9 Gold" + description: ["Buy this relic to minimise the Tool Maintenance in the assembly of &6Inductive Mechanisms&r."] + id: "43FC566E833BE834" + tasks: [ + { + id: "36CBD54BCB068EB1" + type: "item" + item: { + id: "kubejs:chromatic_resonator" + Count: 1b + tag: { + Damage: 0 + } + } + } + { + id: "5B31A98B9EFCCFAB" + type: "item" + item: "thermal:gold_coin" + count: 9L + } + ] + rewards: [{ + id: "0F4C7BB4C0ECB4CC" + type: "item" + item: { + id: "kubejs:chromatic_resonator" + Count: 1b + tag: { + Unbreakable: 1 + Damage: 0 + HideFlags: 1 + Enchantments: [{ + lvl: 10s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Resonator\",\"color\":\"gold\",\"italic\":false}" + } + } + } + }] + } + { + title: "The Market" + icon: "minecraft:chest" + x: -6.0d + y: -4.0d + shape: "hexagon" + description: [ + "&6The Market&r gives you options to spend your money on a variety of fun and useful items and gadgets." + "" + "Have a look around. I'm sure you'll find something of use." + ] + size: 2.0d + id: "0F870BEA235D662D" + tasks: [{ + id: "3929233A89B34A71" + type: "checkmark" + }] + } + { + title: "Manual Exchange" + icon: { id: "thermal:silver_coin", Count: 16b } + x: -4.0d + y: -4.0d + shape: "circle" + subtitle: "Gold -> Silver" + description: ["Here you can exchange a Gold Coin back to a Stack of Silver."] + dependencies: ["0F870BEA235D662D"] + id: "5326F6482C45D22A" + tasks: [{ + id: "772821832EE93341" + type: "item" + item: "thermal:gold_coin" + }] + rewards: [ + { + id: "26512E93CE404069" + type: "item" + icon: { id: "thermal:silver_coin", Count: 64b } + auto: "enabled" + item: "thermal:silver_coin" + count: 64 + } + { + id: "6FA6A9A201CA27BE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Manual Exchange" + icon: { id: "thermal:gold_coin", Count: 2b } + x: -8.0d + y: -4.0d + shape: "circle" + subtitle: "Silver -> Gold" + description: ["Some trades require you to hand in Gold Coins. These are worth a stack of Silver each."] + dependencies: ["0F870BEA235D662D"] + id: "1A566C74B1F7F050" + tasks: [{ + id: "2387D852CA97AD1A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 64b } + item: "thermal:silver_coin" + count: 64L + }] + rewards: [ + { + id: "66BE3DDEC92812C4" + type: "item" + auto: "enabled" + item: "thermal:gold_coin" + } + { + id: "6E78A95786CA5B28" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Corporate Dinner" + icon: "farmersdelight:steak_and_potatoes" + x: -8.0d + y: -2.0d + subtitle: "10 Silver" + description: ["Sometimes you have to treat yourself and the co-workers to a nice meal."] + id: "09DC2E2BE2BE32F4" + tasks: [{ + id: "6235F365D702DF2B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "05B553B614119E4A" + type: "item" + item: "farmersdelight:steak_and_potatoes" + count: 4 + } + { + id: "607D48921297C475" + type: "item" + item: "create:builders_tea" + count: 4 + } + { + id: "37DB33F821AD0AFE" + type: "item" + item: "minecraft:bread" + count: 2 + } + { + id: "51A8014ACD2153F6" + type: "item" + item: "farmersdelight:mixed_salad" + count: 4 + } + { + id: "5CD27D9058DAFAAB" + type: "item" + item: "farmersdelight:sweet_berry_cookie" + count: 4 + } + ] + } + { + title: "Landfill Pickup" + icon: "minecraft:dirt" + x: -6.0d + y: 0.0d + subtitle: "15 Silver" + description: ["Early on it might help to import some dirt for base building."] + id: "4B01606CE7AF3121" + tasks: [{ + id: "188BEC2BA245DB13" + type: "item" + icon: { id: "thermal:silver_coin", Count: 15b } + item: "thermal:silver_coin" + count: 15L + }] + rewards: [ + { + id: "65597F84B69546EF" + type: "item" + item: "minecraft:dirt" + count: 64 + } + { + id: "5ED9F3AFC25DD60E" + type: "item" + item: "minecraft:dirt" + count: 64 + } + { + id: "1A8CE751232C7235" + type: "item" + item: "minecraft:dirt" + count: 64 + } + ] + } + { + title: "Test of Patience" + icon: { + id: "minecraft:barrel" + Count: 1b + tag: { + Enchantments: [{ + lvl: 1s + id: "minecraft:unbreaking" + }] + } + } + x: -9.0d + y: 0.0d + subtitle: "50 Silver" + description: ["This mysterious fellow is offering a puzzle box with seemingly endless layers of depth. As an expert you know that this can only be finite. But what will await you at the bottom?"] + id: "09EA580B3D32FEEB" + tasks: [{ + id: "3EA558277444F605" + type: "item" + icon: { id: "thermal:silver_coin", Count: 50b } + item: "thermal:silver_coin" + count: 50L + }] + rewards: [{ + id: "1E10CE8D433DD70E" + type: "item" + item: { + id: "minecraft:barrel" + Count: 1b + tag: { + HideFlags: 1 + BlockEntityTag: { + Items: [ + { + Slot: 11b + id: "minecraft:paper" + Count: 1b + tag: { + RepairCost: 0 + display: { + bold: 0b + Name: "{\"italic\": false, \"text\":\"Welcome, Challenger\"}" + } + } + } + { + Slot: 15b + id: "minecraft:barrel" + Count: 1b + tag: { + BlockEntityTag: { + Items: [ + { + Slot: 3b + id: "minecraft:paper" + Count: 1b + tag: { + RepairCost: 0 + display: { + Name: "{\"italic\": false, \"text\":\"You'll have to unbox a few of these\"}" + } + } + } + { + Slot: 23b + id: "minecraft:barrel" + Count: 1b + tag: { + BlockEntityTag: { + Items: [ + { + Slot: 11b + id: "minecraft:barrel" + Count: 1b + tag: { + BlockEntityTag: { + LootTable: "custom:chests/patience_1" + } + display: { + Lore: ["{\"italic\":true,\"color\":\"gray\",\"text\":\"The fabled prize awaits at the bottom...\"}"] + } + } + } + { + Slot: 13b + id: "minecraft:paper" + Count: 1b + tag: { + RepairCost: 0 + display: { + Name: "{\"italic\": false, \"text\":\"Good luck, see you at the bottom!\"}" + } + } + } + { + Slot: 14b + id: "minecraft:apple" + Count: 1b + tag: { + display: { + Name: "{\"italic\": false, \"text\":\"Motivational Apple\"}" + } + } + } + ] + id: "minecraft:barrel" + } + display: { + Lore: ["{\"text\": \"The fabled prize awaits at the bottom...\",\"italic\": true,\"color\": \"gray\"}"] + } + } + } + ] + id: "minecraft:barrel" + } + display: { + Lore: ["{\"text\": \"The fabled prize awaits at the bottom...\",\"italic\": true,\"color\": \"gray\"}"] + } + } + } + ] + id: "minecraft:barrel" + } + display: { + Lore: ["{\"italic\":true,\"color\":\"gray\",\"text\":\"The fabled prize awaits at the bottom...\"}"] + Name: "{\"italic\":false,\"text\":\"Test of Patience\",\"color\":\"dark_purple\"}" + } + Enchantments: [{ + lvl: 1s + id: "minecraft:unbreaking" + }] + } + } + }] + } + { + title: "Enderpack" + icon: "minecraft:shulker_box" + x: -4.5d + y: -0.5d + subtitle: "55 Silver" + description: ["It's like a backpack but classy."] + id: "4FD46F841CCD59F8" + tasks: [{ + id: "709557A517B0143F" + type: "item" + icon: { id: "thermal:silver_coin", Count: 55b } + item: "thermal:silver_coin" + count: 55L + }] + rewards: [ + { + id: "7B8F11CCEDEBEBD6" + type: "item" + item: "minecraft:shulker_shell" + } + { + id: "364AA663BD7C519F" + type: "item" + item: "minecraft:chest" + } + { + id: "440DF47BEF341626" + type: "item" + item: "minecraft:shulker_shell" + } + ] + } + { + title: "The Tinkerbox" + icon: { + id: "tconstruct:creative_slot" + Count: 1b + tag: { + slot: "upgrades" + } + } + x: -2.5d + y: 1.5d + subtitle: "25 Silver" + description: ["\"I found this in an abandoned Workshop down the road; would you like to buy it?\""] + id: "0CCF34BF1C5829AE" + tasks: [{ + id: "32ACF7B1C0BD9D97" + type: "item" + icon: { id: "thermal:silver_coin", Count: 25b } + item: "thermal:silver_coin" + count: 25L + }] + rewards: [{ + id: "37DBD1EF724A42D9" + type: "item" + item: { + id: "minecraft:chest" + Count: 1b + tag: { + BlockEntityTag: { + LootTable: "custom:chests/tinker" + id: "minecraft:chest" + } + display: { + Lore: ["{\"text\":\"Contains Loot\",\"color\":\"gray\",\"italic\":\"false\"}"] + Name: "{\"text\":\"Tinkerbox\",\"italic\":false}" + } + } + } + }] + } + { + title: "1-Up!" + icon: "minecraft:totem_of_undying" + x: -3.0d + y: 0.0d + subtitle: "60 Silver" + id: "6D9F2FBEB7CC5195" + tasks: [{ + id: "165B9A886A26BCC8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 60b } + item: "thermal:silver_coin" + count: 60L + }] + rewards: [{ + id: "6BCBFB22A82A5698" + type: "item" + item: "minecraft:totem_of_undying" + }] + } + { + title: "Where mob ?" + icon: "create:haunted_bell" + x: -4.0d + y: 2.0d + subtitle: "45 Silver" + description: ["As seen on TV: This Magical Bell can detect unlit areas around it. Free shipping, bonus cursed campfire. What a Deal!"] + id: "4B52A04818075900" + tasks: [{ + id: "4FB1B4787D648565" + type: "item" + icon: { id: "thermal:silver_coin", Count: 35b } + item: "thermal:silver_coin" + count: 45L + }] + rewards: [ + { + id: "0257303302DADA1B" + type: "item" + item: "create:peculiar_bell" + } + { + id: "30D4605E06FF45B6" + type: "item" + item: "minecraft:soul_campfire" + } + ] + } + { + title: "Windows Update" + icon: { + id: "kubejs:flash_drive" + Count: 1b + tag: { + Damage: 0 + Enchantments: [{ + lvl: 10s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Flash Drive\",\"color\":\"gold\",\"italic\":false}" + } + } + } + x: -3.5d + y: -6.5d + subtitle: "11 Gold" + description: ["Buy this relic to minimise the Tool Maintenance in the assembly of &6Calculation Mechanisms&r."] + id: "00D6DD6AE8E3C014" + tasks: [ + { + id: "561DF7A17B804B1F" + type: "item" + item: { + id: "kubejs:flash_drive" + Count: 1b + tag: { + Damage: 0 + } + } + } + { + id: "04FA9389D991556D" + type: "item" + icon: { id: "thermal:gold_coin", Count: 11b } + item: "thermal:gold_coin" + count: 11L + } + ] + rewards: [{ + id: "3EA7518063CBEA5B" + type: "item" + item: { + id: "kubejs:flash_drive" + Count: 1b + tag: { + Unbreakable: 1 + Damage: 0 + HideFlags: 1 + Enchantments: [{ + lvl: 10s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Flash Drive\",\"color\":\"gold\",\"italic\":false}" + } + } + } + }] + } + { + title: "Press Express" + icon: "appliedenergistics2:silicon_press" + x: -1.0d + y: 2.0d + subtitle: "6 Gold" + description: ["True IT experts tend to avoid going outside much. Thankfully the necessary computer parts can now be delivered directly to their inventory!"] + id: "4BAC95CCC72369AD" + tasks: [{ + id: "3D328A6D69E64EDA" + type: "item" + icon: { id: "thermal:gold_coin", Count: 12b } + item: "thermal:gold_coin" + count: 6L + }] + rewards: [{ + id: "51ABA96DE3477D3B" + type: "item" + item: "kubejs:circuit_scrap" + count: 4 + }] + } + { + title: "Adopt a Duck" + icon: "minecraft:egg" + x: -11.0d + y: -2.0d + subtitle: "5 Silver" + description: ["Quack"] + id: "6C00F2935F27C2AD" + tasks: [ + { + id: "491FF95EFE8DCB67" + type: "item" + icon: { id: "thermal:silver_coin", Count: 5b } + item: "thermal:silver_coin" + count: 5L + } + { + id: "5F58BA2473FD6DDA" + type: "item" + item: "rubber_duck:rubber_duck_item" + } + ] + rewards: [ + { + id: "500098FD4762A38F" + type: "item" + auto: "enabled" + item: "exoticbirds:duck_spawn_egg" + } + { + id: "79C8307ED8450347" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Expensive Hobby" + icon: "buddycards:mystery_pack" + x: 0.5d + y: 1.5d + subtitle: "4 Gold" + description: ["Ah the joy of gambling."] + id: "093FB7B7FEC6B886" + tasks: [{ + id: "30B16CC21946FE8E" + type: "item" + icon: { id: "thermal:gold_coin", Count: 8b } + item: "thermal:gold_coin" + count: 4L + }] + rewards: [ + { + id: "198DC310752F341F" + type: "item" + auto: "enabled" + item: "buddycards:mystery_pack" + } + { + id: "423CFA69329BD06E" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Playing with Fire" + icon: "thermal:explosive_grenade" + x: -12.5d + y: -1.5d + subtitle: "32 Silver" + description: ["A little testing selection of Thermal Weaponry."] + id: "1CC29991D5F248CA" + tasks: [{ + id: "2BF8F9E5070C6122" + type: "item" + icon: { id: "thermal:silver_coin", Count: 32b } + item: "thermal:silver_coin" + count: 32L + }] + rewards: [ + { + id: "1C6218230C6D71A0" + type: "item" + item: "thermal:explosive_grenade" + count: 8 + } + { + id: "2D1A3F35DF8894FF" + type: "item" + item: "thermal:glowstone_grenade" + count: 8 + } + { + id: "093F58649A1E0DD6" + type: "item" + item: "thermal:ice_grenade" + count: 8 + } + { + id: "71BB0C93A4A7BC04" + type: "item" + item: "thermal:earth_grenade" + count: 8 + } + ] + } + { + title: "Gardener's Starter Pack" + icon: "biomesoplenty:glowflower" + x: -2.5d + y: -1.5d + subtitle: "24 Silver" + id: "42384DE39AA48976" + tasks: [{ + id: "05BB5DFA82280C0C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 24L + }] + rewards: [ + { + id: "26A16DC998FEF595" + type: "item" + item: "farmersdelight:organic_compost" + count: 8 + } + { + id: "68B1199F9AE6B8FE" + type: "item" + item: "supplementaries:planter_rich" + count: 16 + } + { + id: "5DEDD7BBA8A712AA" + type: "item" + item: "minecraft:flower_pot" + count: 8 + } + { + id: "01196A417139EA21" + type: "item" + item: "supplementaries:flower_box" + count: 4 + } + { + id: "648B819C1B484A3F" + type: "item" + item: "minecraft:grass_block" + count: 4 + } + ] + } + { + title: "Painter's Starter Kit" + icon: "minecraft:painting" + x: -9.5d + y: 1.5d + subtitle: "24 Silver" + id: "61B040CD0832EFC0" + tasks: [{ + id: "6404722100F1DEF7" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 24L + }] + rewards: [ + { + id: "6375AD9CBA9276E0" + type: "item" + item: "minecraft:white_wool" + count: 16 + } + { + id: "72F57D408AD5C84A" + type: "item" + item: "minecraft:white_dye" + count: 12 + } + { + id: "3477DB4BB2003475" + type: "item" + item: "minecraft:yellow_dye" + count: 12 + } + { + id: "14FE738419E8578F" + type: "item" + item: "minecraft:black_dye" + count: 12 + } + { + id: "4D37425F17A9D45F" + type: "item" + item: "minecraft:blue_dye" + count: 12 + } + { + id: "4A3F1D820F9F1D26" + type: "item" + item: "minecraft:green_dye" + count: 12 + } + { + id: "4FFD3D4728DFBB16" + type: "item" + item: "minecraft:red_dye" + count: 12 + } + { + id: "0F0A7101131FFC08" + type: "item" + item: "minecraft:brown_dye" + count: 12 + } + ] + } + { + title: "Railway Starter Pack" + icon: "minecraft:minecart" + x: -11.0d + y: 2.0d + subtitle: "24 Silver" + id: "117587D824D23D69" + tasks: [{ + id: "06C835DB602D6F9F" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 24L + }] + rewards: [ + { + id: "738387AED344C59B" + type: "item" + item: "moreminecarts:powered_locking_rail" + count: 8 + } + { + id: "4D33B3525FF09C68" + type: "item" + item: "minecraft:powered_rail" + count: 8 + } + { + id: "0A214A7B25C331F6" + type: "item" + item: "minecraft:lever" + count: 8 + } + { + id: "3F0919FBED64778C" + type: "item" + item: "minecraft:rail" + count: 64 + } + { + id: "6D3CCD1BF0BFD7D6" + type: "item" + item: "minecraft:rail" + count: 64 + } + ] + } + { + title: "Handle with Care" + icon: "minecraft:bedrock" + x: -1.0d + y: -2.0d + subtitle: "32 Gold" + description: ["Bedrock? How is this possible?"] + id: "4E3CA739584CF5A3" + tasks: [{ + id: "4090D8BF82115765" + type: "item" + icon: { id: "thermal:gold_coin", Count: 32b } + item: "thermal:gold_coin" + count: 32L + }] + rewards: [{ + id: "0BCFC6C5ED72C57C" + type: "item" + item: "minecraft:bedrock" + }] + } + { + title: "Pet Owner's Starter Pack" + icon: "minecraft:tropical_fish" + x: -13.0d + y: 0.0d + subtitle: "24 Silver" + id: "2D75D1864FB1EF75" + tasks: [{ + id: "3AA788B63B6A73EF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 24L + }] + rewards: [ + { + id: "4961B49D79004571" + type: "item" + item: "minecraft:name_tag" + count: 4 + } + { + id: "054AEE030B3B81F6" + type: "item" + item: "minecraft:bone" + count: 8 + } + { + id: "29F276B6CDE4D6B5" + type: "item" + item: "minecraft:tropical_fish" + count: 8 + } + { + id: "53AA2AF7CA1EF02C" + type: "item" + item: "minecraft:saddle" + } + { + id: "762BB57B2AFDB21F" + type: "item" + item: "minecraft:lead" + count: 2 + } + ] + } + { + title: "Instant Aesthetics" + icon: "minecraft:oak_leaves" + x: 1.0d + y: 0.0d + subtitle: "24 Silver" + description: ["Not too stoked with your facade? Not a problem! Foliage solves everything."] + id: "7D93DAB3E8ACF953" + tasks: [{ + id: "06028A67C6DCCD00" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 24L + }] + rewards: [ + { + id: "1BA12452E9A090EC" + type: "item" + item: "biomesoplenty:flowering_oak_leaves" + count: 32 + } + { + id: "17FCE9D6C12A7822" + type: "item" + item: "minecraft:oak_leaves" + count: 64 + } + { + id: "51C2FE4F4F5057CC" + type: "item" + item: "minecraft:oak_leaves" + count: 64 + } + { + id: "5B801D097C1C538F" + type: "item" + item: "minecraft:spruce_leaves" + count: 64 + } + { + id: "5A23AFB90F20641B" + type: "item" + item: "minecraft:spruce_leaves" + count: 64 + } + { + id: "1EC1E1486084AE66" + type: "item" + item: "minecraft:spruce_fence" + count: 16 + } + ] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/metallurgy.snbt b/src/overrides/config/ftbquests/backup/chapters/metallurgy.snbt new file mode 100644 index 0000000..db91660 --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/metallurgy.snbt @@ -0,0 +1,333 @@ +{ + id: "1B927DD15CF28E13" + group: "331B6409EF6A7840" + order_index: 7 + filename: "metallurgy" + title: " Metallurgy" + icon: "thermal:silver_ingot" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Build-a-Processing:" + icon: "minecraft:gold_ore" + x: -9.0d + y: -4.0d + shape: "circle" + description: [ + "A simple Overview of most options to process your way from Ore to Ingot." + "" + "For every path through this graph, the effective yield per ore can be estimated by multiplying the ratio of each included step." + ] + id: "6B03056FA21424C0" + tasks: [{ + id: "4220B0B7F6BF4327" + type: "checkmark" + }] + } + { + title: "Mining Tool" + icon: { + id: "minecraft:iron_pickaxe" + Count: 1b + tag: { + Damage: 0 + } + } + x: -7.0d + y: -3.0d + subtitle: "1 to 1" + dependencies: ["6B03056FA21424C0"] + id: "7967324CAC77AF60" + tasks: [{ + id: "4B6F024B97BC278F" + type: "checkmark" + }] + } + { + title: "I: Crushed" + icon: "create:crushed_gold_ore" + x: -9.0d + y: -2.0d + shape: "circle" + dependencies: [ + "7967324CAC77AF60" + "005F2C4E203E7E62" + ] + dependency_requirement: "one_completed" + id: "612100C7C6E0A7C9" + tasks: [{ + id: "720C60FFE33E9E3B" + type: "checkmark" + }] + } + { + title: "Fortune" + icon: { + id: "minecraft:golden_pickaxe" + Count: 1b + tag: { + Damage: 0 + Enchantments: [{ + lvl: 3s + id: "minecraft:fortune" + }] + } + } + x: -5.0d + y: -3.0d + subtitle: "1 to 1-2" + dependencies: ["6B03056FA21424C0"] + id: "005F2C4E203E7E62" + tasks: [{ + id: "5EC097C40FE0A5DB" + type: "checkmark" + }] + } + { + title: "Pulverizing" + icon: "thermal:machine_pulverizer" + x: -3.0d + y: -1.0d + subtitle: "1 to 6" + dependencies: ["612100C7C6E0A7C9"] + id: "623EE1E0678E4F2A" + tasks: [{ + id: "32C926B2269E8EA9" + type: "checkmark" + }] + } + { + title: "II: Dust" + icon: "thermal:gold_dust" + x: -9.0d + y: 0.0d + shape: "circle" + dependencies: [ + "3A81BC460AF1756D" + "623EE1E0678E4F2A" + "352F5F851045653A" + ] + dependency_requirement: "one_completed" + id: "07BE7128982202A7" + tasks: [{ + id: "24827B93E6C39D1C" + type: "checkmark" + }] + } + { + title: "IIIb: Liquid" + icon: "tconstruct:molten_gold_bucket" + x: -8.5d + y: 2.0d + shape: "circle" + subtitle: "[in Nuggets]" + dependencies: [ + "18EDB4CD525CE110" + "715BBD0DF0136FF1" + "409A50CBCDBBA1F0" + ] + dependency_requirement: "one_completed" + id: "6509024553997AB0" + tasks: [{ + id: "63C79158B9BD32FF" + type: "checkmark" + }] + } + { + title: "IIIa: Nugget" + icon: "minecraft:gold_nugget" + x: -9.5d + y: 2.0d + shape: "circle" + dependencies: [ + "21E76761CD3761C2" + "2C2E304910D7F33D" + "171A0F26C6608E83" + "5FCCD2F720115D41" + ] + dependency_requirement: "one_completed" + id: "29DABB5FDE6356E9" + tasks: [{ + id: "076ACC98C6F22EF6" + type: "checkmark" + }] + } + { + title: "Smelting" + icon: "minecraft:furnace" + x: -11.0d + y: -1.0d + subtitle: "1 to 3" + dependencies: ["612100C7C6E0A7C9"] + id: "21E76761CD3761C2" + tasks: [{ + id: "2B5E747AF5ADDD50" + type: "checkmark" + }] + } + { + title: "Crushing" + icon: "create:crushing_wheel" + x: -5.0d + y: -1.0d + subtitle: "1 to 3-6" + dependencies: ["612100C7C6E0A7C9"] + id: "352F5F851045653A" + tasks: [{ + id: "6F089C1EAF85CBC6" + type: "checkmark" + }] + } + { + title: "Milling" + icon: "create:millstone" + x: -7.0d + y: -1.0d + subtitle: "1 to 3" + dependencies: ["612100C7C6E0A7C9"] + id: "3A81BC460AF1756D" + tasks: [{ + id: "13538972B20A96BA" + type: "checkmark" + }] + } + { + title: "Superheated Mixing" + icon: "create:mechanical_mixer" + x: -3.0d + y: 1.0d + subtitle: "1 to 6" + dependencies: ["07BE7128982202A7"] + dependency_requirement: "one_completed" + id: "18EDB4CD525CE110" + tasks: [{ + id: "6277979A0F5B984A" + type: "checkmark" + }] + } + { + title: "Compacting by Press" + icon: "create:mechanical_press" + x: -11.0d + y: 3.0d + subtitle: "9 to 1" + dependencies: ["29DABB5FDE6356E9"] + id: "1250AE58911C27A9" + tasks: [{ + id: "30EE40322822EE4A" + type: "checkmark" + }] + } + { + title: "Induction Smelting" + icon: "thermal:machine_smelter" + x: -13.0d + y: -1.0d + subtitle: "1 to 9-27" + dependencies: ["612100C7C6E0A7C9"] + dependency_requirement: "one_completed" + id: "5FCCD2F720115D41" + tasks: [{ + id: "17A210C163E791CA" + type: "checkmark" + }] + } + { + title: "Melting" + icon: "tconstruct:smeltery_controller" + x: -7.0d + y: 1.0d + subtitle: "1 to 3" + dependencies: ["07BE7128982202A7"] + id: "715BBD0DF0136FF1" + tasks: [{ + id: "3B4F0668876D88E3" + type: "checkmark" + }] + } + { + title: "IV: Ingot" + icon: "minecraft:gold_ingot" + x: -9.0d + y: 4.0d + shape: "circle" + dependencies: [ + "1A5A81CA749DAB2A" + "1250AE58911C27A9" + "746F9F4F21D8400D" + ] + dependency_requirement: "one_completed" + id: "2BE033F631A778D9" + tasks: [{ + id: "206B68B6B69CC7AD" + type: "checkmark" + }] + } + { + title: "Ingot Casting" + icon: "tconstruct:seared_table" + x: -7.0d + y: 3.0d + subtitle: "9 to 1" + dependencies: ["6509024553997AB0"] + id: "1A5A81CA749DAB2A" + tasks: [{ + id: "7B5CAD7F1C63A9EC" + type: "checkmark" + }] + } + { + title: "Compacting by Drawer" + icon: "storagedrawers:compacting_drawers_3" + x: -13.0d + y: 3.0d + subtitle: "9 to 1" + dependencies: ["29DABB5FDE6356E9"] + id: "746F9F4F21D8400D" + tasks: [{ + id: "39C5A94D5A8ECEE0" + type: "checkmark" + }] + } + { + title: "Smelting Dust" + icon: "minecraft:furnace" + x: -13.0d + y: 1.0d + subtitle: "1 to 1" + dependencies: ["07BE7128982202A7"] + id: "171A0F26C6608E83" + tasks: [{ + id: "559EC3ED3EF7A701" + type: "checkmark" + }] + } + { + title: "Washing" + icon: "create:encased_fan" + x: -15.0d + y: 1.0d + subtitle: "1 to 2" + dependencies: ["07BE7128982202A7"] + id: "2C2E304910D7F33D" + tasks: [{ + id: "1798B173604752C1" + type: "checkmark" + }] + } + { + title: "Foundry Melting" + icon: "tconstruct:foundry_controller" + x: -5.0d + y: 1.0d + subtitle: "1 to 3" + dependencies: ["07BE7128982202A7"] + id: "409A50CBCDBBA1F0" + tasks: [{ + id: "6EBC75DD42F7BB3E" + type: "checkmark" + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/overview.snbt b/src/overrides/config/ftbquests/backup/chapters/overview.snbt new file mode 100644 index 0000000..be6d37e --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/overview.snbt @@ -0,0 +1,501 @@ +{ + id: "1F9517DCFB1DB297" + group: "331B6409EF6A7840" + order_index: 0 + filename: "overview" + title: " Overview" + icon: "minecraft:oak_sapling" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Andesite Machinery" + disable_toast: true + x: -10.0d + y: 0.0d + shape: "square" + subtitle: "Milestone" + description: [ + "With Kinetic Mechanisms automated, many new possibilities unfold. Most of Create's machinery can now be crafted without much hassle. The early game just got a bit less early!" + "" + "You can now continue, or choose to spend some time in the bonus section of Chapter 1. After all, a stronger supply of Copper Machines will come to be quite useful, too!" + ] + dependencies: [ + "61147823CC87F711" + "675C395B2074C24C" + ] + hide_text_until_complete: true + id: "0E98B4D2BBF55308" + tasks: [{ + id: "36F8C3CAF6FC3FB2" + type: "stat" + title: "Complete Chapter 1" + icon: "kubejs:kinetic_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Brass Machinery" + disable_toast: true + x: -7.0d + y: 0.0d + subtitle: "Milestone" + description: [ + "With Precision Mechanisms automated, a large number of great tools become accessible. Both for automation and quality of life." + "" + "It also opens the gate leading towards the Invar Age- potentially after a quick stop by the bonus section.." + ] + dependencies: [ + "1E263994D4883A08" + "19715EBCBBA1B4AD" + ] + id: "69275ECFC147E15B" + tasks: [{ + id: "0FF38BBE3B19D9C2" + type: "stat" + title: "Complete Chapter 2" + icon: "create:precision_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Invar Machinery" + disable_toast: true + x: -4.0d + y: 0.0d + subtitle: "Milestone" + description: [ + "A completely different age of Technology. Some machines are suddenly powered by some hardly observable magical energy." + "" + "The Launch feels very close now. While there still lie challenges ahead, the solution footprint will shrink again thanks to the new Appliances." + ] + dependencies: [ + "780E8AE86250C73D" + "6CBA3D97CAD5DB63" + ] + id: "400CDC316DCDFE88" + tasks: [{ + id: "7FEEF6BED2C3F31B" + type: "stat" + title: "Complete Chapter 3" + icon: "kubejs:inductive_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Fluix Machinery" + disable_toast: true + x: -1.0d + y: 0.0d + subtitle: "Milestone" + description: [ + "With Calculation Mechanisms, the Factory enters the Digital Age. Instant Material-Energy conversion (ME) revolutionises item and fluid logistics for both the assembly lines and personal use." + "" + "At this point, all of the tools necessary to facilitate space travel have become accessible. Might as well start a countdown." + ] + min_required_dependencies: 3 + dependencies: [ + "6824055533465010" + "3934AD57122B6FFE" + "26173D4777F439B1" + "1BF8F3CC8BEBB620" + ] + hide: false + id: "08716DBF9C882623" + tasks: [{ + id: "79AB928A6C8E21DA" + type: "stat" + title: "Complete Chapter 4" + icon: "kubejs:calculation_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Copper Machinery" + disable_toast: true + x: -8.0d + y: 2.5d + subtitle: "Utility" + description: [ + "Copper Machines unlock the capability of Fluid Manipulation. Fill, drain, filter and collect liquids for all of your automation needs." + "" + "Note that Sealed Mechanisms are an ingredient to nothing else. The main assembly line will continue with Kinetic Mechanisms." + ] + dependencies: [ + "7D872F933F45809B" + "6545C3F427B12106" + ] + id: "342BB6EF80EBFDCA" + tasks: [{ + id: "27B07858A6018539" + type: "stat" + title: "Complete Bonus 1A" + icon: "kubejs:sealed_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Zinc Machinery" + disable_toast: true + x: -5.0d + y: -2.5d + subtitle: "Utility" + description: [ + "Zinc Machines are incredibly powerful. From efficient Cobblestone Harvesters to long-ranged Item Collectors, a useful new suite of equipment now sits at the ready." + "" + "Note that Infernal Mechanisms are an ingredient to nothing else. The main assembly line will continue with Precision Mechanisms." + ] + dependencies: [ + "7888F9129E9FE517" + "3C50B4556375178E" + ] + id: "2DC3AA8A89005C42" + tasks: [{ + id: "12CFC84D3F01F49F" + type: "stat" + title: "Complete Bonus 2A" + icon: "kubejs:infernal_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Ender Machinery" + disable_toast: true + x: -2.0d + y: 2.5d + subtitle: "Utility" + description: ["Ender Machines provide not only access to instant Teleportation, but also to the most powerful upgrades for your machines."] + dependencies: [ + "2BB2C7B95E3C89AE" + "6DBEF7A11890ADF8" + ] + id: "2F50046724A0DF9C" + tasks: [{ + id: "4BC5C43C7B23CA16" + type: "stat" + title: "Complete Bonus 3A" + icon: "kubejs:abstruse_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "From a Tree Puncher..." + icon: "minecraft:grass_block" + x: -13.5d + y: 0.0d + shape: "hexagon" + description: ["Welcome to the Overview. You can always come back here to catch up on your current position in the Progression of Technology. If you look closely, your Journey to the Moon completes the final step of the way on the right side."] + size: 2.0d + id: "75FB28B253B14876" + tasks: [{ + id: "7F88BABEC9889C76" + type: "item" + title: "Any Logs" + icon: "minecraft:oak_log" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:logs" + } + } + consume_items: false + }] + rewards: [{ + id: "619E1006A9C31AE1" + type: "item" + item: "farmersdelight:apple_cider" + }] + } + { + title: "..to a Spacefarer" + icon: "advancedrocketry:moonturf" + x: 2.5d + y: 0.0d + shape: "hexagon" + description: [ + "The Dream of walking the Moon's surface finally came to fruition." + "" + "With that, the role of this Factory Guide has been fulfilled. Enjoy building up your new Hi-Tech Empire, and we'll see you in the next modpack!" + ] + dependencies: [ + "5E62059675895213" + "47965C310D9847DC" + ] + size: 2.0d + id: "4F7A70041B67A348" + tasks: [ + { + id: "058AEB3EF218C7D2" + type: "stat" + title: "Complete Chapter 5" + icon: "advancedrocketry:guidancecomputer" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + } + { + id: "68543E92A6B517DC" + type: "item" + item: "advancedrocketry:moonturf" + consume_items: false + } + ] + } + { + title: "High Aspirations" + icon: "create:andesite_alloy" + x: -11.5d + y: 0.0d + shape: "circle" + subtitle: "Chapter 1" + description: [ + "The earliest inventions reveal ones resourcefulness with low level equipment: Auto-Crafting? None. Filtering? Not cheap! Item Transport? May the Belt Spaghetti mesh in your favour." + "" + "After hitting the Checkmark above, the first Chapter of the Factory Guide will become accessible from the Quest Sidebar." + ] + dependencies: ["75FB28B253B14876"] + id: "61147823CC87F711" + tasks: [{ + id: "5A8DF2D8553904BF" + type: "checkmark" + title: "Unlock Chapter 1" + }] + } + { + title: "Alluring Expedience" + icon: "create:electron_tube" + x: -8.5d + y: 0.0d + shape: "circle" + subtitle: "Chapter 2" + description: [ + "The chicken and egg problem remains: in order to automate precision mechanisms for brass equipment more conveniently, having more brass equipment would be really useful!" + "" + "After hitting the Checkmark above, the second Chapter of the Factory Guide will become accessible from the Quest Sidebar." + ] + dependencies: ["0E98B4D2BBF55308"] + id: "1E263994D4883A08" + tasks: [{ + id: "28C41C062843C2CA" + type: "checkmark" + title: "Unlock Chapter 2" + }] + } + { + title: "The Catharsis" + icon: "kubejs:radiant_coil" + x: -5.5d + y: 0.0d + shape: "circle" + subtitle: "Chapter 3" + description: [ + "The Groundwork has been laid with all that has been created so far. The pace should really pick up from here." + "" + "Producing components for inductive technology relies on very peculiar techniques. Though with all the new equipment ready, automating even the more convoluted interactions should become a cakewalk." + "" + "After hitting the Checkmark above, the third Chapter of the Factory Guide will become accessible from the Quest Sidebar." + ] + dependencies: ["69275ECFC147E15B"] + id: "780E8AE86250C73D" + tasks: [{ + id: "2F6FEDBB1BDCB36C" + type: "checkmark" + title: "Unlock Chapter 3" + }] + } + { + title: "Into the Box" + icon: "kubejs:silicon_compound" + x: -2.5d + y: 0.0d + shape: "circle" + subtitle: "Chapter 4" + description: [ + "A new Energy Unit joins the ranks: the production facility for silicon will involve an interplay of thermal induction machinery and the familiar kinetic components. " + "" + "Between Flux and Stress, a peculiar innovation in Laser technology will be required to produce some of the ingredients involved." + "" + "After hitting the Checkmark above, the fourth Chapter of the Factory Guide will become accessible from the Quest Sidebar." + ] + dependencies: ["400CDC316DCDFE88"] + id: "26173D4777F439B1" + tasks: [{ + id: "74CFD83C501C4952" + type: "checkmark" + title: "Unlock Chapter 4" + }] + } + { + title: "Divide by Digital" + icon: "kubejs:divide" + x: 0.5d + y: 0.0d + shape: "circle" + subtitle: "Finale" + description: [ + "The entire factory is started back up for one final sprint. With a steady supply of Calculation Mechanisms, the Digital Infrastucture performs the necessary operations to put together an ideal Trajectory." + "" + "While this Data Center visibly crunches the numbers, the designated Astronaut starts getting themselves and the spaceship prepared for launch." + ] + dependencies: ["08716DBF9C882623"] + id: "5E62059675895213" + tasks: [{ + id: "251A91F6C21AEAFB" + type: "checkmark" + title: "Unlock the Final Chapter" + }] + } + { + title: "Rubber Tycoon" + icon: "thermal:cured_rubber" + x: -9.5d + y: 1.5d + shape: "circle" + subtitle: "Bonus 1A" + description: [ + "" + "While Copper Machines will definitely be required going forward; full automation of their ingredients is completely optional." + "" + "After hitting the Checkmark above, additional Quests located in the First Chapter will be revealed." + ] + dependencies: ["0E98B4D2BBF55308"] + id: "7D872F933F45809B" + tasks: [{ + id: "681DACF11F193771" + type: "checkmark" + title: "Unlock Bonus 1A" + }] + } + { + title: "Magmatic Exploits" + icon: "minecraft:lava_bucket" + x: -6.5d + y: -1.5d + shape: "circle" + subtitle: "Bonus 2A" + description: [ + "We need to go Deeper!" + "Access to Zinc Machines will require for some engineering in another dimension. Even if it's literally Hell, a change of scene will always bring forth new ideas and inspiration." + "" + "After hitting the Checkmark above, additional Quests located in the Second Chapter will be revealed." + ] + dependencies: ["69275ECFC147E15B"] + id: "7888F9129E9FE517" + tasks: [{ + id: "21753CBB528EAADF" + type: "checkmark" + title: "Unlock Bonus 2A" + }] + } + { + title: "Melting the Funds" + icon: "thermal:enderium_ingot" + x: -3.5d + y: 1.5d + shape: "circle" + subtitle: "Bonus 3A" + description: [ + "The Prospect of Teleportation alone might be reason enough to explore that mysterious End Dimension." + "In researching the required technologies, you will find that your hard earned silver suddenly finds a second use.." + "" + "After hitting the Checkmark above, additional Quests located in the Third Chapter will be revealed." + ] + dependencies: ["400CDC316DCDFE88"] + id: "2BB2C7B95E3C89AE" + tasks: [{ + id: "722CA19434E722FB" + type: "checkmark" + title: "Unlock Bonus 3A" + }] + } + { + title: "Chaotic Alchemy" + icon: "kubejs:substrate_chaos" + x: -2.5d + y: -1.25d + shape: "circle" + subtitle: "Alternative Path" + description: [ + "You'll find that the newly discovered Laser setup has other interesting capabilities." + "" + "Behind a bit of science and experimentation lies a way to transmute seemingly unrelated materials between another. The demanded Silicon element is one of them, but which is its counterpart?" + "" + "After hitting the Checkmark above, the alternative fourth Chapter of the Factory Guide will become accessible from the Quest Sidebar. It will still be possible to return to the other chapter." + ] + dependencies: ["400CDC316DCDFE88"] + id: "3934AD57122B6FFE" + tasks: [{ + id: "5DF206B1738D08A0" + type: "checkmark" + title: "Unlock Chapter 4a" + }] + } + { + title: "Preparations" + icon: "minecraft:cobblestone_stairs" + x: -12.5d + y: -1.5d + shape: "circle" + description: [ + "Careful! Before you are ready to embark on the journey of automation, it can help to set up a basic workshop first." + "" + "Here are some recommendations for a successful start." + ] + dependencies: ["75FB28B253B14876"] + id: "7D6BC99CCCB29924" + tasks: [ + { + id: "57A71A62204AE230" + type: "item" + item: "create:mechanical_press" + consume_items: false + } + { + id: "0EEFF99A7BD064E4" + type: "item" + item: "create:mechanical_saw" + consume_items: false + } + { + id: "4A5B209B42D89DFF" + type: "item" + item: "create:encased_fan" + consume_items: false + } + { + id: "32214700E91A67D3" + type: "item" + item: "create:wrench" + consume_items: false + } + { + id: "6530AB7AA277197D" + type: "item" + item: "create:mechanical_mixer" + consume_items: false + } + ] + rewards: [{ + id: "24DFC6E24F62D97A" + type: "item" + item: "create:crafting_blueprint" + count: 3 + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/professions.snbt b/src/overrides/config/ftbquests/backup/chapters/professions.snbt new file mode 100644 index 0000000..661f9fe --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/professions.snbt @@ -0,0 +1,1452 @@ +{ + id: "1634333847CCE52A" + group: "0810E42B2DD79973" + order_index: 0 + filename: "professions" + title: "&a Bulletin Board" + icon: "minecraft:item_frame" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Miner" + icon: { + id: "tconstruct:pickaxe" + Count: 1b + tag: { + tic_multipliers: { } + tic_stats: { + "tconstruct:attack_speed": 1.2f + "tconstruct:mining_speed": 8.05f + "tconstruct:attack_damage": 2.0f + "tconstruct:harvest_level": 3.0f + "tconstruct:durability": 683.0f + } + tic_broken: 0b + tic_modifiers: [ + { + name: "tconstruct:experienced" + level: 1s + } + { + name: "tconstruct:maintained" + level: 1s + } + { + name: "tconstruct:piercing" + level: 1s + } + { + name: "tconstruct:temperate" + level: 1s + } + ] + tic_materials: [ + "tconstruct:tinkers_bronze" + "tconstruct:constantan" + "tconstruct:electrum" + ] + Damage: 0 + tic_volatile_data: { + "tconstruct:durability": 683 + } + tic_persistent_data: { + abilities: 1 + upgrades: 3 + } + } + } + x: -6.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Igneous Rocks&f, &6Metal Ores&f, &6Gems&f and more with the Mining permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "1E26046FA8177616" + tasks: [{ + id: "121ECE09FBC2490A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "556BBA8B09E4BA0C" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_mining" + } + { + id: "78B7B98BE67CCA84" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Farmer" + icon: { + id: "tconstruct:kama" + Count: 1b + tag: { + tic_multipliers: { + "tconstruct:attack_damage": 0.75f + } + tic_stats: { + "tconstruct:attack_speed": 1.8f + "tconstruct:mining_speed": 8.05f + "tconstruct:attack_damage": 2.25f + "tconstruct:harvest_level": 3.0f + "tconstruct:durability": 683.0f + } + tic_broken: 0b + tic_modifiers: [ + { + name: "tconstruct:experienced" + level: 1s + } + { + name: "tconstruct:maintained" + level: 1s + } + { + name: "tconstruct:temperate" + level: 1s + } + { + name: "tconstruct:shears" + level: 1s + } + { + name: "tconstruct:harvest" + level: 1s + } + { + name: "tconstruct:hoe_transform_hidden" + level: 1s + } + ] + tic_materials: [ + "tconstruct:tinkers_bronze" + "tconstruct:constantan" + "tconstruct:electrum" + ] + Damage: 0 + tic_volatile_data: { + "tconstruct:durability": 683 + } + tic_persistent_data: { + abilities: 1 + upgrades: 3 + } + } + } + x: -8.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Crops&f, &6Flowers&f, &6Honey&f and more with the Farming permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "12B37E99B1D3837E" + tasks: [{ + id: "40D5C78A3738FC5E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "4F0E97B8E88BF530" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_farming" + } + { + id: "4630E4354593D196" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Carpenter" + icon: { + id: "tconstruct:hand_axe" + Count: 1b + tag: { + tic_multipliers: { } + tic_stats: { + "tconstruct:attack_speed": 0.9f + "tconstruct:mining_speed": 8.05f + "tconstruct:attack_damage": 8.0f + "tconstruct:harvest_level": 3.0f + "tconstruct:durability": 683.0f + } + tic_broken: 0b + tic_modifiers: [ + { + name: "tconstruct:experienced" + level: 1s + } + { + name: "tconstruct:maintained" + level: 1s + } + { + name: "tconstruct:temperate" + level: 1s + } + { + name: "tconstruct:axe_transform_hidden" + level: 1s + } + ] + tic_materials: [ + "tconstruct:tinkers_bronze" + "tconstruct:constantan" + "tconstruct:electrum" + ] + Damage: 0 + tic_volatile_data: { + "tconstruct:durability": 683 + } + tic_persistent_data: { + abilities: 1 + upgrades: 3 + } + } + } + x: -7.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Wood Logs&f with the Carpentry permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "3A48FDC224D029BF" + tasks: [{ + id: "1D8BF49B36108A4D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "570B46650865045E" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_carpentry" + } + { + id: "168DD43A1A6C846C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Chef" + icon: { + id: "farmersdelight:golden_knife" + Count: 1b + tag: { + Damage: 0 + } + } + x: -2.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Prepared Food&f with the Cooking permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "66DA9BE9277FABF1" + tasks: [{ + id: "7DB85322979AEF65" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "382E25CBB362EB84" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_cooking" + } + { + id: "402618EF59D8798B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Mason" + icon: { + id: "tconstruct:sledge_hammer" + Count: 1b + tag: { + tic_multipliers: { + "tconstruct:mining_speed": 0.4f + "tconstruct:attack_damage": 1.35f + "tconstruct:durability": 4.0f + } + tic_stats: { + "tconstruct:attack_speed": 0.75f + "tconstruct:mining_speed": 3.68f + "tconstruct:attack_damage": 6.4125f + "tconstruct:harvest_level": 3.0f + "tconstruct:durability": 1792.0f + } + tic_broken: 0b + tic_modifiers: [ + { + name: "tconstruct:experienced" + level: 1s + } + { + name: "tconstruct:maintained" + level: 2s + } + { + name: "tconstruct:smite" + level: 2s + } + { + name: "tconstruct:temperate" + level: 1s + } + { + name: "tconstruct:two_handed" + level: 1s + } + ] + tic_materials: [ + "tconstruct:electrum" + "tconstruct:constantan" + "tconstruct:tinkers_bronze" + "tconstruct:tinkers_bronze" + ] + Damage: 0 + tic_volatile_data: { + "tconstruct:durability": 1792 + } + tic_persistent_data: { + abilities: 1 + upgrades: 2 + } + } + } + x: 0.0d + y: -8.0d + shape: "hexagon" + description: ["Sell mass-produced &6Building Blocks&f for a profit with the Masonry permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "683AA93BE7DEA512" + tasks: [{ + id: "30824E76C57A8679" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "1617766BFFC620D2" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_masonry" + } + { + id: "0059672C40C04303" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Hunter" + icon: { + id: "tconstruct:sword" + Count: 1b + tag: { + tic_multipliers: { + "tconstruct:mining_speed": 0.5f + "tconstruct:durability": 1.1f + } + tic_stats: { + "tconstruct:attack_speed": 1.6f + "tconstruct:mining_speed": 4.025f + "tconstruct:attack_damage": 5.0f + "tconstruct:harvest_level": 3.0f + "tconstruct:durability": 751.3f + } + tic_broken: 0b + tic_modifiers: [ + { + name: "tconstruct:maintained" + level: 1s + } + { + name: "tconstruct:temperate" + level: 2s + } + { + name: "tconstruct:silky_shears" + level: 1s + } + ] + tic_materials: [ + "tconstruct:tinkers_bronze" + "tconstruct:constantan" + "tconstruct:constantan" + ] + Damage: 0 + tic_volatile_data: { + "tconstruct:durability": 751 + } + tic_persistent_data: { + abilities: 1 + upgrades: 3 + } + } + } + x: -5.0d + y: -8.0d + shape: "hexagon" + description: ["Sell all manner of &6Monster Loot&f with the Hunting permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "66DDDE912A191E57" + tasks: [{ + id: "3F3272C9BFC25003" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "242009705F048500" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_hunting" + } + { + id: "3EB7FB58B5D3D097" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Professions" + icon: "minecraft:writable_book" + x: -3.5d + y: -8.5d + shape: "circle" + description: [ + "Taking on a &6Profession&r gives you access to a more consistent source of income." + "" + "The Profession Cards bought here act as a \"Permit\". All they do is unlock the respective recipes in the Trading Machine. You can absolutely have multiple of these." + ] + dependencies: ["36E02479368EAF04"] + id: "59B17CA4AA6D0DD4" + tasks: [{ + id: "0423DFD47CB1DCE3" + type: "checkmark" + }] + } + { + title: "The Bulletin Board" + icon: "minecraft:oak_sign" + x: -3.5d + y: -6.5d + shape: "hexagon" + description: [ + "&6The Bulletin Board&r provides means to earn currency for Trading." + "Here you can complete various errands or buy a profession permit for use in the Trading Machine." + ] + size: 2.0d + id: "36E02479368EAF04" + tasks: [{ + id: "3FE411FC2A966816" + type: "checkmark" + }] + } + { + title: "Sapling Collection" + icon: "minecraft:oak_sapling" + x: -4.5d + y: -4.0d + subtitle: "25 Silver" + id: "41BB50843EF5EF10" + tasks: [ + { + id: "488C968F61E4B260" + type: "item" + item: "minecraft:oak_sapling" + } + { + id: "42D3B8604E57BF0C" + type: "item" + item: "minecraft:spruce_sapling" + } + { + id: "72143D74D89A814A" + type: "item" + item: "minecraft:birch_sapling" + } + { + id: "67A6AAF07DECFBB6" + type: "item" + item: "minecraft:acacia_sapling" + } + { + id: "1AFB1184CADE0663" + type: "item" + item: "minecraft:jungle_sapling" + } + { + id: "1378A6451110CC4C" + type: "item" + item: "minecraft:dark_oak_sapling" + } + ] + rewards: [{ + id: "60DDCBCC377BA8B6" + type: "item" + icon: { id: "thermal:silver_coin", Count: 25b } + item: "thermal:silver_coin" + count: 25 + }] + } + { + title: "Fisherman" + icon: { + id: "aquaculture:gold_fishing_rod" + Count: 1b + tag: { + Damage: 0 + } + } + x: -1.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Fish&f and Subterranean &6Treasure&f with the Fishing permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "6C0EC278451434AC" + tasks: [{ + id: "79BD40CF4A57DA36" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "70312C750F6E2115" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_fishing" + } + { + id: "4F7B79488825D2ED" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Government Funding" + icon: "minecraft:book" + x: -2.5d + y: -3.5d + subtitle: "15 Silver" + description: ["Write an application explaining why exactly your organisation is worth investing in."] + id: "736FC31210F334F2" + tasks: [{ + id: "7D2F867FD8A5A68A" + type: "item" + item: { + id: "minecraft:written_book" + Count: 1b + tag: { } + } + }] + rewards: [{ + id: "6C5F42C1888F0C63" + type: "item" + icon: { id: "thermal:silver_coin", Count: 16b } + item: "thermal:silver_coin" + count: 15 + }] + } + { + title: "Blacksmith" + icon: { + id: "minecraft:golden_chestplate" + Count: 1b + tag: { + Damage: 0 + } + } + x: 1.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Tools&f, &6Armour&f and more with the Smithing permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "32C46B11BDAD7632" + tasks: [{ + id: "042431BBCD1966C4" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "2E450774C09EF266" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_smithing" + } + { + id: "5B00E0FDDDA7EEB0" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Plentiful Sapling Collection" + icon: "biomesoplenty:flowering_oak_sapling" + x: -4.5d + y: -2.5d + subtitle: "45 Silver" + dependencies: ["41BB50843EF5EF10"] + id: "08DB1CFAE4555525" + tasks: [ + { + id: "6467B7BC46B95AB7" + type: "item" + item: "biomesoplenty:white_cherry_sapling" + } + { + id: "53B388480793BD58" + type: "item" + item: "biomesoplenty:maple_sapling" + } + { + id: "57263F412DD5DF08" + type: "item" + item: "biomesoplenty:fir_sapling" + } + { + id: "657B38C214414E2B" + type: "item" + item: "biomesoplenty:redwood_sapling" + } + { + id: "3E7A122FD86E017F" + type: "item" + item: "biomesoplenty:flowering_oak_sapling" + } + { + id: "7CBBC7FB7C7F5D7E" + type: "item" + item: "biomesoplenty:palm_sapling" + } + ] + rewards: [{ + id: "5CEE44BA4F587BB2" + type: "item" + icon: { id: "thermal:silver_coin", Count: 45b } + item: "thermal:silver_coin" + count: 45 + }] + } + { + title: "Mineral Collection" + icon: "thermal:sulfur" + x: -1.0d + y: -4.5d + subtitle: "25 Silver" + id: "128F1A9528CA4130" + tasks: [ + { + id: "05FA6BA978E2C59F" + type: "item" + item: "appliedenergistics2:certus_quartz_crystal" + } + { + id: "4DC845907E010B7E" + type: "item" + item: "thermal:sulfur" + } + { + id: "40D6184B28DD1B00" + type: "item" + item: "thermal:cinnabar" + } + { + id: "6EC680AD06AEAE3E" + type: "item" + item: "thermal:niter" + } + { + id: "394B5E7E3AD55394" + type: "item" + item: "thermal:apatite" + } + ] + rewards: [{ + id: "7FA1F28AC13E3742" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 25 + }] + } + { + title: "Plentiful Mineral Collection" + icon: "thermal:ruby" + x: -1.0d + y: -3.0d + subtitle: "45 Silver" + dependencies: ["128F1A9528CA4130"] + id: "669D57A1E1B09CD8" + tasks: [ + { + id: "18D9327C3A3FC945" + type: "item" + item: "thermal:ruby" + } + { + id: "0129F312595D379D" + type: "item" + item: "thermal:sapphire" + } + { + id: "5AA9BAAE6336FE84" + type: "item" + item: "minecraft:diamond" + } + { + id: "4B1BE14A56875A44" + type: "item" + item: "minecraft:emerald" + } + { + id: "570BED1488497EDD" + type: "item" + item: "minecraft:lapis_lazuli" + } + ] + rewards: [{ + id: "158BDC6AB3DED2C8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 45b } + item: "thermal:silver_coin" + count: 45 + }] + } + { + title: "The lost Tapes" + icon: "minecraft:music_disc_13" + x: -6.0d + y: -4.5d + subtitle: "32 Silver" + description: ["A friendly Record Collector is interested in any discs you find on your travels."] + id: "436DA1A1AB8C0734" + tasks: [{ + id: "28EC11DE8335B74A" + type: "item" + title: "Any Record" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "minecraft:music_disc_blocks" + Count: 1b + } + { + id: "minecraft:music_disc_chirp" + Count: 1b + } + { + id: "minecraft:music_disc_far" + Count: 1b + } + { + id: "minecraft:music_disc_mall" + Count: 1b + } + { + id: "minecraft:music_disc_mellohi" + Count: 1b + } + { + id: "minecraft:music_disc_stal" + Count: 1b + } + { + id: "minecraft:music_disc_cat" + Count: 1b + } + { + id: "minecraft:music_disc_ward" + Count: 1b + } + { + id: "minecraft:music_disc_11" + Count: 1b + } + { + id: "minecraft:music_disc_wait" + Count: 1b + } + { + id: "minecraft:music_disc_pigstep" + Count: 1b + } + { + id: "endergetic:music_disc_kilobyte" + Count: 1b + } + { + id: "biomesoplenty:music_disc_wanderer" + Count: 1b + } + { + id: "minecraft:music_disc_strad" + Count: 1b + } + { + id: "minecraft:music_disc_13" + Count: 1b + } + ] + } + } + }] + rewards: [ + { + id: "76F8080C0E176A08" + type: "item" + icon: { id: "thermal:silver_coin", Count: 32b } + auto: "enabled" + item: "thermal:silver_coin" + count: 32 + } + { + id: "7FF7001764116001" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Igneous Sample Collection" + icon: "minecraft:granite" + x: 0.5d + y: -4.0d + subtitle: "25 Silver" + id: "2A9AAED667A95C6E" + tasks: [ + { + id: "107EBA54BFA18FD9" + type: "item" + item: "minecraft:andesite" + count: 8L + } + { + id: "18A900D9A3914F00" + type: "item" + item: "minecraft:diorite" + count: 8L + } + { + id: "53041ECE4D386D55" + type: "item" + item: "minecraft:granite" + count: 8L + } + { + id: "0D0220AE1F3EA9A4" + type: "item" + item: "create:gabbro" + count: 8L + } + { + id: "63909F521730B80A" + type: "item" + item: "create:limestone" + count: 8L + } + { + id: "62545E644E0DD998" + type: "item" + item: "create:dolomite" + count: 8L + } + ] + rewards: [{ + id: "3D573B952A099408" + type: "item" + icon: { id: "thermal:silver_coin", Count: 25b } + item: "thermal:silver_coin" + count: 25 + }] + } + { + title: "Plentiful Igneous Sample Collection" + icon: "minecraft:basalt" + x: 0.5d + y: -2.5d + subtitle: "45 Silver" + dependencies: ["2A9AAED667A95C6E"] + id: "7D92D05B4A67FD78" + tasks: [ + { + id: "202DC6687EAB3378" + type: "item" + item: "minecraft:basalt" + count: 8L + } + { + id: "5EC196FF10FD67EE" + type: "item" + item: "minecraft:blackstone" + count: 8L + } + { + id: "07105FD32CC3CB86" + type: "item" + item: "darkerdepths:aridrock" + count: 8L + } + { + id: "5246009651F94D74" + type: "item" + item: "darkerdepths:grimestone" + count: 8L + } + { + id: "4A4F88C99DB35EF3" + type: "item" + item: "darkerdepths:shale" + count: 8L + } + { + id: "731A6B9678CE71D8" + type: "item" + item: "forbidden_arcanus:darkstone" + count: 8L + } + ] + rewards: [{ + id: "191FAA4E0A99AF43" + type: "item" + icon: { id: "thermal:silver_coin", Count: 45b } + item: "thermal:silver_coin" + count: 45 + }] + } + { + title: "Landfill Dropoff" + x: 2.0d + y: -5.0d + subtitle: "15 Silver" + description: ["If you've been terraforming, feel free to send some excess dirt to this Project."] + id: "1C5EA1173F4E592B" + tasks: [{ + id: "0A99B239D9EA5B0B" + type: "item" + item: "minecraft:dirt" + count: 256L + }] + rewards: [{ + id: "3125103507C80C78" + type: "item" + icon: { id: "thermal:silver_coin", Count: 15b } + item: "thermal:silver_coin" + count: 15 + }] + } + { + title: "Crops Collection" + icon: "minecraft:carrot" + x: -7.5d + y: -4.0d + subtitle: "25 Silver" + id: "4D07666ECE75D9B5" + tasks: [ + { + id: "583272656AABAD03" + type: "item" + item: "minecraft:carrot" + count: 3L + } + { + id: "19A897A26BEE9DC3" + type: "item" + item: "minecraft:wheat" + count: 3L + } + { + id: "26D3EBEE2A65DC26" + type: "item" + item: "minecraft:potato" + count: 3L + } + { + id: "4BCA88E713BFF541" + type: "item" + item: "farmersdelight:onion" + count: 3L + } + { + id: "59E905250653DB9A" + type: "item" + item: "farmersdelight:tomato" + count: 3L + } + { + id: "0863A4006B84F0F6" + type: "item" + item: "farmersdelight:cabbage" + count: 3L + } + ] + rewards: [{ + id: "001C0326E6B6F1FF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 25b } + item: "thermal:silver_coin" + count: 25 + }] + } + { + title: "Plentiful Crops Collection" + icon: "farmersdelight:rice_panicle" + x: -7.5d + y: -2.5d + subtitle: "45 Silver" + dependencies: ["4D07666ECE75D9B5"] + id: "3F2FB159F1B8875F" + tasks: [ + { + id: "35195894FE238A3E" + type: "item" + item: "farmersdelight:rice_panicle" + count: 3L + } + { + id: "5AE85D27C59EDB92" + type: "item" + item: "minecraft:beetroot" + count: 3L + } + { + id: "46748564E10CA41F" + type: "item" + item: "supplementaries:flax" + count: 3L + } + { + id: "3172958C368155FE" + type: "item" + item: "minecraft:melon_slice" + count: 3L + } + { + id: "19E6E248E2E1056F" + type: "item" + item: "farmersdelight:pumpkin_slice" + count: 3L + } + { + id: "35DBA0B40123BE4B" + type: "item" + item: "minecraft:sweet_berries" + count: 3L + } + ] + rewards: [{ + id: "2EE90E45D02D23F1" + type: "item" + icon: { id: "thermal:silver_coin", Count: 45b } + item: "thermal:silver_coin" + count: 45 + }] + } + { + title: "Ancient Life" + icon: "minecraft:bone" + x: -9.0d + y: -3.0d + subtitle: "55 Silver" + id: "7932D19BE114264A" + tasks: [ + { + id: "1B971FF02438A787" + type: "item" + item: "minecraft:bone_block" + count: 16L + } + { + id: "682A8719CE780D9A" + type: "item" + item: "minecraft:bone" + count: 8L + } + { + id: "77DF03F6422FE09D" + type: "item" + item: "xreliquary:rib_bone" + } + { + id: "5B926A8BCD627407" + type: "item" + item: "minecraft:skeleton_skull" + } + ] + rewards: [{ + id: "652AE60D13691604" + type: "item" + icon: { id: "thermal:silver_coin", Count: 55b } + item: "thermal:silver_coin" + count: 55 + }] + } + { + title: "Hunt the Undead" + x: -2.5d + y: -1.5d + subtitle: "30 Silver" + id: "7C270AB26CD9AAB8" + tasks: [{ + id: "0C72441783664753" + type: "kill" + icon: "minecraft:zombie_head" + entity: "minecraft:zombie" + value: 50L + }] + rewards: [{ + id: "15ACAE1E4D900E4C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30 + }] + } + { + title: "Hunt the Undead II" + x: -1.0d + y: -1.0d + subtitle: "50 Silver" + id: "29B58A9EDA478E7D" + tasks: [{ + id: "6C65780CF2751821" + type: "kill" + icon: "minecraft:skeleton_skull" + entity: "minecraft:skeleton" + value: 40L + }] + rewards: [{ + id: "57CF6CE48FF1115D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 50b } + item: "thermal:silver_coin" + count: 50 + }] + } + { + title: "Hunt the Arthropods" + x: -4.0d + y: -1.0d + subtitle: "50 Silver" + id: "1AA2C3EECE1832EE" + tasks: [{ + id: "60B3526FA0D6A2AF" + type: "kill" + icon: "tconstruct:spider_head" + entity: "minecraft:spider" + value: 30L + }] + rewards: [{ + id: "5D7DB09D0FA7B0A5" + type: "item" + icon: { id: "thermal:silver_coin", Count: 50b } + item: "thermal:silver_coin" + count: 50 + }] + } + { + title: "Traders' Finest" + x: -6.0d + y: -2.0d + subtitle: "2 Gold" + id: "3F00084D9474C381" + tasks: [{ + id: "2CA6E7602A5FBCF5" + type: "item" + item: "supplementaries:globe" + }] + rewards: [{ + id: "0D8EB996DBC24C64" + type: "item" + icon: { id: "thermal:gold_coin", Count: 2b } + item: "thermal:gold_coin" + count: 2 + }] + } + { + title: "The Ranch" + x: -9.5d + y: -1.5d + subtitle: "15 Silver" + id: "562696C1D01B2685" + tasks: [{ + id: "07132D69A1BA37B5" + type: "stat" + title: "Breed 10 Animals" + icon: "minecraft:wheat" + stat: "minecraft:animals_bred" + value: 10 + }] + rewards: [{ + id: "76F2C38DE80E75F0" + type: "item" + icon: { id: "thermal:silver_coin", Count: 15b } + item: "thermal:silver_coin" + count: 15 + }] + } + { + title: "Ore Collection" + icon: "create:crushed_gold_ore" + x: 2.5d + y: -3.0d + subtitle: "30 Silver" + id: "39D56A2B01DBD865" + tasks: [ + { + id: "592A29507FE620D0" + type: "item" + item: "create:crushed_iron_ore" + count: 5L + } + { + id: "5CAA30D3A26DE48A" + type: "item" + item: "create:crushed_copper_ore" + count: 5L + } + { + id: "58D69FCA7C1035F5" + type: "item" + item: "create:crushed_zinc_ore" + count: 5L + } + { + id: "4C2DB8A65AD97FAB" + type: "item" + item: "create:crushed_nickel_ore" + count: 5L + } + { + id: "73726468F48CE993" + type: "item" + item: "create:crushed_lead_ore" + count: 5L + } + { + id: "176CF773DF3BBBD0" + type: "item" + item: "create:crushed_gold_ore" + count: 5L + } + ] + rewards: [{ + id: "1727FE45C409A64E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30 + }] + } + { + title: "Revenge" + icon: { + id: "minecraft:crossbow" + Count: 1b + tag: { + Damage: 0 + } + } + x: -9.5d + y: -4.5d + subtitle: "10 Silver" + description: ["Defeat those intruders, and you'll have the support from nearby villages."] + id: "76E3B76D47A1F889" + tasks: [ + { + id: "7CEFF147708B6647" + type: "item" + item: { + id: "minecraft:white_banner" + Count: 1b + tag: { + HideFlags: 32 + BlockEntityTag: { + Patterns: [ + { + Pattern: "mr" + Color: 9 + } + { + Pattern: "bs" + Color: 8 + } + { + Pattern: "cs" + Color: 7 + } + { + Pattern: "bo" + Color: 8 + } + { + Pattern: "ms" + Color: 15 + } + { + Pattern: "hh" + Color: 8 + } + { + Pattern: "mc" + Color: 8 + } + { + Pattern: "bo" + Color: 15 + } + ] + } + display: { + Name: "{\"color\":\"gold\",\"translate\":\"block.minecraft.ominous_banner\"}" + } + } + } + } + { + id: "2FDA048387F90ED7" + type: "kill" + icon: { + id: "minecraft:crossbow" + Count: 1b + tag: { + Damage: 0 + } + } + entity: "minecraft:pillager" + value: 3L + } + ] + rewards: [ + { + id: "72ADE787CA674127" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + auto: "enabled" + item: "thermal:silver_coin" + count: 10 + } + { + id: "0D666C3C352901FA" + type: "custom" + title: "Clear Bad Omen" + icon: "biomesoplenty:wildflower" + tags: ["bad_omen"] + team_reward: false + auto: "no_toast" + } + { + id: "77DE41861FF4DDCB" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + team_reward: true + auto: "no_toast" + } + ] + } + { + title: "Keeping in Shape" + x: 2.0d + y: -1.5d + subtitle: "60 Silver" + id: "2F2BA8C2AC2E0B93" + tasks: [{ + id: "374CDBF68F90BDC9" + type: "stat" + title: "Jump 16000 Times" + icon: { + id: "minecraft:golden_boots" + Count: 1b + tag: { + Damage: 0 + } + } + stat: "minecraft:jump" + value: 16000 + }] + rewards: [{ + id: "52C6094274D540AB" + type: "item" + icon: { id: "thermal:silver_coin", Count: 60b } + item: "thermal:silver_coin" + count: 60 + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/shipments.snbt b/src/overrides/config/ftbquests/backup/chapters/shipments.snbt new file mode 100644 index 0000000..b11a641 --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/shipments.snbt @@ -0,0 +1,4033 @@ +{ + id: "08DF8E49DAFD4F9D" + group: "0810E42B2DD79973" + order_index: 2 + filename: "shipments" + title: "&a Shipments" + icon: "thermal:machine_press" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + icon: "thermal:machine_press" + x: 0.0d + y: 12.25d + shape: "hexagon" + description: [ + "&6Shipments&r are the Automated way to exchange coin for resources. Here you can buy Import Cards for use in the Trading Machine." + "" + "Each import card comes with a cost up front. Once that is paid you can limitlessly buy the respective goods priced at what's stated in the subtitle." + ] + size: 2.0d + id: "6AC1CED0D341150E" + tasks: [{ + id: "214F623C75A92809" + type: "checkmark" + title: "Shipments" + }] + } + { + title: "Automatic Exchange" + icon: { id: "thermal:gold_coin", Count: 2b } + x: 2.0d + y: 12.25d + shape: "circle" + subtitle: "Silver <> Gold" + description: ["This Trading card can convert the currency of coins inserted into the Trading Machine."] + dependencies: ["6AC1CED0D341150E"] + id: "3B548F2C060C2229" + tasks: [{ + id: "601161A1565C5161" + type: "item" + item: "thermal:silver_coin" + }] + rewards: [ + { + id: "0A6DEF2E19943F9F" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_exchange_currencies" + } + { + id: "3D6C47FD645D7471" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Dirt" + icon: "minecraft:dirt" + disable_toast: true + x: -3.5d + y: 0.0d + shape: "hexagon" + subtitle: "2 Silver" + id: "3DD4855E1FB6D1AE" + tasks: [{ + id: "0A35EFCDB01F6A35" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "36FFC0392E03074B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_dirt" + } + { + id: "3F02087FFD3759DD" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Sand" + icon: "minecraft:sand" + disable_toast: true + x: -2.5d + y: 0.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "13446DAF53B6D0E4" + tasks: [{ + id: "0BC77D25AF6D8A61" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "50D63397A7739B10" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sand" + } + { + id: "349548321904D614" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Gravel" + icon: "minecraft:gravel" + disable_toast: true + x: -1.5d + y: 0.0d + shape: "hexagon" + subtitle: "2 Silver" + id: "07FEED5F10AEC1F0" + tasks: [{ + id: "1DD78D287B469707" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1095CA430BB91DB6" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_gravel" + } + { + id: "67222F8662A2609A" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Clay" + icon: "minecraft:clay" + disable_toast: true + x: -0.5d + y: 0.0d + shape: "hexagon" + subtitle: "6 Silver" + id: "625D9FBC9D99DCBF" + tasks: [{ + id: "6B26F0CA1D738AEA" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7CE91716F8C44760" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_clay" + } + { + id: "11791B5D3A0E679B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Ice" + icon: "minecraft:ice" + disable_toast: true + x: 0.5d + y: 0.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "208D67941092BD96" + tasks: [{ + id: "0F1A3FD60705336D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "778A303DC9682021" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_ice" + } + { + id: "330A4442F2E6E6C7" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Blackstone" + icon: "minecraft:blackstone" + disable_toast: true + x: 1.5d + y: 0.0d + shape: "hexagon" + subtitle: "12 Silver" + id: "0614B91D323B39B2" + tasks: [{ + id: "4F37AA39D75EDDAD" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "08F8AA97F416E35E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_blackstone" + } + { + id: "168A1F7752836615" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Grout" + icon: "tconstruct:grout" + disable_toast: true + x: 2.5d + y: 0.0d + shape: "hexagon" + subtitle: "12 Silver" + id: "2C59A0D0ABA4F366" + tasks: [{ + id: "708AF4787DA9DA41" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "62A79F51C2BA9F01" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_grout" + } + { + id: "76C7F2A9B5DE4E42" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Cobblestone" + icon: "minecraft:cobblestone" + disable_toast: true + x: 3.5d + y: 0.0d + shape: "hexagon" + subtitle: "1 Silver" + id: "43A4952C033848B9" + tasks: [{ + id: "36E5DDB0339B10A8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3A94DB2BB332DB0D" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_cobblestone" + } + { + id: "64E7428F75EAF9E0" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Granite" + icon: "minecraft:granite" + disable_toast: true + x: -3.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "2225CCD0ECDB6A1B" + tasks: [{ + id: "16ED3CF161F3015A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "18AD9F1717DBCDF5" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_granite" + } + { + id: "707711C2317A2115" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Diorite" + icon: "minecraft:diorite" + disable_toast: true + x: -2.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "2B000AE123A647D9" + tasks: [{ + id: "4A209158539C080B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2C7227BF1F61ED34" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_diorite" + } + { + id: "58957C7B0E4EDD99" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Andesite" + icon: "minecraft:andesite" + disable_toast: true + x: -1.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "30218436FFF34148" + tasks: [{ + id: "446D02AF0A464314" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1FD8155533CE37CC" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_andesite" + } + { + id: "1B5A82251D420C45" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Limestone" + icon: "create:limestone" + disable_toast: true + x: -0.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "7751A17590AA0058" + tasks: [{ + id: "64CEB90ED4CF1788" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4093A3158E8BB453" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_limestone" + } + { + id: "182AEDF8B10E4C63" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Weathered Limestone" + icon: "create:weathered_limestone" + disable_toast: true + x: 0.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "7F1B4FF7DF163AC4" + tasks: [{ + id: "49474827E7575463" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "455D917F1A72084E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_weathered_limestone" + } + { + id: "0BC4C986B75F73F4" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Dolomite" + icon: "create:dolomite" + disable_toast: true + x: 1.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "56B7DF9C128EE945" + tasks: [{ + id: "3F71B879671DE413" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1D0F5F4976A4C1B4" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_dolomite" + } + { + id: "577871C646A25089" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Gabbro" + icon: "create:gabbro" + disable_toast: true + x: 2.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "0B798D53748ADA2E" + tasks: [{ + id: "636B04C752EC6715" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "34C06A949AB94DF9" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_gabbro" + } + { + id: "187BB26AF080C746" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Scoria" + icon: "create:scoria" + disable_toast: true + x: 3.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "7258E09C8FE0A53A" + tasks: [{ + id: "62A48EF0014AEEF2" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "27EA52936D9253D8" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_scoria" + } + { + id: "6C78DDA78CEC4DF9" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Dark Scoria" + icon: "create:dark_scoria" + disable_toast: true + x: -3.5d + y: 2.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "2A28A9B55B8CC05B" + tasks: [{ + id: "5A12197D78CEFF10" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "13B0394FEC769FBE" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_dark_scoria" + } + { + id: "1D30C6E920CA6DB4" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Obsidian" + icon: "minecraft:obsidian" + disable_toast: true + x: -2.5d + y: 2.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "36E46992DB4FE882" + tasks: [{ + id: "56ED01939116785C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1C296195D10E6B93" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_obsidian" + } + { + id: "5DD7F5DF2E98E6CC" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Dead Log" + icon: "biomesoplenty:dead_log" + disable_toast: true + x: -3.5d + y: 3.5d + shape: "hexagon" + subtitle: "2 Silver" + id: "0175433625D1B3F0" + tasks: [{ + id: "09B423B82B1F87DF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1C7FA159D3EB58F6" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_dead_log" + } + { + id: "52915EA1730CA5DA" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Oak Log" + icon: "minecraft:oak_log" + disable_toast: true + x: -2.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "42546DBAEACB6329" + tasks: [{ + id: "30090F5B0C6DBA4F" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "51C24FFC66869225" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_oak_log" + } + { + id: "1C73C8DA8959C71D" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Birch Log" + icon: "minecraft:birch_log" + disable_toast: true + x: -1.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "189C4FD0DF2D912E" + tasks: [{ + id: "09CA3EF63236D096" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "28309A63568C332A" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_birch_log" + } + { + id: "7BB06E0296493CFB" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Spruce Log" + icon: "minecraft:spruce_log" + disable_toast: true + x: -0.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "7CA0F23A2C7090B5" + tasks: [{ + id: "5E7B555E23090881" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2EAAB059FFEC3B4F" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_spruce_log" + } + { + id: "77FEE34EA7C7DC4A" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Jungle Log" + icon: "minecraft:jungle_log" + disable_toast: true + x: 0.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "3C0E8F3A056DEE26" + tasks: [{ + id: "28289B87ED246CF8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "16752ABED6D47A2C" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_jungle_log" + } + { + id: "576D1CC0E01428E7" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Acacia Log" + icon: "minecraft:acacia_log" + disable_toast: true + x: 1.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "6B47EF46C44DD8AA" + tasks: [{ + id: "796171A8C0CB8EF9" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "35B0F42259D578B2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_acacia_log" + } + { + id: "4DE39FD72549DB11" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Dark Oak Log" + icon: "minecraft:dark_oak_log" + disable_toast: true + x: 2.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "2736A8D1E8FF3DAF" + tasks: [{ + id: "1764A4C29B6D5C38" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "05A35BAFEA2995A4" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_dark_oak_log" + } + { + id: "7E5E69BDB712E108" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Crimson Stem" + icon: "minecraft:crimson_stem" + disable_toast: true + x: 3.5d + y: 3.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "3700D4CA7CC308B6" + tasks: [{ + id: "5B46B266528A3FED" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1DB1942E20EC8D4E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_crimson_stem" + } + { + id: "509FF89C8CD880EB" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Warped Stem" + icon: "minecraft:warped_stem" + disable_toast: true + x: -3.5d + y: 4.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "32F918D9890FA109" + tasks: [{ + id: "2BE1A8021C5B2229" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "352FEF6DA28F1AC5" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_warped_stem" + } + { + id: "137738BAFA21F61A" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Iron Ingot" + icon: "minecraft:iron_ingot" + disable_toast: true + x: -3.5d + y: 6.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "477EF5336CE2D190" + tasks: [{ + id: "44D5FC12C04C2180" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5B35EC5CA6D30949" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_iron_ingot" + } + { + id: "3FF214198DBE815A" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Zinc Ingot" + icon: "create:zinc_ingot" + disable_toast: true + x: -2.5d + y: 6.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "6204167AB1AA6AFF" + tasks: [{ + id: "1E1382B9412957C3" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "0C5147D0A99484CE" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_zinc_ingot" + } + { + id: "15F5B9E4B5495B3C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Copper Ingot" + icon: "create:copper_ingot" + disable_toast: true + x: -1.5d + y: 6.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "24BD687B7D2DC35E" + tasks: [{ + id: "13081F8C7D6BA34E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "760E638A357302EE" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_copper_ingot" + } + { + id: "696827ADAEDDC768" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Nickel Ingot" + icon: "thermal:nickel_ingot" + disable_toast: true + x: -0.5d + y: 6.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "61C9BB3C35E7EF73" + tasks: [{ + id: "617BAB4C2CDD7AD9" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "53B82194F80FFBD2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_nickel_ingot" + } + { + id: "0A32F39053D609F6" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Lead Ingot" + icon: "thermal:lead_ingot" + disable_toast: true + x: 0.5d + y: 6.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "3B1DD4EA6A0F745B" + tasks: [{ + id: "284AF3DC426D5DDC" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5A7FBF4022EE7641" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_lead_ingot" + } + { + id: "7520C6CB2074F5BD" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Gold Ingot" + icon: "minecraft:gold_ingot" + disable_toast: true + x: 1.5d + y: 6.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "3E821623B77AB2FB" + tasks: [{ + id: "2D6F900E7D7EB98F" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5C4DE5B7F6AC6703" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_gold_ingot" + } + { + id: "188D2007FC7CCB76" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Andesite Alloy" + icon: "create:andesite_alloy" + disable_toast: true + x: 2.5d + y: 6.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "351BFF7AEB3E807D" + tasks: [{ + id: "26F7B5293AA583F2" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "074EE63AC719C05C" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_andesite_alloy" + } + { + id: "6BAF08F575447B38" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Brass Ingot" + icon: "create:brass_ingot" + disable_toast: true + x: 3.5d + y: 6.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "731D25DB11FC410E" + tasks: [{ + id: "7908074E186C8EB1" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3B27656CDB7B3DBD" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_brass_ingot" + } + { + id: "4349BBCCDF877A3B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Invar Ingot" + icon: "thermal:invar_ingot" + disable_toast: true + x: -3.5d + y: 7.0d + shape: "hexagon" + subtitle: "64 Silver" + id: "07FD411579D63491" + tasks: [{ + id: "6EAFE704E3832F5A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "414763B0D46691A8" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_invar_ingot" + } + { + id: "5284F7FCF356FE6C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Coal" + icon: "minecraft:coal" + disable_toast: true + x: -2.5d + y: 7.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "658DAEE4F2EB7F75" + tasks: [{ + id: "0640A575FC2BA0AC" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5A7B78A3480DBB27" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_coal" + } + { + id: "0FE762803592FC27" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Flint" + icon: "minecraft:flint" + disable_toast: true + x: -1.5d + y: 7.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "7A83EC201FCF47FF" + tasks: [{ + id: "401879B04E53186B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4C19FE9A8D8F8B52" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_flint" + } + { + id: "5C5BF50F50C0D4B3" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Cinnabar" + icon: "thermal:cinnabar" + disable_toast: true + x: -0.5d + y: 7.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "1B768C32D93662A3" + tasks: [{ + id: "5A3ECEFFE75D04B7" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6A5A2E2DC0C35ACC" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_cinnabar" + } + { + id: "5A1508E1AE16B761" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Redstone Dust" + icon: "minecraft:redstone" + disable_toast: true + x: 0.5d + y: 7.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "46FEC6EE18C08309" + tasks: [{ + id: "58EC8767F2423275" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7EDCD6527F4A10BB" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_redstone_dust" + } + { + id: "7BB462F54ACB42CC" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Diamond" + icon: "minecraft:diamond" + disable_toast: true + x: 1.5d + y: 7.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "0FFFB001E2ADAE47" + tasks: [{ + id: "4202804F6FCB32DB" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "679F075944326F09" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_diamond" + } + { + id: "7F6EE7FC366F0BEF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Lapis Lazuli" + icon: "minecraft:lapis_lazuli" + disable_toast: true + x: 2.5d + y: 7.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "3AA3897B8E018C57" + tasks: [{ + id: "0DC0380187A428B7" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1B528C9CFAB4AFD6" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_lapis_lazuli" + } + { + id: "6084EB27B094E4F2" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Emerald" + icon: "minecraft:emerald" + disable_toast: true + x: 3.5d + y: 7.0d + shape: "hexagon" + subtitle: "64 Silver" + id: "56C9FD94330C1B74" + tasks: [{ + id: "42D7795C1E720A39" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "40DB1E65709F7AB2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_emerald" + } + { + id: "0B4D8B373F626265" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Sulfur" + icon: "thermal:sulfur" + disable_toast: true + x: -3.5d + y: 8.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "725510555326E365" + tasks: [{ + id: "018348E4457A981D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "50AFF5EEC7C7416E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sulfur" + } + { + id: "6307F8D655F3A70B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Apatite" + icon: "thermal:apatite" + disable_toast: true + x: -2.5d + y: 8.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "113C6E4F335A40B7" + tasks: [{ + id: "4D8F818274A91D67" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1721D681DD567237" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_apatite" + } + { + id: "679026F3E64F3BE6" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Niter" + icon: "thermal:niter" + disable_toast: true + x: -1.5d + y: 8.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "1E751917649D5AA7" + tasks: [{ + id: "0446A9EA4BFD1094" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "73F738B491D6F8C5" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_niter" + } + { + id: "65421DC6CAD45FDC" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Nether Quartz" + icon: "minecraft:quartz" + disable_toast: true + x: -0.5d + y: 8.0d + shape: "hexagon" + subtitle: "24 Silver" + id: "17027C3A5666BA58" + tasks: [{ + id: "5070F2A881184EE8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "479DA835AD9EB739" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_nether_quartz" + } + { + id: "4BE3C1AB1EC63BD2" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Certus Quartz" + icon: "appliedenergistics2:certus_quartz_crystal" + disable_toast: true + x: 0.5d + y: 8.0d + shape: "hexagon" + subtitle: "24 Silver" + id: "195F4084BC420A1F" + tasks: [{ + id: "566F83F1016B7E7A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6533692C2045467D" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_certus_quartz" + } + { + id: "6D260014A991C2FE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Fluix Quartz" + icon: "appliedenergistics2:fluix_crystal" + disable_toast: true + x: 1.5d + y: 8.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "09BD482B8DECFE54" + tasks: [{ + id: "0FDE4E1A0D6ED4B7" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6B570ADEFF94E2F7" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_fluix_quartz" + } + { + id: "2AB3CE22241FC6DD" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "6x Cured Rubber" + icon: "thermal:cured_rubber" + disable_toast: true + x: 2.5d + y: 8.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "7C388086F091CBE7" + tasks: [{ + id: "419095E4D142D323" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5884C6F581204B22" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_cured_rubber" + } + { + id: "20605C8BF8BCF2A7" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Scaffolding" + icon: "minecraft:scaffolding" + disable_toast: true + x: -1.5d + y: 9.5d + shape: "hexagon" + subtitle: "2 Silver" + id: "5FE7AC9188F9EF68" + tasks: [{ + id: "6DA20A14850B6E81" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "70B33813E80AFC64" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_scaffolding" + } + { + id: "59497E3D7675465C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Wool" + icon: "minecraft:white_wool" + disable_toast: true + x: -0.5d + y: 9.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "5683C54AD9355F93" + tasks: [{ + id: "72C9063754C9BBF6" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7E561FE2AB6F3737" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_wool" + } + { + id: "19A07AD32C0A1100" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Sponge" + icon: "minecraft:sponge" + disable_toast: true + x: 0.5d + y: 9.5d + shape: "hexagon" + subtitle: "16 Silver" + id: "71B743A93127833E" + tasks: [{ + id: "4884AF1BA2E02133" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "517E277E9291B228" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sponge" + } + { + id: "34B6B734B0E31CBF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Cobweb" + icon: "minecraft:cobweb" + disable_toast: true + x: 1.5d + y: 9.5d + shape: "hexagon" + subtitle: "16 Silver" + id: "7B48829655BA222C" + tasks: [{ + id: "1EF3156635A66673" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4ACE3CA5F4889697" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_cobweb" + } + { + id: "17A08946E31136AE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Rice" + icon: "farmersdelight:rice_bag" + disable_toast: true + x: -3.5d + y: 15.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "09E189BE07745ADD" + tasks: [{ + id: "030A180F2231F906" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "21EA58FC8D8558DF" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_rice" + } + { + id: "3C60190B4D3BB3B0" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Straw" + icon: "farmersdelight:straw" + disable_toast: true + x: -2.5d + y: 15.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "08935B70E285805E" + tasks: [{ + id: "73B6E18E96117FCD" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5B2B8C864D496156" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_straw" + } + { + id: "4A3116161223C8ED" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Glowshroom" + icon: "biomesoplenty:glowshroom" + disable_toast: true + x: -1.5d + y: 15.0d + shape: "hexagon" + subtitle: "9 Silver" + id: "7EAF8F9E9825CE1F" + tasks: [{ + id: "5DE66E6D1C6AE0BC" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "52350A1E17B617C4" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_glowshroom" + } + { + id: "458BFE91DF2C942F" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Bramble" + icon: "biomesoplenty:bramble" + disable_toast: true + x: -0.5d + y: 15.0d + shape: "hexagon" + subtitle: "9 Silver" + id: "2E06284D4CB82EFF" + tasks: [{ + id: "60F3B16ECD1A980B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "19C51CF21EBF4136" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_bramble" + } + { + id: "60BB761B04C983AE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Barley" + icon: "biomesoplenty:barley" + disable_toast: true + x: 0.5d + y: 15.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "62A74EED355D01D3" + tasks: [{ + id: "1BC734BC10A7E144" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4DCB903B0AD5AD92" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_barley" + } + { + id: "106D2BB24C05B739" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Watergrass" + icon: "biomesoplenty:watergrass" + disable_toast: true + x: 1.5d + y: 15.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "3B6AE40E44A16937" + tasks: [{ + id: "1DB7F60C4E7061A1" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5646F7FA6F65AA78" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_watergrass" + } + { + id: "62659DC528D6E14E" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Mangrove Root" + icon: "biomesoplenty:mangrove_root" + disable_toast: true + x: 2.5d + y: 15.0d + shape: "hexagon" + subtitle: "9 Silver" + id: "2CEA368C66C0BA14" + tasks: [{ + id: "6268F97AF74BC0AF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "57CAAC9439BBE9ED" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_mangrove_root" + } + { + id: "6436F703728D1773" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Reed" + icon: "biomesoplenty:reed" + disable_toast: true + x: 3.5d + y: 15.0d + shape: "hexagon" + subtitle: "5 Silver" + id: "6CD2A8E5C62CC538" + tasks: [{ + id: "62E4175EB432C241" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "33384775F93C9B64" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_reed" + } + { + id: "5FD89BDABEBCBFAB" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Clover Petal" + icon: "biomesoplenty:huge_clover_petal" + disable_toast: true + x: -3.5d + y: 16.0d + shape: "hexagon" + subtitle: "10 Silver" + id: "11613C5A499E8380" + tasks: [{ + id: "7154E8E98792EFD2" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4FF0107786AC2A2C" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_clover_petal" + } + { + id: "1BBBBABD6EB1A2D8" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Spanish Moss" + icon: "biomesoplenty:spanish_moss" + disable_toast: true + x: -2.5d + y: 16.0d + shape: "hexagon" + subtitle: "7 Silver" + id: "6A010E906A4EE37A" + tasks: [{ + id: "57D587A7E889220A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6D8A01A9441B2574" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_spanish_moss" + } + { + id: "5565D3CA3EB2E036" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Willow Vine" + icon: "biomesoplenty:willow_vine" + disable_toast: true + x: -1.5d + y: 16.0d + shape: "hexagon" + subtitle: "7 Silver" + id: "1E69859E5ADC6850" + tasks: [{ + id: "2943BD060053BA3E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2BFC5BDC040255E2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_willow_vine" + } + { + id: "103F1A6BACF27CBB" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Cattail" + icon: "biomesoplenty:cattail" + disable_toast: true + x: -0.5d + y: 16.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "27D33798359303AF" + tasks: [{ + id: "0D435E38A8BD7411" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6453C4D8D44307F3" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_cattail" + } + { + id: "2B12E75CFAE41730" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Sugar Cane" + icon: "minecraft:sugar_cane" + disable_toast: true + x: 0.5d + y: 16.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "2747C9588C27C900" + tasks: [{ + id: "0DE352709ED589B8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "124C3B66041FC703" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sugar_cane" + } + { + id: "539FAABC95FE2D9D" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Kelp" + icon: "minecraft:kelp" + disable_toast: true + x: 1.5d + y: 16.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "09F6B2DD4C226993" + tasks: [{ + id: "1C5DC9A4EBDD525E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2A3B2CB8F0F6D6C4" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_kelp" + } + { + id: "66D9C34D789EEF61" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Bamboo" + icon: "minecraft:bamboo" + disable_toast: true + x: 2.5d + y: 16.0d + shape: "hexagon" + subtitle: "5 Silver" + id: "73059C1AFF2E128B" + tasks: [{ + id: "216F9FFAF8EE4AFF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1654D800D7743EC4" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_bamboo" + } + { + id: "2BD68A20169264C1" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Sweet Berries" + icon: "minecraft:sweet_berries" + disable_toast: true + x: 3.5d + y: 16.0d + shape: "hexagon" + subtitle: "11 Silver" + id: "1B60FC6597A9AAC4" + tasks: [{ + id: "16707BC180500796" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "0066D36732D9946D" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sweet_berries" + } + { + id: "0D5475B48E19CBDA" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Vines" + icon: "minecraft:vine" + disable_toast: true + x: -3.5d + y: 17.0d + shape: "hexagon" + subtitle: "7 Silver" + id: "252379D9C6D1E0D4" + tasks: [{ + id: "53B0285AA0998DC3" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "03449929CA19CA65" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_vines" + } + { + id: "4652AF3CAF6CD7D4" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Tree Fertilizer" + icon: "create:tree_fertilizer" + disable_toast: true + x: -2.5d + y: 17.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "63D59C437EDFD556" + tasks: [{ + id: "76E801E41851E301" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "396C807BDED4631E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_tree_fertilizer" + } + { + id: "2F3B6D492D2A421B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Daub" + icon: "supplementaries:daub" + disable_toast: true + x: -3.5d + y: 18.5d + shape: "hexagon" + subtitle: "5 Silver" + id: "678B881144BBC181" + tasks: [{ + id: "00209A8FDBA7BB71" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7470B94D12EF2B3B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_daub" + } + { + id: "78D00096804E049F" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Clear Glass" + icon: "tconstruct:clear_glass" + disable_toast: true + x: -2.5d + y: 18.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "5512C7DB60178F49" + tasks: [{ + id: "4B2F70B916DC5C31" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6F94697FAE0B242C" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_clear_glass" + } + { + id: "62614487BB3028E1" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Copper Shingles" + icon: "create:copper_shingles" + disable_toast: true + x: -1.5d + y: 18.5d + shape: "hexagon" + subtitle: "3 Silver" + id: "4167F3A3542C1123" + tasks: [{ + id: "04FA67DBAA3A72B6" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "0DD0CD0FF16BF69B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_copper_shingles" + } + { + id: "57C50AB68716C263" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Algal Bricks" + icon: "architects_palette:algal_bricks" + disable_toast: true + x: -0.5d + y: 18.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "2763B7F7AE1B09E6" + tasks: [{ + id: "7689C91BC3334B47" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "01B3383BE4E0B82B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_algal_bricks" + } + { + id: "7110F2489E0AE24D" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Olivestone Bricks" + icon: "architects_palette:olivestone_bricks" + disable_toast: true + x: 0.5d + y: 18.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "789A6615F258FB63" + tasks: [{ + id: "0CD62C3FE183A881" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "78C65C070C2115EF" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_olivestone_bricks" + } + { + id: "6A04D449DAFEFD6B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Architect's Limestone" + icon: "architects_palette:limestone" + disable_toast: true + x: 1.5d + y: 18.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "1FBD038D9128A707" + tasks: [{ + id: "45FDDDB0D4E704CF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "03D06547B64AB10F" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_architects_limestone" + } + { + id: "59DBCD6C0C0D5404" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Sunmetal" + icon: "architects_palette:sunmetal_block" + disable_toast: true + x: 2.5d + y: 18.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "3F77607D8AEBD416" + tasks: [{ + id: "65A703FD51ECE2F9" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2D0D93A5180D0153" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sunmetal" + } + { + id: "29847CC6E864850A" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Plating Block" + icon: "architects_palette:plating_block" + disable_toast: true + x: 3.5d + y: 18.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "15254A56371E9E70" + tasks: [{ + id: "26E06B57382A1A96" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "71742CC17827486D" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_plating_block" + } + { + id: "1A6356D25C89EDDF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Twisted Planks" + icon: "architects_palette:twisted_planks" + disable_toast: true + x: -3.5d + y: 19.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "3B68C53824BC0AF1" + tasks: [{ + id: "2133109385403391" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "0ED7E07724D26D88" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_twisted_planks" + } + { + id: "692D085067E2A3C2" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Osseous Bricks" + icon: "architects_palette:osseous_bricks" + disable_toast: true + x: -2.5d + y: 19.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "6D5E8C49271CA327" + tasks: [{ + id: "7B23292F3BDB2BAA" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3673485973B0B065" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_osseous_bricks" + } + { + id: "48AA09523574ED45" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Seared Stone" + icon: "tconstruct:seared_stone" + disable_toast: true + x: -1.5d + y: 19.5d + shape: "hexagon" + subtitle: "32 Silver" + id: "42CB91CE0EE9282B" + tasks: [{ + id: "2286EC39C82D230B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "42F4F8FF5DA34989" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_seared_stone" + } + { + id: "46A967B44D7A8189" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Scorched Stone" + icon: "tconstruct:scorched_stone" + disable_toast: true + x: -0.5d + y: 19.5d + shape: "hexagon" + subtitle: "32 Silver" + id: "208146611226CC90" + tasks: [{ + id: "5F87D89995A2B458" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "094C14CEE51336FD" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_scorched_stone" + } + { + id: "5400836F149D96B7" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Lantern" + icon: "minecraft:lantern" + disable_toast: true + x: 0.5d + y: 19.5d + shape: "hexagon" + subtitle: "1 Silver" + id: "1E1EB9C286E85CA5" + tasks: [{ + id: "276CC5ECBC4E47F0" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3F9AD51AB2CFEB52" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_lantern" + } + { + id: "3A6506BDAA9A65D1" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Copper Lantern" + icon: "supplementaries:copper_lantern" + disable_toast: true + x: 1.5d + y: 19.5d + shape: "hexagon" + subtitle: "1 Silver" + id: "4DCC42D2C9EAE8D1" + tasks: [{ + id: "5B48AAC616DB21D4" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3AB36855E32B27D0" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_copper_lantern" + } + { + id: "0BC651C6B34F8F2F" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Brass Lantern" + icon: "supplementaries:brass_lantern" + disable_toast: true + x: 2.5d + y: 19.5d + shape: "hexagon" + subtitle: "1 Silver" + id: "4E6BB179B3D30179" + tasks: [{ + id: "6A0C2DC1B4CA4CEF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "49C3DCB6D60C055E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_brass_lantern" + } + { + id: "52552D77F327DDCD" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Crimson Lantern" + icon: "supplementaries:crimson_lantern" + disable_toast: true + x: 3.5d + y: 19.5d + shape: "hexagon" + subtitle: "1 Silver" + id: "0FDEA89C3D05C80E" + tasks: [{ + id: "7C3CA4EFBF474FF4" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6CEAFBCD1574FFED" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_crimson_lantern" + } + { + id: "59BD44A5ED0322BF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Slime Ball" + icon: "minecraft:slime_ball" + disable_toast: true + x: -3.5d + y: 21.0d + shape: "hexagon" + subtitle: "24 Silver" + id: "5CCCAB53D388B5E1" + tasks: [{ + id: "69B25D460533A163" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1B9DE39973156208" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_slime_ball" + } + { + id: "0D3E0377537E9C57" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x String" + icon: "minecraft:string" + disable_toast: true + x: -2.5d + y: 21.0d + shape: "hexagon" + subtitle: "5 Silver" + id: "46030BF2A72C912D" + tasks: [{ + id: "659BF824E5750243" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5F330E0DF87DB606" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_string" + } + { + id: "209222C23BEAA6BB" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Feather" + icon: "minecraft:feather" + disable_toast: true + x: -1.5d + y: 21.0d + shape: "hexagon" + subtitle: "6 Silver" + id: "63CF48BBF1ADA1AA" + tasks: [{ + id: "4EC36192CB3FF44B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "78900B7ADE371BD6" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_feather" + } + { + id: "2E6975BBAD87C21F" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Gunpowder" + icon: "minecraft:gunpowder" + disable_toast: true + x: -0.5d + y: 21.0d + shape: "hexagon" + subtitle: "7 Silver" + id: "0EE4BE1350D60F72" + tasks: [{ + id: "3201F7A1EA86072D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "003B134DA4172F85" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_gunpowder" + } + { + id: "6448B50103A71422" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Leather" + icon: "minecraft:leather" + disable_toast: true + x: 0.5d + y: 21.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "107AAE4EA7ECF934" + tasks: [{ + id: "259454CBA679000D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1A5376DB5E56203F" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_leather" + } + { + id: "72642338C8604C32" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Ink Sac" + icon: "minecraft:ink_sac" + disable_toast: true + x: 1.5d + y: 21.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "47862F8D76F9969D" + tasks: [{ + id: "4F068B1A38293FC3" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6D9C047B232C7D6B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_ink_sac" + } + { + id: "1D2884644B1AEB19" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Experience" + icon: "minecraft:experience_bottle" + disable_toast: true + x: 2.5d + y: 21.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "1A261DCD5F86BE98" + tasks: [{ + id: "660304A29A481EB7" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "25ABCDDEF7A1DEBA" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_experience" + } + { + id: "715C5A38AFE8D79A" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Shulker Shell" + icon: "minecraft:shulker_shell" + disable_toast: true + x: 3.5d + y: 21.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "4533A4CCBC5C70C4" + tasks: [{ + id: "452FDEEF71CE8E5C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "0E16A269DB72A622" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_shulker_shell" + } + { + id: "5768D4FBACC7A004" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Spider Eye" + icon: "minecraft:spider_eye" + disable_toast: true + x: -3.5d + y: 22.0d + shape: "hexagon" + subtitle: "10 Silver" + id: "423AE8A338C0738F" + tasks: [{ + id: "0D908719F97AC7DA" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "0A2B14F37A088DFB" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_spider_eye" + } + { + id: "3F10E7AA98369DAB" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Ender Pearl" + icon: "minecraft:ender_pearl" + disable_toast: true + x: -2.5d + y: 22.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "218C82E655ED0D66" + tasks: [{ + id: "4751CCFDE36A2DA8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7969C08C74E3DE2A" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_ender_pearl" + } + { + id: "12660C9843508604" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Rotten Flesh" + icon: "minecraft:rotten_flesh" + disable_toast: true + x: -1.5d + y: 22.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "0DD772E4F673DA1A" + tasks: [{ + id: "13BB6FECB3C77DCA" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "607EC341C8888408" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_rotten_flesh" + } + { + id: "34F35321B0BD8820" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Blaze Rod" + icon: "minecraft:blaze_rod" + disable_toast: true + x: -0.5d + y: 22.0d + shape: "hexagon" + subtitle: "20 Silver" + id: "0D430B931BF6072B" + tasks: [{ + id: "2B435757177B3C09" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "284ED5D98964BE1C" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_blaze_rod" + } + { + id: "60D25D3A1B500102" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Bone" + icon: "minecraft:bone" + disable_toast: true + x: 0.5d + y: 22.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "312ED00CC9C8ABAE" + tasks: [{ + id: "20A53F63BEDA0266" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "75CFB2290ACF5DE4" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_bone" + } + { + id: "58F4229AD48D8308" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Prismarine Shard" + icon: "minecraft:prismarine_shard" + disable_toast: true + x: 1.5d + y: 22.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "2DAEFD5039B39E05" + tasks: [{ + id: "09705F900B0124D4" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "279FA492F3203420" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_prismarine_shard" + } + { + id: "79E610D55518AB94" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Prismarine Crystals" + icon: "minecraft:prismarine_crystals" + disable_toast: true + x: 2.5d + y: 22.0d + shape: "hexagon" + subtitle: "24 Silver" + id: "620FF9C47297BDF8" + tasks: [{ + id: "776B279A2C6C90E3" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2200EE5E448CA036" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_prismarine_crystals" + } + { + id: "2ACC0A4434818065" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Witch Hat" + icon: "xreliquary:witch_hat" + disable_toast: true + x: 3.5d + y: 22.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "09CE5AD4CB4B5E30" + tasks: [{ + id: "0E378993CF02210C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "48DE69AA37012235" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_witch_hat" + } + { + id: "0D12C1D3B4829B29" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Zombie heart" + icon: "xreliquary:zombie_heart" + disable_toast: true + x: -3.5d + y: 23.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "282F6B669035353D" + tasks: [{ + id: "4672644B424294E6" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "70DBF93AADDC495E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_zombie_heart" + } + { + id: "30EAD7F2488F0706" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Squid Beak" + icon: "xreliquary:squid_beak" + disable_toast: true + x: -2.5d + y: 23.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "2AE355FCE8F6A0AE" + tasks: [{ + id: "05A678D683E456AD" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "23964E6589089A36" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_squid_beak" + } + { + id: "724BFD6CD61B8420" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Rib Bone" + icon: "xreliquary:rib_bone" + disable_toast: true + x: -1.5d + y: 23.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "076FEDF607F4EFC6" + tasks: [{ + id: "270D4F07E137FC47" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6233C2F7CAEE93E3" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_rib_bone" + } + { + id: "0A870C5A7EA0E3B4" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Catalyzing Gland" + icon: "xreliquary:catalyzing_gland" + disable_toast: true + x: -0.5d + y: 23.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "2868D7A0EF373C25" + tasks: [{ + id: "76FE49B8874C0104" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "45B8776A36838878" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_catalyzing_gland" + } + { + id: "20BD0E5F70E73564" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Chelicerae" + icon: "xreliquary:chelicerae" + disable_toast: true + x: 0.5d + y: 23.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "09AD9D377AC72988" + tasks: [{ + id: "0EA44EE1C7ADD2AB" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "658B70F0E160CD24" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_chelicerae" + } + { + id: "663A2E7C64D6009C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Slime Pearl" + icon: "xreliquary:slime_pearl" + disable_toast: true + x: 1.5d + y: 23.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "584290368876B425" + tasks: [{ + id: "77F3F2DBA746C89D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "588056BEA48190D1" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_slime_pearl" + } + { + id: "2E896F4AA06F0301" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Bat Wing" + icon: "xreliquary:bat_wing" + disable_toast: true + x: 2.5d + y: 23.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "09A6B378B772D578" + tasks: [{ + id: "30693F34B342251E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "53E74703C55B7455" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_bat_wing" + } + { + id: "39E52C40DE922D12" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Withered Rib" + icon: "xreliquary:withered_rib" + disable_toast: true + x: 3.5d + y: 23.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "36564FF598EBA474" + tasks: [{ + id: "165B551F90819346" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "29020D52483909AA" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_withered_rib" + } + { + id: "4DA9F25E0D17308F" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Molten Core" + icon: "xreliquary:molten_core" + disable_toast: true + x: -3.5d + y: 24.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "635E61DFEF2C2C2A" + tasks: [{ + id: "213DC20DEFD61280" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "255674AFB6BA1EC5" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_molten_core" + } + { + id: "2061F7A1ED7FF8FC" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Eye of the Storm" + icon: "xreliquary:eye_of_the_storm" + disable_toast: true + x: -2.5d + y: 24.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "6E864CDCF999B4AA" + tasks: [{ + id: "3D49B4598A6DABF5" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "596375C05432EB5C" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_eye_of_the_storm" + } + { + id: "3EF3FF8B4BDCC6F1" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Frozen Core" + icon: "xreliquary:frozen_core" + disable_toast: true + x: -1.5d + y: 24.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "44DCE7EAB47F42CB" + tasks: [{ + id: "6C4B0959B98F937C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "326AEE9ABBAFC185" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_frozen_core" + } + { + id: "7F59F4F94EF9789E" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Nebulous Heart" + icon: "xreliquary:nebulous_heart" + disable_toast: true + x: -0.5d + y: 24.0d + shape: "hexagon" + subtitle: "3 Gold" + id: "7A6EDAB72AC92EC2" + tasks: [{ + id: "4358442FA3AA24C6" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "712941423DA61E88" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_nebulous_heart" + } + { + id: "2A0F0D50F6EBD7BE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Guardian Spike" + icon: "xreliquary:guardian_spike" + disable_toast: true + x: 0.5d + y: 24.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "79B138737D0E5E7C" + tasks: [{ + id: "60808E127B953BFF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7E78FFCD9FD04467" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_guardian_spike" + } + { + id: "4491DBD4F4591AB5" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Phantom Membrane" + icon: "minecraft:phantom_membrane" + disable_toast: true + x: 1.5d + y: 24.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "594AEDFF1DC4E042" + tasks: [{ + id: "3DB55AC2419E59A0" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "71390F4E0FAC2682" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_phantom_membrane" + } + { + id: "7DF48478F07DFDDF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Blaze Cake" + icon: "create:blaze_cake" + disable_toast: true + x: 2.5d + y: 24.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "6009926C9CA7D6DA" + tasks: [{ + id: "501B959151A3BEC5" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7236DA12F90CD057" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_blaze_cake" + } + { + id: "19E095F717E988C2" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Early Shipping" + icon: "thermal:machine_press" + x: -2.0d + y: 12.25d + shape: "circle" + subtitle: "16 Silver" + description: [ + "Getting to the Brass Age is hard work!" + "" + "The avid salesman can come here for purchasing Trading Machines from the get go. This should help you take off!" + ] + dependencies: ["6AC1CED0D341150E"] + id: "4DFE4FD3B504AF4B" + tasks: [{ + id: "3E2EAC7B2D274669" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "26C6A3ACA1B59772" + type: "item" + auto: "enabled" + item: "thermal:machine_press" + } + { + id: "271E7F49C6719B0B" + type: "item" + auto: "no_toast" + item: "thermal:dynamo_stirling" + } + { + id: "61448EF131387AEF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/stage_1.snbt b/src/overrides/config/ftbquests/backup/chapters/stage_1.snbt new file mode 100644 index 0000000..f567fb7 --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/stage_1.snbt @@ -0,0 +1,748 @@ +{ + id: "45AEDCD3B795E95A" + group: "331B6409EF6A7840" + order_index: 1 + filename: "stage_1" + title: "&f1&r High Aspirations" + icon: "kubejs:andesite_machine" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Automatic Forest" + icon: "minecraft:oak_log" + x: -1.0d + y: 1.0d + shape: "square" + subtitle: "Contraption 1" + description: [ + "Building Material, Fuel and Ingredient. A passive supply of timber would be a good first effort. " + "" + "Mechanical Saws are a powerful way to achieve this." + ] + hide_dependency_lines: true + dependencies: ["5799D55BB26BA52C"] + id: "2CB570195DA7E106" + tasks: [ + { + id: "58AB6E0FF2EA6AD4" + type: "item" + title: "Any Wooden Log" + icon: "minecraft:oak_log" + disable_toast: true + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:logs" + } + } + consume_items: false + } + { + id: "0842082756DA73FE" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Underwater Garden" + icon: "minecraft:kelp" + x: 5.0d + y: 1.0d + subtitle: "Contraption 3" + description: [ + "Kelp is vital ingredient to our first Assembly Line target: Andesite Alloy." + "" + "Kelp can be gathered automatically with Mechanical Harvesters." + ] + hide_dependency_lines: true + dependencies: ["5799D55BB26BA52C"] + id: "608BF7BE3CB666F3" + tasks: [ + { + id: "247A58659E47A4D8" + type: "item" + item: "minecraft:kelp" + consume_items: false + } + { + id: "0631FA27CEE5D67D" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Catching Sediment" + icon: "minecraft:sand" + x: 3.0d + y: 1.0d + subtitle: "Contraption 2" + description: ["A good way to automate Sand at this moment is to build Strainers."] + hide_dependency_lines: true + dependencies: ["5799D55BB26BA52C"] + id: "4CC420A6B673176A" + tasks: [ + { + id: "72FE446F5BB1A93E" + type: "item" + title: "Sand" + icon: "minecraft:sand" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "biomesoplenty:white_sand" + Count: 1b + } + { + id: "minecraft:sand" + Count: 1b + } + { + id: "biomesoplenty:orange_sand" + Count: 1b + } + ] + } + } + consume_items: false + } + { + id: "4208FAAC229CACA6" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Bedrock's Bounty" + icon: "create:andesite_cobblestone" + x: 1.0d + y: 1.0d + subtitle: "Contraption 4" + description: [ + "Gathering Andesite manually takes time. Thankfully, bedrock can cause lava to form Andesite infinitely." + "" + "At this time it is best to set up drills to break generated blocks between lava and water." + "Since bedrock is blocking the space beneath, you'll have to find a way to collect the drops from other sides." + ] + hide_dependency_lines: true + dependencies: ["5799D55BB26BA52C"] + id: "106C6DFDCB97327C" + tasks: [ + { + id: "5E14AA73F8E1AFE4" + type: "item" + item: "create:andesite_cobblestone" + consume_items: false + } + { + id: "29B78BB983BE39FC" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Andesite Lift" + icon: "create:rope_pulley" + x: 1.0d + y: 3.0d + shape: "circle" + subtitle: "Contraption 5" + description: ["All your Andesite is likely not being generated near your factory. Figure out a way to bring it to the surface."] + dependencies: ["106C6DFDCB97327C"] + id: "6B7F0631060A9E62" + tasks: [{ + id: "0C764FDD555E8CCD" + type: "checkmark" + title: "Automated" + }] + } + { + title: "Clay Washer" + icon: "minecraft:clay_ball" + x: 3.5d + y: 2.5d + subtitle: "Contraption 6-1" + description: ["With the help of Encased Fans, sand can be refined into clay."] + dependencies: ["4CC420A6B673176A"] + id: "729FB5DD07C234E8" + tasks: [ + { + id: "714FE76FE8D62EBF" + type: "item" + item: "minecraft:clay_ball" + consume_items: false + } + { + id: "02EE2F24FDF534BC" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Algae Blender" + icon: "architects_palette:algal_blend" + x: 5.0d + y: 3.5d + subtitle: "Contraption 6-2" + description: ["In the Mix! Clay and Kelp can be processed with the Mechanical Mixer."] + dependencies: [ + "729FB5DD07C234E8" + "608BF7BE3CB666F3" + ] + id: "72BE175C83834838" + tasks: [ + { + id: "1CE8BFE460CB41E0" + type: "item" + item: "architects_palette:algal_blend" + consume_items: false + } + { + id: "63EA7BF746BF3254" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Log Stripper" + icon: "minecraft:stripped_oak_log" + x: -1.0d + y: 3.5d + subtitle: "Contraption 7-1" + description: ["Upwards-facing Mechanical Saws can process the harvested logs further..."] + dependencies: ["2CB570195DA7E106"] + id: "532EFE32C3A515B5" + tasks: [ + { + id: "3C7A4BA98EEC90E8" + type: "item" + title: "Any Stripped Log" + icon: "minecraft:stripped_oak_log" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "minecraft:stripped_oak_log" + Count: 1b + } + { + id: "minecraft:stripped_spruce_log" + Count: 1b + } + { + id: "minecraft:stripped_birch_log" + Count: 1b + } + { + id: "minecraft:stripped_acacia_log" + Count: 1b + } + { + id: "minecraft:stripped_dark_oak_log" + Count: 1b + } + { + id: "minecraft:stripped_crimson_stem" + Count: 1b + } + { + id: "minecraft:stripped_warped_stem" + Count: 1b + } + { + id: "biomesoplenty:stripped_willow_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_palm_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_jacaranda_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_mahogany_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_cherry_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_redwood_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_fir_log" + Count: 1b + } + { + id: "architects_palette:stripped_twisted_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_dead_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_magic_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_umbran_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_hellbark_log" + Count: 1b + } + { + id: "endergetic:stripped_poise_stem" + Count: 1b + } + { + id: "tconstruct:stripped_greenheart_log" + Count: 1b + } + { + id: "tconstruct:stripped_skyroot_log" + Count: 1b + } + { + id: "tconstruct:stripped_bloodshroom_log" + Count: 1b + } + { + id: "darkerdepths:stripped_petrified_log" + Count: 1b + } + { + id: "forbidden_arcanus:stripped_mysterywood_log" + Count: 1b + } + { + id: "forbidden_arcanus:stripped_cherrywood_log" + Count: 1b + } + ] + } + } + consume_items: false + } + { + id: "7B60357D06FE3ADC" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Plank Cutter" + icon: "minecraft:oak_planks" + x: -0.5d + y: 4.5d + subtitle: "Contraption 7-2" + description: ["...and further..."] + dependencies: ["532EFE32C3A515B5"] + id: "19921941321965A4" + tasks: [ + { + id: "1A63E51B0CF5C6DD" + type: "item" + title: "Any Planks" + icon: "minecraft:oak_planks" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:planks" + } + } + consume_items: false + } + { + id: "175767726FBCAA8D" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Cutter of Cut Planks" + icon: "minecraft:oak_slab" + x: 0.5d + y: 5.0d + subtitle: "Contraption 7-3" + description: [ + "...and further, into the perfect base for our first Mechanism." + "" + "Note: before the machine starts showering you with random furniture, place a wooden slab in the filter slot of the Mechanical Saw." + ] + dependencies: ["19921941321965A4"] + id: "59E4A6163753BC12" + tasks: [ + { + id: "23030B6D0072EBE8" + type: "item" + title: "Any Wooden Slab" + icon: "minecraft:oak_slab" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:wooden_slabs" + } + } + consume_items: false + } + { + id: "59B260F52722A1FE" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Algaesite Mixer" + icon: "create:andesite_alloy" + x: 3.5d + y: 5.0d + subtitle: "Contraption 6-4" + description: ["In another Mix! This time it'll be the bricks and your surfaced Andesite Cobblestone."] + dependencies: [ + "106C6DFDCB97327C" + "32786E9D145FFE25" + ] + id: "73FCA432DEFC1DED" + tasks: [ + { + id: "4F50D847118D6E62" + type: "item" + item: "create:andesite_alloy" + consume_items: false + } + { + id: "6AA98FC4680D6521" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Algae Cooker" + icon: "architects_palette:algal_brick" + x: 4.5d + y: 4.5d + subtitle: "Contraption 6-3" + description: ["Smelt the Algal blend into bricks. While a Furnace works great, an Encased Fan can do it without the need of Fuel."] + dependencies: ["72BE175C83834838"] + id: "32786E9D145FFE25" + tasks: [ + { + id: "706BA4E65686CA1B" + type: "item" + item: "architects_palette:algal_brick" + consume_items: false + } + { + id: "1484A9A6DB85EA6D" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Deploy, Deploy, Deploy." + icon: "kubejs:kinetic_mechanism" + x: 2.0d + y: 6.5d + subtitle: "Contraption 8" + description: ["Bringing together Andesite Alloy and cut planks using a row of Deployers concludes your first Assembly Line."] + dependencies: [ + "59E4A6163753BC12" + "73FCA432DEFC1DED" + "5A055D0421861318" + ] + id: "675C395B2074C24C" + tasks: [ + { + id: "68B67FDC410885B3" + type: "item" + item: "kubejs:kinetic_mechanism" + consume_items: false + } + { + id: "34C54664AB22ECFD" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Arming the Deployer" + icon: { + id: "cb_microblock:stone_saw" + Count: 1b + tag: { + Damage: 0 + } + } + x: 3.5d + y: 6.5d + shape: "circle" + description: [ + "It'll be good to stock up on a couple of saws for the Mechanism Assembly." + "However, they are not nearly consumed as quickly as something that would require an automated supply." + ] + hide_dependency_lines: true + dependencies: [ + "59E4A6163753BC12" + "73FCA432DEFC1DED" + ] + id: "5A055D0421861318" + tasks: [{ + id: "52A4AF128B571664" + type: "item" + title: "Any Saw" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "forge:saws" + } + } + consume_items: false + }] + } + { + title: "Chapter 1 Start!" + icon: "create:wrench" + x: 2.0d + y: -1.0d + shape: "hexagon" + description: [ + "Welcome to the Factory Guide!" + "" + "These Quests are an Automation Plan for your upcoming Assembly Line. Always view them as recommendations on what you should construct a passive supply for. The flowgraph depicts the connections between relevant recipes/processing." + "" + "Happy engineering!" + ] + dependencies: ["5A8DF2D8553904BF"] + hide: true + size: 2.0d + id: "5799D55BB26BA52C" + tasks: [{ + id: "1B5F1E9F5EE6EB2C" + type: "checkmark" + }] + rewards: [{ + id: "49A9C8798141C302" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "Chapter 1 Complete!" + x: 2.0d + y: 8.5d + shape: "hexagon" + description: [ + "Congrats! Now you have a passive supply of Kinetic Mechanisms. This is bound to change the pace a bit." + "" + "Before moving on, check back through your factory and search for any major bottlenecks." + "It'd be a shame if a really efficient andesite generator is held back only by the sand not coming in quickly enough." + ] + dependencies: ["675C395B2074C24C"] + size: 2.0d + id: "3F45DFEF31838A00" + tasks: [{ + id: "2D4BB6A2E22A86E3" + type: "item" + item: "kubejs:andesite_machine" + consume_items: false + }] + rewards: [ + { + id: "30E03E42611E5613" + type: "item" + item: "kubejs:kinetic_mechanism" + count: 16 + } + { + id: "006F556964FDC753" + type: "item" + item: "minecraft:redstone" + random_bonus: 4 + } + { + id: "641C2EF6193736A1" + type: "item" + item: "minecraft:iron_ingot" + random_bonus: 4 + } + ] + } + { + title: "Ah wait, don't chop" + icon: "thermal:resin_bucket" + x: 0.0d + y: 10.0d + shape: "square" + subtitle: "Contraption 9-1" + description: ["Liquid resin can be extracted from healthy Trees using Arboreal Extractors. The more the merrier."] + dependencies: [ + "3F45DFEF31838A00" + "681DACF11F193771" + ] + hide: true + id: "3728DF562D6DCE3A" + tasks: [ + { + id: "52B181D406A5AC67" + type: "item" + item: "thermal:device_tree_extractor" + count: 4L + consume_items: false + } + { + id: "29BEB0A31C3FB00B" + type: "checkmark" + title: "Automated (Resin)" + } + ] + } + { + title: "Rubber Stamper" + icon: "thermal:rubber" + x: 1.0d + y: 10.5d + subtitle: "Contraption 9-2" + description: ["Gather the resin via a network of Fluid Pipes and use a Basin-Press to solidify it."] + dependencies: ["3728DF562D6DCE3A"] + id: "3EF5F89DBD6959E3" + tasks: [ + { + id: "0F98BACE3B940BC9" + type: "item" + item: "thermal:rubber" + consume_items: false + } + { + id: "5BBF2E1143CD356E" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Curing by Flame" + icon: "thermal:cured_rubber" + x: 2.0d + y: 11.0d + shape: "square" + subtitle: "Contraption 9-3" + description: [ + "Finally, smelt the raw rubber into its cured state." + "" + "Bon Appétit!" + ] + dependencies: ["3EF5F89DBD6959E3"] + id: "29D37095C73B3DEC" + tasks: [ + { + id: "7D328EB34500FE28" + type: "item" + item: "thermal:cured_rubber" + consume_items: false + } + { + id: "17286271B0667AAA" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "All Sealed Up" + x: 3.5d + y: 11.5d + shape: "circle" + description: ["From here it's really no hassle to do things manually. If you must, you can always come back with some Mechanical Crafters later on."] + dependencies: ["29D37095C73B3DEC"] + id: "6545C3F427B12106" + tasks: [{ + id: "2C94C22FBED69EE4" + type: "item" + item: "kubejs:sealed_mechanism" + consume_items: false + }] + } + { + title: "Bonus 1A Complete!" + x: 2.0d + y: 13.0d + shape: "hexagon" + description: ["Congrats! Now you have a good supply of Sealed Mechanisms. Your future self will thank you."] + dependencies: ["6545C3F427B12106"] + size: 2.0d + id: "0E0535849D8D9279" + tasks: [{ + id: "31511DA3C34905F1" + type: "item" + item: "kubejs:copper_machine" + consume_items: false + }] + rewards: [ + { + id: "0CDF1AD650CC3EA0" + type: "item" + item: "kubejs:sealed_mechanism" + count: 16 + } + { + id: "200F3D1A04E713EF" + type: "item" + item: "thermal:cured_rubber" + random_bonus: 4 + } + { + id: "38E1B6571EDAA96B" + type: "item" + item: "create:copper_ingot" + random_bonus: 4 + } + ] + } + { + title: "Speedrun" + icon: "appliedenergistics2:speed_card" + x: 0.0d + y: -1.0d + shape: "circle" + description: [ + "The rigid flowgraph of this guide may suggest that items aren't accessible until they have been automated." + "" + "Be reassured that you already have access to tools from later ages, such as filtering- though not without a bit of manual effort." + ] + dependencies: ["5799D55BB26BA52C"] + id: "6892AE55581393C6" + tasks: [{ + id: "4DC18CB3A19686E5" + type: "checkmark" + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/stage_2.snbt b/src/overrides/config/ftbquests/backup/chapters/stage_2.snbt new file mode 100644 index 0000000..5fde420 --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/stage_2.snbt @@ -0,0 +1,748 @@ +{ + id: "3CEC7BECE6B40994" + group: "331B6409EF6A7840" + order_index: 2 + filename: "stage_2" + title: "&f2&r Alluring Expedience" + icon: "kubejs:brass_machine" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Chapter 2 Start!" + icon: "kubejs:kinetic_mechanism" + x: -1.0d + y: 2.0d + shape: "hexagon" + description: [ + "The Automation Target this time is the Electron Tube. Placing them onto the Kinetic Mechanism will send you to the next tier." + "" + "Happy Inventing!" + ] + dependencies: ["28C41C062843C2CA"] + hide: true + size: 2.0d + id: "727B43FD95C4A512" + tasks: [{ + id: "2B249158FB9D453B" + type: "checkmark" + }] + rewards: [{ + id: "05FBDFB7D5A9B322" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "Temporary Sand" + x: -5.0d + y: 4.0d + shape: "circle" + description: ["Initially, Certus Quartz Seeds require sand to be crafted. However, for full automation it might be worthwhile to bypass that requirement with the help of Mechanical Crafters."] + hide_dependency_lines: true + dependencies: ["727B43FD95C4A512"] + id: "0AF5F19F5D9FB5C9" + tasks: [{ + id: "4F4219EDA9C5F9F7" + type: "item" + item: "minecraft:sand" + consume_items: false + }] + } + { + title: "Quartz Seeds" + x: -6.0d + y: 6.5d + shape: "circle" + subtitle: "Contraption 12-1" + description: [ + "This piece of quartz is too small. With enough water we might get somewhere." + "" + "If you're not too stoked about waiting hours on crystal growth, you can set up Water Spouts to greatly accellerate the process. " + ] + dependencies: [ + "0AF5F19F5D9FB5C9" + "2FFFE1C5366930BB" + ] + dependency_requirement: "one_completed" + id: "345B94F6D17605CD" + tasks: [{ + id: "4D592B701A2AE0BC" + type: "item" + item: "appliedenergistics2:certus_crystal_seed" + consume_items: false + }] + } + { + title: "Growth Started" + icon: "kubejs:tiny_certus_crystal" + x: -5.5d + y: 8.0d + shape: "circle" + subtitle: "Contraption 12-2" + description: ["Needs more Water."] + dependencies: ["345B94F6D17605CD"] + id: "34A1D176C78FB64E" + tasks: [{ + id: "28DDF51DB85DCF7D" + type: "checkmark" + }] + } + { + title: "Growth Continued" + icon: "kubejs:small_certus_crystal" + x: -4.0d + y: 8.5d + shape: "circle" + subtitle: "Contraption 12-3" + description: ["Just keep spouting it."] + dependencies: ["34A1D176C78FB64E"] + id: "1642A27606A34984" + tasks: [{ + id: "30E8BB6958ED4A44" + type: "checkmark" + }] + } + { + title: "Growth Completed" + icon: "appliedenergistics2:purified_certus_quartz_crystal" + x: -2.5d + y: 8.0d + subtitle: "Contraption 12-4" + description: ["Finally, a fully grown crystal. Don't forget to send every second one back around for seed production!"] + dependencies: ["1642A27606A34984"] + id: "1861E583C9DAA0BA" + tasks: [ + { + id: "68D808533C34AB5C" + type: "item" + item: "appliedenergistics2:purified_certus_quartz_crystal" + consume_items: false + } + { + id: "5143762A67B81B7E" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Water Supply" + icon: "minecraft:water_bucket" + x: -3.0d + y: 4.5d + description: ["The contraptions of Chapter 2 require a healthy supply of water. The easiest way is to pull from water sources directly using Mechanical Pumps and a fluid pipe network."] + hide_dependency_lines: true + dependencies: ["727B43FD95C4A512"] + id: "2FFFE1C5366930BB" + tasks: [ + { + id: "1A9DB3A538856229" + type: "item" + item: "minecraft:water_bucket" + consume_items: false + } + { + id: "2DC358D8174FC867" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Skystone Infini-mill" + icon: "appliedenergistics2:sky_dust" + x: -1.0d + y: 4.0d + subtitle: "Contraption 11" + description: [ + "You can just keep on pulverising it. Sky Stone blocks never seem to lose mass in the process. What a world we live in!" + "" + "Find Sky Stone Blocks at Meteor crash sites. If you haven't encountered any, try looking for one using the Meteorite compass." + ] + hide_dependency_lines: true + dependencies: ["727B43FD95C4A512"] + id: "4F95D5136E944ADB" + tasks: [ + { + id: "69C6513B25BB6ABA" + type: "item" + item: "appliedenergistics2:sky_dust" + consume_items: false + } + { + id: "3C8D449468C6DD27" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Skystone Mixer" + icon: "tconstruct:molten_obsidian_bucket" + x: -1.0d + y: 5.5d + subtitle: "Contraption 13-1" + description: ["Dissolving this strange reactive powder in water creates a fun and useful liquid."] + dependencies: [ + "2FFFE1C5366930BB" + "4F95D5136E944ADB" + ] + id: "1256352748B93449" + tasks: [ + { + id: "36E36D584FCBC358" + type: "item" + item: "tconstruct:molten_obsidian_bucket" + consume_items: false + } + { + id: "1CB43671DBA7EBB6" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Charged Mixer" + icon: "thermal:redstone_bucket" + x: -0.5d + y: 7.0d + subtitle: "Contraption 13-2" + description: [ + "Discharging an Energized Certus Quartz Crystal into the liquid creates a solution that reminds you of liquid redstone." + "" + "Notice that the mixing process returns an inert quartz ready to be recharged using Contraption 14." + ] + dependencies: [ + "1256352748B93449" + "24FFFE0FC9EAEF8D" + ] + dependency_requirement: "one_completed" + id: "619E34A7DE48B991" + tasks: [ + { + id: "5F47790124641B2D" + type: "item" + item: "thermal:redstone_bucket" + consume_items: false + } + { + id: "4B98217B670ECA57" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Get Melted" + icon: { + id: "tconstruct:copper_can" + Count: 1b + tag: { + fluid: "tconstruct:molten_iron" + } + } + x: 1.0d + y: 9.5d + subtitle: "Contraption 15-4" + description: ["Route the nuggets into your High-Temperature melting equipment. A Melter from Tinkers' Construct, for example."] + dependencies: ["53735DC4231AB566"] + id: "2167272204B6627B" + tasks: [ + { + id: "611F921F94FAE142" + type: "item" + title: "Copper Can (Molten Iron)" + item: { + id: "tconstruct:copper_can" + Count: 1b + tag: { + fluid: "tconstruct:molten_iron" + } + } + consume_items: false + } + { + id: "75C982848F2CEA85" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Second Coating Layer" + icon: "create:electron_tube" + x: -0.5d + y: 10.0d + subtitle: "Contraption 15-5" + description: ["Spout a droplet of Molten Iron onto the Rose Quartz Crystal to create a fully functional Electron Tube."] + dependencies: [ + "2167272204B6627B" + "06B061C0EE94BC90" + ] + id: "5351AF6CA73CB8E0" + tasks: [ + { + id: "163B1579092E6BD3" + type: "item" + item: "create:electron_tube" + consume_items: false + } + { + id: "1D7C84803766FD04" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The (Re-)Charger" + icon: "appliedenergistics2:charged_certus_quartz_crystal" + x: 1.0d + y: 6.0d + subtitle: "Contraption 14" + description: [ + "Set up a little cycle to recharge any Certus Quartz used as a Catalyst in Contraption 13-2." + "" + "The Charger from AE2 can be used here, along with the Item Trasportation of choice." + ] + hide_dependency_lines: true + dependencies: ["1256352748B93449"] + id: "24FFFE0FC9EAEF8D" + tasks: [ + { + id: "23DAE14596F025DF" + type: "item" + item: "appliedenergistics2:charged_certus_quartz_crystal" + consume_items: false + } + { + id: "56F78EAD35D1046E" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Iron for Days" + icon: "minecraft:cobblestone" + x: 3.5d + y: 7.0d + subtitle: "Contraption 15-1" + description: [ + "Known in the business as the 'Iron Generator', you will now be creating metal from Cobblestone." + "" + "Start with some Drills hooked up to regenerating Cobblestone blocks." + ] + hide_dependency_lines: true + dependencies: ["727B43FD95C4A512"] + id: "0E46C1FCE5AEB1DF" + tasks: [ + { + id: "7E68B8C4958FB0B5" + type: "item" + item: "minecraft:cobblestone" + consume_items: false + } + { + id: "5E676D2CC5975AEA" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Keep on Deploying" + icon: "create:precision_mechanism" + x: -1.0d + y: 11.5d + subtitle: "Contraption 16" + description: ["Bringing together Electron Tubes and Kinetic Mechanisms using a row of Deployers concludes your second Assembly Line."] + dependencies: [ + "5351AF6CA73CB8E0" + "6D8BB2D6A75ABB16" + ] + id: "19715EBCBBA1B4AD" + tasks: [ + { + id: "4DF52040884AB28D" + type: "item" + item: "create:precision_mechanism" + consume_items: false + } + { + id: "002032AE65148DBD" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Chapter 2 Complete!" + x: -1.0d + y: 13.5d + shape: "hexagon" + description: [ + "Congrats! Now you have a passive supply of Precision Mechanisms. Think of all the options you have access to!" + "" + "After cleaning up and briefly scanning for bottlenecks, go ahead and check back with the Overview section." + ] + dependencies: ["19715EBCBBA1B4AD"] + size: 2.0d + id: "7FC4D1E69377271D" + tasks: [{ + id: "4C32A887DA89A75C" + type: "item" + item: "kubejs:brass_machine" + consume_items: false + }] + rewards: [ + { + id: "54E81DC78E539FDD" + type: "item" + item: "create:precision_mechanism" + count: 16 + } + { + id: "7A797A069B28AE89" + type: "item" + item: "appliedenergistics2:certus_quartz_crystal" + random_bonus: 4 + } + { + id: "11BF1DF6EF76569B" + type: "item" + item: "create:brass_ingot" + random_bonus: 4 + } + ] + } + { + title: "De-Chunkify" + icon: "minecraft:gravel" + x: 4.0d + y: 9.0d + subtitle: "Contraption 15-2" + description: ["The Cobblestone first needs to be milled down into Gravel."] + dependencies: ["0E46C1FCE5AEB1DF"] + id: "1139F2E4E6FCFE29" + tasks: [ + { + id: "517441AE19EF30E2" + type: "item" + item: "minecraft:gravel" + consume_items: false + } + { + id: "63F3877902E01590" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Ferric Traces" + icon: "minecraft:iron_nugget" + x: 2.5d + y: 10.0d + subtitle: "Contraption 15-3" + description: ["Washing the Gravel with an Encased Fan leaves you with Iron Nuggets and Flint."] + dependencies: ["1139F2E4E6FCFE29"] + id: "53735DC4231AB566" + tasks: [ + { + id: "591D709D1E4EE97A" + type: "item" + item: "minecraft:iron_nugget" + consume_items: false + } + { + id: "64B405696E96FFCD" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Painted Quartz Mixer" + icon: "create:polished_rose_quartz" + x: -1.0d + y: 8.5d + subtitle: "Contraption 13-3" + description: [ + "In a third and final Mixer, our freshly grown Crystals will be treated to a nice and energetic re-design." + "(Sorry to all Mineralogists.)" + ] + dependencies: [ + "1861E583C9DAA0BA" + "619E34A7DE48B991" + ] + id: "06B061C0EE94BC90" + tasks: [ + { + id: "0AD0021818A0BB33" + type: "item" + item: "create:polished_rose_quartz" + consume_items: false + } + { + id: "0F6DB8FCC5C16A94" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Heated Treatment" + x: -1.0d + y: 17.5d + shape: "circle" + subtitle: "Contraption 18-2" + description: [ + "Dropping the Liquids onto a Precision Mechanism will convert it to its Infernal counterpart." + "" + "Once again, full automation of bonus mechanisms is not as pressing a task, since they do not lead to any further machines beyond their own." + "A semi-automatic setup for converting Precision Mechanisms whenever needed should suffice." + ] + dependencies: [ + "239C64263B91350D" + "1D9D65FBD06DD481" + ] + id: "3C50B4556375178E" + tasks: [{ + id: "24070D354D67A3DF" + type: "item" + item: "kubejs:infernal_mechanism" + consume_items: false + }] + } + { + title: "A lot. of lava" + icon: "minecraft:lava_bucket" + x: -2.5d + y: 17.0d + subtitle: "Contraption 18-1" + description: [ + "" + "Every Zinc Machine will end up using 24 Buckets of Lava in Production. It's not a great ecological footprint, but even just one Hose Pulley can make quick work of it." + ] + hide_dependency_lines: true + dependencies: [ + "19715EBCBBA1B4AD" + "21753CBB528EAADF" + ] + hide: true + id: "1D9D65FBD06DD481" + tasks: [ + { + id: "4A9BF979E823D4CB" + type: "item" + item: "minecraft:lava_bucket" + consume_items: false + } + { + id: "73BF4F3B488FBC83" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Soul Distillery" + icon: "tconstruct:liquid_soul_bucket" + x: -1.0d + y: 16.0d + subtitle: "Contraption 17-3" + description: ["Drop all the harvested vines into a Heated Mixing Basin."] + dependencies: [ + "223BB57AD0239511" + "7E59B7DC239E621E" + "5DCF9C8212AA3BE3" + ] + id: "239C64263B91350D" + tasks: [ + { + id: "7BBC2AAED0A77FDC" + type: "item" + item: "tconstruct:liquid_soul_bucket" + consume_items: false + } + { + id: "21C241D2335C67E4" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Double Decker I" + icon: "minecraft:twisting_vines" + x: -3.0d + y: 15.5d + subtitle: "Contraption 17-1" + description: [ + "For the all-mighty Infernal Mechanism, a bountiful source of soul essence is needed. Thankfully, the vines of the underworld seem to carry it in them." + "" + "Twisting Vines grow upwards, you can gather them using Mechanical Harvesters." + ] + hide_dependency_lines: true + dependencies: [ + "19715EBCBBA1B4AD" + "21753CBB528EAADF" + ] + hide: true + id: "223BB57AD0239511" + tasks: [ + { + id: "70EA8B8349BC13D1" + type: "item" + item: "minecraft:twisting_vines" + consume_items: false + } + { + id: "6F7A49C7C377ABF1" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Double Decker II" + icon: "minecraft:weeping_vines" + x: 1.0d + y: 15.5d + subtitle: "Contraption 17-2" + description: [ + "Weeping Vines grow downwards from a ceiling. You can gather them with Mechanical Harvesters." + "" + "For style points, you can use the same contraption to harvest both vine types simultaneously." + ] + hide_dependency_lines: true + dependencies: [ + "19715EBCBBA1B4AD" + "21753CBB528EAADF" + ] + hide: true + id: "7E59B7DC239E621E" + tasks: [ + { + id: "57EC8E4703FADF5E" + type: "item" + item: "minecraft:weeping_vines" + consume_items: false + } + { + id: "6149AB838FC42C17" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Arming the Deployer II" + x: -2.5d + y: 11.5d + shape: "circle" + description: [ + "It'll be good to stock up on a couple of screwdrivers for the Mechanism Assembly." + "Just like last time, the requirement does not necessarily call for automation." + ] + hide_dependency_lines: true + dependencies: ["5351AF6CA73CB8E0"] + id: "6D8BB2D6A75ABB16" + tasks: [{ + id: "7DF53EF0CF55B5D7" + type: "item" + item: { + id: "projectred-core:screwdriver" + Count: 1b + tag: { + Damage: 0 + } + } + consume_items: false + }] + } + { + title: "Bonus 2A Complete!" + x: -1.0d + y: 19.5d + shape: "hexagon" + description: ["Fantastic Work! You have mastered the challenges of the nether; you couldn't be more well-prepared for the upcoming Assembly Line."] + dependencies: ["3C50B4556375178E"] + size: 2.0d + id: "047FD4E54147D8F7" + tasks: [{ + id: "5D828A5601F86224" + type: "item" + item: "kubejs:zinc_machine" + consume_items: false + }] + rewards: [ + { + id: "5868F4AF0FBE0295" + type: "item" + item: "kubejs:infernal_mechanism" + count: 16 + } + { + id: "02A669ED33AA71DC" + type: "item" + item: "minecraft:blaze_powder" + random_bonus: 4 + } + { + id: "2BAEB1D62B8D3701" + type: "item" + item: "minecraft:gold_ingot" + random_bonus: 4 + } + ] + } + { + title: "The Alloy Mixer" + icon: "create:brass_ingot" + x: 1.0d + y: 2.0d + shape: "circle" + subtitle: "Contraption 10" + description: [ + "Not part of the Mechanism Chain, yet very important for creating relevant machines." + "" + "Using Melters, Fluid Pipes and a Mechanical Mixer, you can create a couple of different metal alloys. Brass is one of them." + "" + "Pumping the Molten Alloy into a Casting Table or Basin will Solidify it into usable Ingots." + "" + "For less hassles with manual effort, it is recommended to set up Ingot-to-Ingot semi-automation for creating Alloys using the setup above." + ] + hide_dependency_lines: false + dependencies: ["727B43FD95C4A512"] + id: "174E3A810535CAAC" + tasks: [{ + id: "4418A795B9FB076D" + type: "checkmark" + }] + } + { + title: "Blaze Escort" + x: 0.5d + y: 17.0d + shape: "circle" + description: ["For the first time in the progression, a Blaze Burner is required. Obtain them by using Empty Blaze Burners on Blazes or their Spawners."] + hide_dependency_lines: true + dependencies: [ + "19715EBCBBA1B4AD" + "21753CBB528EAADF" + ] + hide: true + id: "5DCF9C8212AA3BE3" + tasks: [{ + id: "3BBAFB33D9E2BB24" + type: "item" + item: "create:blaze_burner" + consume_items: false + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/stage_3.snbt b/src/overrides/config/ftbquests/backup/chapters/stage_3.snbt new file mode 100644 index 0000000..7c9b917 --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/stage_3.snbt @@ -0,0 +1,1201 @@ +{ + id: "052B4DEA706D3A24" + group: "331B6409EF6A7840" + order_index: 3 + filename: "stage_3" + title: "&f3&r The Catharsis" + icon: "thermal:machine_frame" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Chapter 3 Start!" + icon: "create:precision_mechanism" + x: -1.5d + y: -1.0d + shape: "hexagon" + description: [ + "Working towards a passive supply of Radiant Induction Coils, you'll be sure to encounter some new and unfamiliar tasks. " + "" + "Once again it's time to grab the Wrench, re-stock the toolbox and to clear out a new plot." + "" + "Happy Creating!" + ] + dependencies: ["780E8AE86250C73D"] + hide: true + size: 2.0d + id: "397232F676CB621B" + tasks: [{ + id: "2236686383D4E61B" + type: "checkmark" + }] + rewards: [{ + id: "296358DF5AEC671C" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "Let there be light" + icon: "minecraft:torch" + x: -6.5d + y: 3.5d + shape: "circle" + subtitle: "Contraption 27" + description: [ + "The production of Refined Radiance requires either a steady supply of light emitting blocks, or an active Beacon Beam." + "" + "Choose which path you would like to take, and provide necessary preparation/automation." + ] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "3025B5861FE17ADF" + tasks: [{ + id: "7FB92D9DB34672AE" + type: "checkmark" + }] + } + { + title: "Your Favourite Colour" + icon: "minecraft:rose_bush" + x: 0.0d + y: 7.0d + subtitle: "Contraption 25" + description: ["For production of chromatic materials, a colour pigment is needed. It is up to you which colour dye should be automated for this purpose. The only exception is white dye."] + dependencies: ["402F89CABF6BCDA4"] + id: "27C191346BB14D9D" + tasks: [ + { + id: "6C47C95A06683D71" + type: "item" + title: "Dyes except White" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "minecraft:light_blue_dye" + Count: 1b + } + { + id: "minecraft:magenta_dye" + Count: 1b + } + { + id: "minecraft:gray_dye" + Count: 1b + } + { + id: "minecraft:light_gray_dye" + Count: 1b + } + { + id: "minecraft:pink_dye" + Count: 1b + } + { + id: "minecraft:lime_dye" + Count: 1b + } + { + id: "minecraft:yellow_dye" + Count: 1b + } + { + id: "minecraft:orange_dye" + Count: 1b + } + { + id: "minecraft:cyan_dye" + Count: 1b + } + { + id: "minecraft:purple_dye" + Count: 1b + } + { + id: "minecraft:blue_dye" + Count: 1b + } + { + id: "minecraft:brown_dye" + Count: 1b + } + { + id: "minecraft:green_dye" + Count: 1b + } + { + id: "minecraft:red_dye" + Count: 1b + } + { + id: "minecraft:black_dye" + Count: 1b + } + ] + } + } + consume_items: false + } + { + id: "32E697E9386ABF17" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Spectral Correction (Red)" + x: -0.85d + y: 9.0d + shape: "circle" + description: [ + "Crushing Dyed Singularities has a chance to yield little orbs of red colour." + "" + "Since this is not the colour needed for chromatic compound, you can use Item Drains for frequency correction." + ] + dependencies: ["2CCD84D55DE71EB2"] + id: "3B421C8F7947E542" + tasks: [{ + id: "26CA0A31856D4445" + type: "item" + item: "appliedenergistics2:red_paint_ball" + consume_items: false + }] + } + { + title: "Spectral Correction (Yellow)" + x: -2.0d + y: 9.0d + shape: "circle" + description: [ + "Crushing Dyed Singularities has a chance to yield little orbs of yellow colour, aswell." + "" + "Much like the red ones, these have to be drained once again to shift the frequency in the right direction." + ] + dependencies: [ + "2CCD84D55DE71EB2" + "3B421C8F7947E542" + ] + id: "381F8F373605BB97" + tasks: [{ + id: "629CDAD0644963F4" + type: "item" + item: "appliedenergistics2:yellow_paint_ball" + consume_items: false + }] + } + { + title: "Spectral Correction (Green)" + x: -3.0d + y: 8.5d + shape: "circle" + description: ["The cycle continues. "] + dependencies: [ + "2CCD84D55DE71EB2" + "381F8F373605BB97" + ] + id: "6A76E65324F0ACC0" + tasks: [{ + id: "4BBF150A1DD3A0AF" + type: "item" + item: "appliedenergistics2:green_paint_ball" + consume_items: false + }] + } + { + title: "Spectral Correction (Blue)" + x: -3.5d + y: 7.5d + shape: "circle" + description: ["Being almost there, all the Paint Balls now brought to the blue frequency will have to be run through the Item Drain one last time."] + dependencies: [ + "2CCD84D55DE71EB2" + "6A76E65324F0ACC0" + ] + id: "302FCD205CC2F708" + tasks: [{ + id: "16C40B4F7D56B9C9" + type: "item" + item: "appliedenergistics2:blue_paint_ball" + consume_items: false + }] + } + { + title: "Spectral Correction (Magenta)" + icon: "appliedenergistics2:magenta_paint_ball" + x: -3.5d + y: 6.35d + subtitle: "Contraption 26-2" + description: ["Magenta Paint Balls contain the essence needed for production of Chromatic Compound. Some will come directly from the crushed singularity, but the majority can be obtained by spectral correction on the other colours."] + dependencies: [ + "2CCD84D55DE71EB2" + "302FCD205CC2F708" + ] + id: "3BE15AA5C237AB80" + tasks: [ + { + id: "5DF1A84700EB5D15" + type: "item" + item: "appliedenergistics2:magenta_paint_ball" + consume_items: false + } + { + id: "27D5CBB137116AB1" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Colours Refined" + icon: { + id: "create:chromatic_compound" + Count: 1b + tag: { } + } + x: -5.0d + y: 6.35d + subtitle: "Contraption 26-3" + description: ["Use Mechanical Crafters once more to refine the paint orbs into Chromatic Compound."] + dependencies: ["3BE15AA5C237AB80"] + id: "7B23C933D76458BA" + tasks: [ + { + id: "2F334C3D67DE059C" + type: "item" + item: { + id: "create:chromatic_compound" + Count: 1b + tag: { } + } + consume_items: false + } + { + id: "27A8B7785CAB07C8" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Throwing Flash" + icon: "create:refined_radiance" + x: -6.5d + y: 6.35d + subtitle: "Contraption 28-1" + description: [ + "When dropped as an item, Chromatic Compound will absorb light around itself and eventually turn into Refined Radiance. Choose one of three approaches:" + "" + "- Autoplacing light emitting blocks near the dropped compound items (blocks need line of sight to item)" + "" + "- Supplying light emitting blocks as items on nearby depots/belts (blocks need line of sight to item)" + "" + "- Throwing the compound into a Beacon Beam for free and instant conversion" + ] + dependencies: [ + "3025B5861FE17ADF" + "7B23C933D76458BA" + ] + id: "286510750C333C1F" + tasks: [ + { + id: "7EF8C778FDE54DC1" + type: "item" + item: "create:refined_radiance" + consume_items: false + } + { + id: "2DC30322D81D9999" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Neon lights" + icon: "kubejs:radiant_coil" + x: -4.0d + y: 11.0d + subtitle: "Contraption 28-3" + description: ["And finally, one last Crafter to cut and wind up the radiant sheet into an Induction Coil."] + dependencies: ["410FF28B63E0FC0C"] + id: "626A7D9947D82B89" + tasks: [ + { + id: "3AF0E2934C047AA3" + type: "item" + item: "kubejs:radiant_coil" + consume_items: false + } + { + id: "27C737E08A9027A5" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "More Cobblestone" + icon: "minecraft:cobblestone" + x: -1.5d + y: 1.0d + subtitle: "Contraption 20-1" + description: ["The trusty and cheap multi-purpose material of cobblestone is making its comeback."] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "5C277D27606F64DA" + tasks: [ + { + id: "35C10E79F8F1E0DF" + type: "item" + title: "Any Cobblestone" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "forge:cobblestone" + } + } + consume_items: false + } + { + id: "36BD580312C8177B" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Deploy the Payload" + icon: "kubejs:inductive_mechanism" + x: -1.5d + y: 11.5d + subtitle: "Contraption 29" + description: ["You know the drill. It is time to upgrade your previously automated Precision Mechanisms to the next level!"] + dependencies: [ + "59D2104DB6AE93FD" + "626A7D9947D82B89" + ] + id: "6CBA3D97CAD5DB63" + tasks: [ + { + id: "153D599D82983310" + type: "item" + item: "kubejs:inductive_mechanism" + consume_items: false + } + { + id: "057A05C13C55ABC4" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Chapter 3 Complete!" + x: -1.5d + y: 13.5d + shape: "hexagon" + description: [ + "Congrats! Inductive Mechanisms will now be generated passively. This opens the door to new exciting technological and magical exploits!" + "" + "Once you are happy with the Assembly Line, head on back to the overview. There will be new options to explore." + ] + dependencies: ["6CBA3D97CAD5DB63"] + size: 2.0d + id: "3A63A48662F352CB" + tasks: [{ + id: "6F268D7B84CB1DB7" + type: "item" + item: "thermal:machine_frame" + consume_items: false + }] + rewards: [ + { + id: "002FAA00240A80FD" + type: "item" + item: "kubejs:inductive_mechanism" + count: 16 + } + { + id: "494BEA0CE2C8AF74" + type: "item" + item: "minecraft:glowstone_dust" + random_bonus: 4 + } + { + id: "5E5F5C257C45D344" + type: "item" + item: "thermal:invar_ingot" + random_bonus: 4 + } + ] + } + { + title: "Inception" + icon: "appliedenergistics2:singularity" + x: -1.5d + y: 4.0d + subtitle: "Contraption 20-3" + description: ["By Crushing the Crushing Wheels using Crushing Wheels, a strange anomaly is created and dropped. We can use this to our advantage."] + dependencies: ["7AAE71F57FB89BCC"] + id: "2C81D358594C4352" + tasks: [ + { + id: "5BF8BF7A24029B57" + type: "item" + item: "appliedenergistics2:singularity" + consume_items: false + } + { + id: "09AAD9853B976D69" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Reactor" + icon: "appliedenergistics2:quantum_entangled_singularity" + x: -1.5d + y: 5.5d + subtitle: "Contraption 24" + description: [ + "Here comes the central feature of this Factory Wing: the Reactor." + "" + "Progressing towards Inductive Coils requires a controlled Explosion where nearby Singularities and Ender Dust are combined. See if you can come up with a circuit to continuously blow up these dropped item-stacks." + "" + "Note: Ender dust and Singularities are consumed in a 1:1 ratio. They do not have to be in the exact same location. One TNT can transform multiple sets of ingredients. The result will drop at the location of the Singularity item." + ] + dependencies: [ + "02B2E249421FAE58" + "2C81D358594C4352" + "375C9A43FE5620B6" + ] + id: "5A199B898D41A309" + tasks: [ + { + id: "63C5611154B9B124" + type: "item" + item: "appliedenergistics2:quantum_entangled_singularity" + consume_items: false + } + { + id: "3A68EA184DE4D9B4" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Checker Crafters" + icon: "minecraft:tnt" + x: 0.0d + y: 4.0d + subtitle: "Contraption 23-2" + description: ["Use Mechanical Crafters to build TNT. Since most of its slots will have to be supplied individually, a mechanical Arm might help for provinding the necessary logistics."] + dependencies: [ + "5F9BA7BA46D2E5B8" + "050A20198A80CF1A" + ] + id: "02B2E249421FAE58" + tasks: [ + { + id: "39C8F3F28C7A271C" + type: "item" + item: "minecraft:tnt" + consume_items: false + } + { + id: "2AD912C0E25F5D65" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Cooking up some Gunpowder" + icon: "minecraft:gunpowder" + x: 1.5d + y: 4.0d + subtitle: "Contraption 22-2" + description: [ + "Transmuting the green reactive blend requires very special heating conditions, only available on Campfires or Stoves." + "" + "This Contraption will need the special ability to both place and collect items from these places." + ] + dependencies: [ + "3D1EEB596FDBE4E7" + "016864AD0C9247B9" + ] + dependency_requirement: "one_completed" + id: "050A20198A80CF1A" + tasks: [ + { + id: "65AD93315DC72371" + type: "item" + item: "minecraft:gunpowder" + consume_items: false + } + { + id: "34EFEE60A6755C01" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "More Sand" + icon: "minecraft:sand" + x: 0.0d + y: 1.0d + subtitle: "Contraption 23-1" + description: ["Sand will be required to build the Explosives needed for the Reactor. Thankfully, new standards have allowed you access to Crushing Wheels, which make sand production a lot less of a nuisance."] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "5F9BA7BA46D2E5B8" + tasks: [ + { + id: "1127E4C296ED5A31" + type: "item" + item: "minecraft:sand" + consume_items: false + } + { + id: "2A3EAC60765E5C7A" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Cooking up some Ender Dust" + icon: "appliedenergistics2:ender_dust" + x: 1.5d + y: 5.5d + subtitle: "Contraption 22-3" + description: [ + "Transmuting the purple reactive blend requires very special heating conditions, only available on Campfires or Stoves." + "" + "This Contraption will need the special ability to both place and collect items from these places." + ] + dependencies: [ + "3D1EEB596FDBE4E7" + "016864AD0C9247B9" + ] + dependency_requirement: "one_completed" + id: "375C9A43FE5620B6" + tasks: [ + { + id: "74E8DBEBD9AA5D72" + type: "item" + item: "appliedenergistics2:ender_dust" + consume_items: false + } + { + id: "37A6393C0AD6E861" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Painting Space itself" + icon: "kubejs:dye_entangled_singularity" + x: -1.5d + y: 7.0d + subtitle: "Contraption 26-1" + description: ["Mixing the Entangled Singularities with a dye of choice creates the very essence of colour! Just what we need for producing a perfected chromatic compound."] + dependencies: [ + "27C191346BB14D9D" + "5A199B898D41A309" + ] + id: "2CCD84D55DE71EB2" + tasks: [ + { + id: "1A034719E3B94207" + type: "item" + item: "kubejs:dye_entangled_singularity" + consume_items: false + } + { + id: "4B4BDAA9DFB0518A" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Bonus 3A Complete!" + x: -1.5d + y: 21.0d + shape: "hexagon" + description: ["Marvellous! The power of instant transportation is in your hands at last. Surely there are some places in your factory where this could really speed things up."] + dependencies: ["6DBEF7A11890ADF8"] + size: 2.0d + id: "4EDD9A8F14E48EAE" + tasks: [{ + id: "314DEBB9F9DE70F4" + type: "item" + item: "kubejs:enderium_machine" + consume_items: false + }] + rewards: [ + { + id: "2445637181E32B19" + type: "item" + item: "kubejs:abstruse_mechanism" + count: 16 + } + { + id: "6884BD55CF5F5676" + type: "item" + item: "minecraft:ender_pearl" + random_bonus: 4 + } + { + id: "1383A8E9F3AC725D" + type: "item" + item: "thermal:enderium_ingot" + random_bonus: 4 + } + ] + } + { + title: "Enderium Infused" + x: -1.5d + y: 19.0d + shape: "circle" + description: ["And finally, upgrade some of your Inductive Mechanisms in the Smelter using the newly obtained Alloy."] + dependencies: ["7B080B5C87247EA1"] + id: "6DBEF7A11890ADF8" + tasks: [{ + id: "6F8624E071829779" + type: "item" + item: "kubejs:abstruse_mechanism" + consume_items: false + }] + } + { + title: "Gateway Expedition" + x: 0.0d + y: 17.5d + shape: "circle" + description: [ + "After your flawless encounter with the Ender Dragon, make your way to the Gateway and travel to the outer Islands." + "" + "Here you should be able to find the poise bushes necessary for creating Enderium Alloy." + ] + dependencies: ["05C7E580ED88B556"] + id: "794B3C10C6110CB5" + tasks: [{ + id: "7E7DF9C3DCFF0724" + type: "item" + item: "endergetic:tall_poise_bush" + consume_items: false + }] + } + { + title: "The Poise Cycle" + icon: "endergetic:poise_cluster" + x: 0.0d + y: 19.5d + shape: "circle" + description: ["Thanks to Inductive Technology, you have the option to replicate Poise Bushes passively, should you require a steadier and more convenient supply of Enderium."] + dependencies: ["794B3C10C6110CB5"] + id: "1CCDA748B237F6F5" + tasks: [{ + id: "05F0DE924816E7F5" + type: "item" + item: "thermal:machine_insolator" + consume_items: false + }] + rewards: [{ + id: "6B1ECF8BD760D03E" + type: "item" + item: "thermal:phytogro" + count: 16 + }] + } + { + title: "Alien Alloys" + x: -1.5d + y: 18.0d + shape: "circle" + description: [ + "Fire up your Induction Smelter for two rounds of processing:" + "" + "First off, refine your Silver Ingots with Ender Dust and Poise Bushes." + ] + dependencies: [ + "0D146AD9FE774F8B" + "794B3C10C6110CB5" + "3BFC4DFCE765F3EA" + ] + id: "7B080B5C87247EA1" + tasks: [{ + id: "0EC104535857B542" + type: "item" + item: "thermal:enderium_ingot" + consume_items: false + }] + } + { + title: "Insert Coin" + x: -3.0d + y: 15.0d + shape: "circle" + description: [ + "The Special properties of Silver can prove useful in creating Enderium Alloy." + "" + "As it turns out, the only source of Silver seems to be your money. Makes you wonder where the official mints get it from.." + ] + hide_dependency_lines: true + dependencies: [ + "2BB2C7B95E3C89AE" + "6CBA3D97CAD5DB63" + ] + hide: true + id: "38B063C8DE71E86D" + tasks: [{ + id: "3B8AF2614A9EE681" + type: "item" + item: "thermal:silver_coin" + consume_items: false + }] + } + { + title: "Dissolved" + x: -1.5d + y: 15.5d + shape: "circle" + description: ["Take the coins and throw them into your Smeltery. Watch out: this is an irreversible process."] + dependencies: ["38B063C8DE71E86D"] + id: "0C11EC34D5FA508B" + tasks: [{ + id: "1E9F96D2152F7384" + type: "item" + title: "Copper Can (Molten Silver)" + item: { + id: "tconstruct:copper_can" + Count: 1b + tag: { + fluid: "tconstruct:molten_silver" + } + } + }] + } + { + title: "Not the End" + icon: "minecraft:end_portal_frame" + x: 0.0d + y: 15.0d + shape: "circle" + description: ["The Secrets to Teleportation lie behind the dimensional gate to the End."] + hide_dependency_lines: true + dependencies: [ + "6CBA3D97CAD5DB63" + "2BB2C7B95E3C89AE" + ] + hide: true + id: "05C7E580ED88B556" + tasks: [{ + id: "4E429C9E118BA2C7" + type: "item" + item: "minecraft:end_stone" + consume_items: false + }] + } + { + title: "Arming the Deployer III" + x: 0.0d + y: 11.5d + shape: "circle" + description: [ + "It'll be good to stock up on a couple of resonators for the Mechanism Assembly." + "Don't worry about automating them fully, though." + ] + hide_dependency_lines: true + dependencies: ["626A7D9947D82B89"] + id: "59D2104DB6AE93FD" + tasks: [{ + id: "6334526E14C21487" + type: "item" + item: { + id: "kubejs:chromatic_resonator" + Count: 1b + tag: { + Damage: 0 + } + } + consume_items: false + }] + } + { + title: "Express Sticks" + icon: "minecraft:stick" + x: -3.0d + y: 1.0d + subtitle: "Contraption 19" + description: ["For this next trick a supply of Wooden Sticks is required. Whether that calls for a new harvester or just a scheduled shipment from Contraption 1 is up to you."] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "194B973EAF17809C" + tasks: [ + { + id: "293DC3FF985B575B" + type: "item" + item: "minecraft:stick" + consume_items: false + } + { + id: "435C3E443BCC9176" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Wall" + icon: "create:crushing_wheel" + x: -1.5d + y: 2.5d + subtitle: "Contraption 20-2" + description: [ + "Next up, we need Crushing Wheels. Not only as a machine, but as an ingredient, too." + "" + "Walls of Mechanical Crafters can quickly get in the way of paths and other infrastructure. Make sure to give them some space." + ] + dependencies: [ + "194B973EAF17809C" + "5C277D27606F64DA" + ] + id: "7AAE71F57FB89BCC" + tasks: [ + { + id: "716CDC854FF1E8C2" + type: "item" + item: "create:crushing_wheel" + consume_items: false + } + { + id: "764E76A93ED07203" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Toxic Byproducts" + icon: "tconstruct:molten_ender_bucket" + x: 0.5d + y: 9.0d + shape: "circle" + description: ["Draining paint balls creates a significant amount of liquid byproduct, which has to be disposed of before it starts clogging up the production line."] + dependencies: ["3B421C8F7947E542"] + id: "2C40901DB42DD8F8" + tasks: [{ + id: "7058D1CE264D6769" + type: "checkmark" + }] + } + { + title: "Cooking up some Fertiliser" + icon: "minecraft:bone_meal" + x: 1.5d + y: 7.0d + subtitle: "Contraption 22-4" + description: [ + "Transmuting the blue reactive blend requires very special heating conditions, only available on Campfires or Stoves." + "" + "This Contraption will need the special ability to both place and collect items from these places." + ] + dependencies: [ + "3D1EEB596FDBE4E7" + "016864AD0C9247B9" + ] + dependency_requirement: "one_completed" + id: "402F89CABF6BCDA4" + tasks: [ + { + id: "0B625314B34801AA" + type: "item" + item: "minecraft:bone_meal" + consume_items: false + } + { + id: "4002627D52C3A616" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Mysterious Biomass" + icon: "kubejs:sky_slime_fern_paste" + x: 3.5d + y: 4.0d + subtitle: "Contraption 22-1" + description: ["Route the excess leaves into a crusher, in preparation for the upcoming magic trick."] + dependencies: ["38D19F4EC634F33B"] + id: "3D1EEB596FDBE4E7" + tasks: [ + { + id: "3EB8C2219D74126B" + type: "item" + item: "kubejs:ender_slime_fern_paste" + consume_items: false + } + { + id: "4CB87BE063DACC5F" + type: "item" + item: "kubejs:earth_slime_fern_paste" + consume_items: false + } + { + id: "1F0B0F9D72A6F611" + type: "item" + item: "kubejs:sky_slime_fern_paste" + consume_items: false + } + { + id: "65864C0AE5B28091" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Spirit Cycle" + icon: "kubejs:sky_slimy_fern_leaf" + x: 3.5d + y: 2.5d + subtitle: "Contraption 21" + description: [ + "Slimy Ferns have the property of instant regeneration when exposed to Spirit Fire. Much like the Quartz Incubator in the other Factory, we can use this property to create a passive supply." + "" + "The cycle is simple: Cut the fern plant into halves using a Deployer, then throw one of the leaves into Spirit Fire. It is recommended to ensure that all colours of fern are duplicated at similar rates." + "" + "Create Spirit Fire by tossing a Demon's Dream Fruit on the floor and then setting a fire in its space." + "" + "Oh, and keep a backup of each fern somewhere safe." + ] + dependencies: ["01BE1A7FCE79C63D"] + id: "38D19F4EC634F33B" + tasks: [ + { + id: "135871C95B811F71" + type: "item" + item: "kubejs:sky_slimy_fern_leaf" + consume_items: false + } + { + id: "315328866377A0DC" + type: "item" + item: "kubejs:ender_slimy_fern_leaf" + consume_items: false + } + { + id: "65D5A32F475D78B6" + type: "item" + item: "kubejs:earth_slimy_fern_leaf" + consume_items: false + } + { + id: "40B23393B8A6D2E8" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Post-Process" + icon: "kubejs:radiant_sheet" + x: -6.0d + y: 9.0d + subtitle: "Contraption 28-2" + description: [ + "The main work is done. All that's left is a small assembly line to process Refined Radiance into Radiant Coils." + "" + "Start with a Mechanical Press." + ] + dependencies: ["286510750C333C1F"] + id: "410FF28B63E0FC0C" + tasks: [ + { + id: "0B3A86351C4C94D9" + type: "item" + item: "kubejs:radiant_sheet" + consume_items: false + } + { + id: "37BF06FF4255C1B1" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Expensive Bricks" + x: -1.5d + y: 16.5d + shape: "circle" + description: ["Cast the molten silver into an Ingot and admire how shiny it is."] + dependencies: ["0C11EC34D5FA508B"] + id: "0D146AD9FE774F8B" + tasks: [{ + id: "7A7EE0DF809CEDC8" + type: "item" + title: "Silver Ingot" + icon: "thermal:silver_ingot" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "forge:ingots/silver" + } + } + consume_items: false + }] + } + { + title: "Ender for Garnish" + x: -3.0d + y: 17.5d + shape: "circle" + description: ["Set aside some Ender dust from your Reactor. In case your supply is bottlenecked, you can use Ender Pearls, too."] + hide_dependency_lines: true + dependencies: [ + "2BB2C7B95E3C89AE" + "6CBA3D97CAD5DB63" + ] + hide: true + id: "3BFC4DFCE765F3EA" + tasks: [{ + id: "56C6D2D683E35E74" + type: "item" + item: "appliedenergistics2:ender_dust" + consume_items: false + }] + } + { + title: "Slimy Ferns" + icon: "tconstruct:sky_slime_fern" + x: 3.5d + y: 1.0d + shape: "circle" + description: [ + "In order to produce Gunpowder, Bone Meal and Ender Dust, the peculiar 'slimy fern' can be used as an alternative to Monster farms." + "" + "Roam the lands for a bit and look out for egregiously vibrant spots of colour in the vegetation. Don't forget to bring a pair of Shears." + ] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "01BE1A7FCE79C63D" + tasks: [ + { + id: "2967A771F32C223D" + type: "item" + item: "tconstruct:earth_slime_fern" + consume_items: false + } + { + id: "2A559C5996DF8E69" + type: "item" + item: "tconstruct:sky_slime_fern" + consume_items: false + } + { + id: "1EE76BAC230B9232" + type: "item" + item: "tconstruct:ender_slime_fern" + consume_items: false + } + ] + } + { + title: "Overcorrection" + icon: "appliedenergistics2:black_paint_ball" + x: -3.5d + y: 5.0d + shape: "circle" + description: ["Oops! Draining the colour's essence one too many times will create a mundane paint ball not able to be used for further processing."] + dependencies: ["3BE15AA5C237AB80"] + id: "03B7909623F97843" + tasks: [{ + id: "07521D1C50A8B75F" + type: "checkmark" + }] + } + { + title: "I like Mobs, actually" + icon: "minecraft:zombie_head" + x: 3.5d + y: 5.5d + shape: "circle" + subtitle: "Alt. Contraption 21 \\& 22" + description: [ + "An automation alternative to the Spirit Cycle is to set up a Monster Spawner of some kind." + "" + "Click the Checkmark to skip the Fern Duplication Contraption." + ] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "016864AD0C9247B9" + tasks: [{ + id: "53728BDEA8F1938C" + type: "checkmark" + title: "Checkmark" + }] + } + { + title: "Keeping Stock" + x: -3.5d + y: -1.0d + shape: "circle" + description: [ + "A few of the following contraptions involve dropping items on the ground. Whenever a process will not backstack on overflow (e.g. belt items waiting automatically), it is important to toggle the production at certain buffer thresholds." + "" + "More concretely: When the output buffer exceeds 75%, stop producing items. Once it reaches below 25%, start the process up again. This prevents overflow and machines from spewing items everywhere." + "" + "The Stockpile Switch is designed for this purpose exactly. " + ] + dependencies: ["397232F676CB621B"] + id: "472FB03D0E5A38D6" + tasks: [{ + id: "3C38C38462B73396" + type: "item" + item: "create:stockpile_switch" + consume_items: false + }] + rewards: [{ + id: "1DADD3BF4F389910" + type: "item" + item: "create:redstone_link" + count: 2 + }] + } + { + title: "Mechanical Auto Hammer" + icon: "thermal:invar_ingot" + x: 0.5d + y: -1.0d + shape: "circle" + subtitle: "Contraption 30" + description: [ + "Aside from the Inductive Mechanism, Invar Machinery builds on a tough Metal Alloy between Iron and Nickel." + "" + "Since the full refinement process of Invar takes a few lengthy steps, automation is recommended." + ] + dependencies: ["397232F676CB621B"] + id: "26A1E68DA7ACB025" + tasks: [{ + id: "428A5B60D9C268BD" + type: "checkmark" + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/stage_4.snbt b/src/overrides/config/ftbquests/backup/chapters/stage_4.snbt new file mode 100644 index 0000000..59f451b --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/stage_4.snbt @@ -0,0 +1,855 @@ +{ + id: "2FDA7DFC0C684E58" + group: "331B6409EF6A7840" + order_index: 4 + filename: "stage_4" + title: "&f4&r Into the Box" + icon: "chisel:futura/controller_purple" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Chapter 4 Start!" + icon: "kubejs:inductive_mechanism" + x: 1.0d + y: -2.5d + shape: "hexagon" + description: [ + "The next target will be Printed Silicon. As one of two known ways to obtain it, the assembly line will move items, fluids and energy in and out of the new and rather compact Invar Machinery." + "" + "Much like previous chapters, a few new material sources or shipments are required first." + ] + dependencies: ["74CFD83C501C4952"] + hide: true + size: 2.0d + id: "4B80A801A5BE4A01" + tasks: [{ + id: "0C162B64EE377FC8" + type: "checkmark" + }] + rewards: [{ + id: "01697377D270DD3C" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "Ready to Deploy" + icon: "kubejs:calculation_mechanism" + x: 1.0d + y: 7.5d + subtitle: "Contraption 40-2" + description: ["For one last time, a line of Deployers will be needed to upgrade the previous mechanism to the next tier."] + dependencies: [ + "1BF8F3CC8BEBB620" + "71D90A1E5D53FC0A" + ] + id: "6824055533465010" + tasks: [ + { + id: "34B7E632F7FD83DB" + type: "item" + item: "kubejs:calculation_mechanism" + consume_items: false + } + { + id: "48B114D2C0F51F6D" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Chapter 4 Complete!" + x: 1.0d + y: 9.5d + shape: "hexagon" + description: [ + "Great work! The final assembly line is now complete. Your factory just entered the Digital Age." + "" + "New options have opened up in the Overview. Whenever you are ready." + ] + dependencies: ["6824055533465010"] + size: 2.0d + id: "28DAED70768C6A50" + tasks: [{ + id: "3E607053D3B0C552" + type: "item" + item: "appliedenergistics2:controller" + consume_items: false + }] + rewards: [ + { + id: "40B14407CE6BAB56" + type: "item" + item: "kubejs:calculation_mechanism" + count: 16 + } + { + id: "1825E20FFD3BEBFF" + type: "item" + item: "appliedenergistics2:fluix_crystal" + random_bonus: 4 + } + { + id: "3FD881040347300A" + type: "item" + item: "thermal:lead_plate" + random_bonus: 4 + } + ] + } + { + title: "Sand Delivery" + icon: "minecraft:sand" + x: -1.0d + y: -0.5d + subtitle: "Contraption 31-1" + description: ["A new Shipment of Sand should be scheduled, for it is significantly rich in silicon."] + hide_dependency_lines: true + dependencies: ["4B80A801A5BE4A01"] + id: "22202C87352242D6" + tasks: [ + { + id: "54D2F2F87424AB45" + type: "item" + item: "minecraft:sand" + consume_items: false + } + { + id: "58353DEAB0670141" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Ball o' Sand" + icon: "kubejs:sand_ball" + x: -1.0d + y: 0.5d + subtitle: "Contraption 31-2" + description: [ + "First, the raw blocks are washed and refined into small orbs of wet sand." + "" + "Since they could easily collapse, they should never be stacked on top of another. The inductive Fluid Encapsulator should have the necessary precision to generate these reliably." + ] + dependencies: ["22202C87352242D6"] + id: "42F1A649D86DB86D" + tasks: [ + { + id: "05FFE255DDB4E66F" + type: "item" + item: "kubejs:sand_ball" + consume_items: false + } + { + id: "36183F0BBDAA8DB8" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Liquid Sand" + icon: "kubejs:fine_sand_bucket" + x: 1.0d + y: 1.5d + shape: "circle" + description: ["Sifting for Coarse Sand creates a byproduct relevant for further refining the silicon compound."] + dependencies: ["42F1A649D86DB86D"] + id: "4412F3B2827606E4" + tasks: [{ + id: "5C23F9DBF4F2F484" + type: "checkmark" + }] + } + { + title: "Coarse Sand" + icon: "kubejs:rough_sand" + x: -1.0d + y: 1.5d + subtitle: "Contraption 31-3" + description: ["Rolling the sand ball over an item drain reveals the larger chunks contained within."] + dependencies: ["42F1A649D86DB86D"] + id: "0F5AA5DF001DCDF5" + tasks: [ + { + id: "006110328A2D022F" + type: "item" + item: "kubejs:rough_sand" + consume_items: false + } + { + id: "589AB5A61CD95E2F" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Crystalline Sand" + icon: "kubejs:purified_sand" + x: -1.0d + y: 3.0d + subtitle: "Contraption 33-3" + description: ["Enriching coarse sand with earth charges creates Sand Crystals. Not much more processing is left until the Silicon content reaches a state usable for circuits."] + dependencies: [ + "60A8B4C736CE3226" + "0F5AA5DF001DCDF5" + ] + id: "343050A40A3AB1F0" + tasks: [ + { + id: "76715E399222E329" + type: "item" + item: "kubejs:purified_sand" + consume_items: false + } + { + id: "2BE9DD7F346679E2" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Pyrolyzer Round I" + icon: "minecraft:charcoal" + x: 3.0d + y: 0.5d + subtitle: "Contraption 34-2" + description: ["A Pyrolisation process is not strictly required for Charcoal, but the increased yield makes it worthwhile if the wood supply is limited."] + dependencies: ["46820FBDDDEE491E"] + id: "3249CD08992F2BCD" + tasks: [ + { + id: "700F644CCBEBCA5A" + type: "item" + item: "minecraft:charcoal" + consume_items: false + } + { + id: "760709B05A0FEF11" + type: "checkmark" + } + ] + } + { + title: "Pyrolyzer Round II" + icon: "thermal:coal_coke" + x: 3.0d + y: 1.5d + subtitle: "Contraption 34-3" + description: ["In a secondary, more lengthy pyrolisation process, Coal Coke is formed. An ideal material for both refining Silicon and to provide heat as Solid Fuel."] + dependencies: ["3249CD08992F2BCD"] + id: "1A383F96B312D1B8" + tasks: [ + { + id: "7AFFEF4014CE671C" + type: "item" + item: "thermal:coal_coke" + consume_items: false + } + { + id: "4960B920CCF3C186" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Controlled Cuts" + icon: "kubejs:coke_chunk" + x: 3.0d + y: 3.0d + subtitle: "Contraption 35" + description: ["Using Mechanical Saws and Water, the coke can to be cut up into chunks in order to become a more effective catalyst."] + dependencies: ["1A383F96B312D1B8"] + id: "16F920C2AF2FA2E0" + tasks: [ + { + id: "36A367A143AD6175" + type: "item" + item: "kubejs:coke_chunk" + consume_items: false + } + { + id: "44D36B403AA26E97" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Merge" + icon: "kubejs:silicon_compound" + x: 1.0d + y: 4.0d + subtitle: "Contraption 36" + description: ["The process of refining silicon requires a blend of Sand Crystals, Fine Sand and the Carbon Catalyst."] + dependencies: [ + "343050A40A3AB1F0" + "4412F3B2827606E4" + "16F920C2AF2FA2E0" + ] + id: "2268AFAF6E9AB5E2" + tasks: [ + { + id: "7824435744C12C18" + type: "item" + item: "kubejs:silicon_compound" + consume_items: false + } + { + id: "2F239D4D9BB9B47A" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Concentrated Heat" + icon: "thermal:earth_charge" + x: -3.0d + y: 3.0d + subtitle: "Contraption 33-2" + description: ["Compact enough powder back together to create the highly reactive Earth Charge."] + dependencies: ["5799B4124EE20DB1"] + id: "60A8B4C736CE3226" + tasks: [ + { + id: "2C3C495C9B18005A" + type: "item" + item: "thermal:earth_charge" + consume_items: false + } + { + id: "21545C0F55D9D8C8" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Basalz Mill" + icon: "thermal:basalz_powder" + x: -3.0d + y: 2.0d + subtitle: "Contraption 33-1" + description: ["Before it is ready for processing, the basalz essence needs a bit of refinement. "] + dependencies: ["6C4CB8F616A9C3DF"] + id: "5799B4124EE20DB1" + tasks: [ + { + id: "54F29099D9D81837" + type: "item" + item: "thermal:basalz_powder" + consume_items: false + } + { + id: "05969082F437FCA9" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Hot Laser" + icon: "thermal:basalz_rod" + x: -3.0d + y: 0.5d + subtitle: "Contraption 32-2" + description: [ + "The first Alchemical Laser forms activated basalz essence from Basalt. This works only if a charged FluxoMagnet is present alongside it in the Hopper Cart." + "" + "A reliable way to automate the Laser is to use two Cart Loaders, one to place a magnet, one to fill the remaining slots with Basalt Blocks. Move the cart under the laser and activate it. From here you can use one Unloader to extract the worn magnet as well as the desired output." + ] + dependencies: ["0B602ED47A0195A4"] + id: "6C4CB8F616A9C3DF" + tasks: [ + { + id: "712E7C4EEB4BCF55" + type: "item" + item: "thermal:basalz_rod" + consume_items: false + } + { + id: "7DF47F688E5C795C" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Modern Cobblegen" + icon: "minecraft:basalt" + x: -3.0d + y: -1.0d + subtitle: "Contraption 32-1" + description: ["Basalt is an accessible type of rock that contains traces of inert Basalz Powder. For the purposes of this, a steady supply of them is needed."] + hide_dependency_lines: true + dependencies: ["4B80A801A5BE4A01"] + id: "0B602ED47A0195A4" + tasks: [ + { + id: "4649973A51C977D9" + type: "item" + item: "minecraft:basalt" + consume_items: false + } + { + id: "738E569981496B56" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Flux Charger" + icon: { + id: "thermal:flux_magnet" + Count: 1b + tag: { } + } + x: -4.0d + y: 1.0d + subtitle: "Contraption 32-3" + description: [ + "In order for the basalz essence to form, the FluxoMagnet present in the cart has to be charged." + "" + "Therefore, the contraption will have to route the magnets from the cart unloader through an Energetic Infuser before passing it back into the circuit." + ] + dependencies: ["0B602ED47A0195A4"] + id: "58B534C4AEB4139D" + tasks: [ + { + id: "7538F2E8CFAF69F6" + type: "item" + item: { + id: "thermal:flux_magnet" + Count: 1b + tag: { } + } + consume_items: false + } + { + id: "11A074DF1CA99AD3" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Snowball Machine" + icon: "minecraft:snowball" + x: 5.0d + y: -1.0d + subtitle: "Contraption 37" + description: ["New Invar Technology makes forming snowballs out of Water quite a simple process. Perhaps we should set aside a few for our next unannounced visitor.."] + hide_dependency_lines: true + dependencies: ["4B80A801A5BE4A01"] + id: "4B34B52092BA32BE" + tasks: [ + { + id: "56F4F1F21FE5FB17" + type: "item" + item: "minecraft:snowball" + consume_items: false + } + { + id: "193D8F8FEC7F864B" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Entropy Charger" + icon: { + id: "appliedenergistics2:entropy_manipulator" + Count: 1b + tag: { } + } + x: 6.0d + y: 3.0d + subtitle: "Contraption 38-2" + description: [ + "In order for the blizz essence to form, the Entropy Manipulator present in the cart has to be charged." + "" + "Ensure the charge in it restored before its next use." + ] + dependencies: ["4B34B52092BA32BE"] + id: "6D1519B746E032FB" + tasks: [ + { + id: "641183133CA49CCA" + type: "item" + item: { + id: "appliedenergistics2:entropy_manipulator" + Count: 1b + tag: { } + } + consume_items: false + } + { + id: "49EAB67814570219" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Cool Laser" + icon: "thermal:blizz_rod" + x: 5.0d + y: 2.5d + subtitle: "Contraption 38-1" + description: [ + "The second Alchemical Laser forms activated blizz essence from Snowballs. This works only if a charged Entropy Manipulator is present alongside it in the Hopper Cart." + "" + "Your automation strategy from Contraption 32 will perform just as effective here." + ] + dependencies: ["4B34B52092BA32BE"] + id: "0AE7FAEBD5F86D9C" + tasks: [ + { + id: "11B1248ECFCD2F26" + type: "item" + item: "thermal:blizz_rod" + consume_items: false + } + { + id: "518D5675C9D1757D" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Blizz Mill" + icon: "thermal:blizz_powder" + x: 5.0d + y: 4.0d + subtitle: "Contraption 39-1" + description: ["Just like earlier, the essence becomes usable only after a bit of refinement."] + dependencies: ["0AE7FAEBD5F86D9C"] + id: "01B0A6236A5073D1" + tasks: [ + { + id: "7EA6D73F7A49EBAF" + type: "item" + item: "thermal:blizz_powder" + consume_items: false + } + { + id: "5CA556BB4614DD06" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Concentrated Cold" + icon: "thermal:ice_charge" + x: 5.0d + y: 5.0d + subtitle: "Contraption 39-2" + description: ["Compact enough powder back together to create the highly reactive Ice Charge."] + dependencies: ["01B0A6236A5073D1"] + id: "4732465116D723EE" + tasks: [ + { + id: "3DFF735C19CE82A5" + type: "item" + item: "thermal:ice_charge" + consume_items: false + } + { + id: "220B89A9B897FA67" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Final Induction" + icon: "appliedenergistics2:silicon" + x: 3.0d + y: 5.0d + subtitle: "Contraption 39-3" + description: ["One final pass in the Induction Smelter now produces a chunk of high-quality Silicon."] + dependencies: [ + "2268AFAF6E9AB5E2" + "4732465116D723EE" + ] + id: "067C5FDA4709F195" + tasks: [ + { + id: "263459FBEC9F9868" + type: "item" + item: "appliedenergistics2:silicon" + consume_items: false + } + { + id: "57D267DD10A22D32" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Circuit Stamper" + icon: "appliedenergistics2:printed_silicon" + x: 1.0d + y: 6.0d + subtitle: "Contraption 40-1" + description: ["Use Deployers to create a circuit base out of silicon. The required Press can be located at the center of Sky Stone Meteors."] + dependencies: [ + "067C5FDA4709F195" + "4B19B6EAD511378D" + ] + dependency_requirement: "one_completed" + id: "71D90A1E5D53FC0A" + tasks: [ + { + id: "12C1BB8D09D664B4" + type: "item" + item: "appliedenergistics2:printed_silicon" + consume_items: false + } + { + id: "20B36555F58C4DB1" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Secrets uncovered" + icon: "kubejs:substrate_silicon" + disable_toast: true + x: -3.0d + y: 5.0d + shape: "hexagon" + description: ["The Secret path has been discovered and pursued. From here, getting the Calculation Mechanism will be trivial."] + dependencies: ["3B431AAADE8845FA"] + hide: true + size: 1.5d + id: "0CE88FEA070DC46C" + tasks: [{ + id: "5B4F2E2F7BDEA6A0" + type: "stat" + title: "Complete Chapter 4a" + icon: "kubejs:substrate_chaos" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "The Alchemical Laser" + icon: "projectred-illumination:lime_inverted_cage_light" + x: 3.0d + y: -2.5d + shape: "circle" + description: [ + "A central role in this age of technology is played by the Alchemical Laser." + "" + "It usually involves converting one material into another, using a high-energy beam and a catalyst or tool of some kind." + "" + "Inventors can familiarise themselves with the necessary machinery components via JEI or via entering" + "" + " &6/c ponder kubejs:alchemical_laser" + ] + dependencies: ["4B80A801A5BE4A01"] + id: "6D26DAB7D0FF6E90" + tasks: [{ + id: "16897A4EF323B02E" + type: "checkmark" + }] + rewards: [{ + id: "14F213F493035F9B" + type: "command" + title: "Open Ponder Scene" + icon: { + id: "occultism:book_of_calling_djinni_manage_machine" + Count: 1b + tag: { + spiritName: "Rayarces" + } + } + team_reward: false + command: "/create ponder kubejs:alchemical_laser" + player_command: true + }] + } + { + title: "Wood Delivery" + icon: "minecraft:oak_log" + x: 3.0d + y: -0.5d + shape: "square" + subtitle: "Contraption 34-1" + description: ["It'll be good to order a Wood supply to this location. Aside from Silicon it can contribute to this assembly line for some other useful products."] + hide_dependency_lines: true + dependencies: ["4B80A801A5BE4A01"] + id: "46820FBDDDEE491E" + tasks: [ + { + id: "0AA0DEB1A87DA675" + type: "item" + title: "Any Wooden Log" + icon: "minecraft:oak_log" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:logs" + } + } + consume_items: false + } + { + id: "72BA1D3BD545CBE6" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Arming the Deployer IV" + x: -0.5d + y: 7.5d + shape: "circle" + description: [ + "The installation process of Calculation Mechanisms can be facilitated by a Flash Drive." + "The precious Cobalt required can be found in the Nether. " + ] + hide_dependency_lines: true + dependencies: ["71D90A1E5D53FC0A"] + id: "1BF8F3CC8BEBB620" + tasks: [{ + id: "1CC8A01100CE4AE3" + type: "item" + item: { + id: "kubejs:flash_drive" + Count: 1b + tag: { + Damage: 0 + } + } + consume_items: false + }] + } + { + title: "Unboxing" + icon: "appliedenergistics2:silicon" + x: -1.0d + y: 5.0d + subtitle: "Contraption 39-A" + description: ["Separate the Silicon from its jar using a Reagent Extractor."] + dependencies: ["0CE88FEA070DC46C"] + id: "4B19B6EAD511378D" + tasks: [ + { + id: "6FCB9E7E2CC10348" + type: "item" + item: "appliedenergistics2:silicon" + consume_items: false + } + { + id: "0A4B691EF3CDC7A0" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Coal Juice" + icon: "thermal:creosote_bucket" + x: 4.0d + y: 1.0d + shape: "circle" + description: ["Creosote is created as a by-product. It can be used as an additional Fuel Source."] + dependencies: ["3249CD08992F2BCD"] + id: "33674138F4866C18" + tasks: [{ + id: "224ACB0727C6F84E" + type: "checkmark" + }] + } + { + title: "Express Circuitry I" + x: 3.0d + y: 9.5d + subtitle: "Contraption 41-1" + description: ["Additional Processors are required in creating logistical components of ME Technology. At some point some Semi-Automation should come into consideration."] + dependencies: ["28DAED70768C6A50"] + id: "24C48CFAAD71B230" + tasks: [ + { + id: "10D5C1E5071B1B53" + type: "item" + item: "appliedenergistics2:printed_calculation_processor" + consume_items: false + } + { + id: "32F50DF8BD6E3927" + type: "item" + item: "appliedenergistics2:printed_logic_processor" + consume_items: false + } + { + id: "2E5AD5026FDB28CB" + type: "item" + item: "appliedenergistics2:printed_engineering_processor" + consume_items: false + } + ] + } + { + title: "Express Circuitry II" + x: 4.0d + y: 9.5d + subtitle: "Contraption 41-2" + description: ["Assembling the Processors is not a trivial process. But it sure is fun to watch it work."] + dependencies: ["24C48CFAAD71B230"] + id: "2B8F1D804107EB8C" + tasks: [ + { + id: "186FEC9FE047828F" + type: "item" + item: "appliedenergistics2:calculation_processor" + consume_items: false + } + { + id: "2DCA8F3CB7884170" + type: "item" + item: "appliedenergistics2:logic_processor" + consume_items: false + } + { + id: "75950A3A22C9DC8E" + type: "item" + item: "appliedenergistics2:engineering_processor" + consume_items: false + } + ] + } + { + title: "New Capacity" + icon: "thermal:dynamo_magmatic" + x: -1.0d + y: -2.5d + shape: "circle" + description: ["The upcoming Assembly Line will require a significant amount of flux energy to run. It is recommended to find a suitable generation method and to consider higher scales in planning should it become necessary later."] + dependencies: ["4B80A801A5BE4A01"] + id: "13B197C90F9812C8" + tasks: [{ + id: "4C687EF00A44ED1E" + type: "checkmark" + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/stage_4b.snbt b/src/overrides/config/ftbquests/backup/chapters/stage_4b.snbt new file mode 100644 index 0000000..967acf3 --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/stage_4b.snbt @@ -0,0 +1,865 @@ +{ + id: "102E012616516E5D" + group: "331B6409EF6A7840" + order_index: 5 + filename: "stage_4b" + title: "&f4a&r Chaotic Alchemy" + icon: "kubejs:substrate_chaos" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Another way forward" + icon: "kubejs:inductive_mechanism" + x: 1.75d + y: 2.0d + shape: "hexagon" + description: [ + "As an alternative, more risky approach to a refined Silicon resource, Laser Alchemy can provide an obscure yet rewarding new path of progression." + "" + "Discover the secret codes of each reagent class in order to learn about the recipe of Chaos Catalysts." + "" + "Once found, the Chaos Catalyst can not only transmute a material into Silicon, but potentially create other valuable resources from the most trivial ingredients!" + ] + dependencies: ["5DF206B1738D08A0"] + hide: true + size: 2.0d + id: "05446225038D260A" + tasks: [{ + id: "38B2DFD6233E49FD" + type: "checkmark" + }] + rewards: [{ + id: "4AF4A93C5D5FB6DD" + type: "item" + item: "farmersdelight:hot_cocoa" + }] + } + { + title: "Encapsulate - Decapsulate" + x: -0.25d + y: 2.0d + shape: "circle" + description: [ + "Aside from the Alchemical Laser setup, you'll need a few other Machines for your new Alchemy Lab. " + "" + "- The Fluid Encapsulator uses Molten Glass to create Reagents from resources." + "" + "- The Reagent Extractor can reverse this process." + "" + "- The Centrifugal Separator is required to analyse alchemical blends for clues. A vital routine when researching the recipe of Catalysts." + ] + dependencies: ["05446225038D260A"] + id: "42B615F7BECA6E58" + tasks: [ + { + id: "39000CC22827EE50" + type: "item" + item: "thermal:machine_bottler" + consume_items: false + } + { + id: "6485567EC6630BF2" + type: "item" + item: "thermal:machine_sawmill" + consume_items: false + } + { + id: "75F82E2858B93DBD" + type: "item" + item: "thermal:machine_centrifuge" + consume_items: false + } + ] + } + { + x: -5.0d + y: 0.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "36A2C5B3E20C28DF" + tasks: [{ + id: "1E93F39E5F1F678E" + type: "item" + item: "kubejs:substrate_andesite" + consume_items: false + }] + } + { + x: -5.0d + y: 1.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "60F7A50F984284F1" + tasks: [{ + id: "5D98554C2EF24A62" + type: "item" + item: "kubejs:substrate_diorite" + consume_items: false + }] + } + { + x: -5.0d + y: 2.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "35406FED565B7EFF" + tasks: [{ + id: "090BAD8069B5962C" + type: "item" + item: "kubejs:substrate_granite" + consume_items: false + }] + } + { + x: -5.0d + y: 3.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "6CBB7512CDFF4C2E" + tasks: [{ + id: "739A22504FFAC363" + type: "item" + item: "kubejs:substrate_cobblestone" + consume_items: false + }] + } + { + x: -5.0d + y: 4.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "0F688EAF792BAE96" + tasks: [{ + id: "2F714B82CD1A3FDD" + type: "item" + item: "kubejs:substrate_basalt" + consume_items: false + }] + } + { + x: -5.0d + y: 5.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "560F2995CE2862D7" + tasks: [{ + id: "6F2432F797A27549" + type: "item" + item: "kubejs:substrate_gabbro" + consume_items: false + }] + } + { + x: -2.5d + y: 3.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "3978E4B39C9DB44D" + tasks: [{ + id: "0A7F5C2865C6F5F5" + type: "item" + item: "kubejs:substrate_red" + consume_items: false + }] + } + { + x: -3.5d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "122D3D6743D1DD04" + tasks: [{ + id: "6FD70BEFECE67F2C" + type: "item" + item: "kubejs:substrate_orange" + consume_items: false + }] + } + { + x: -2.5d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "1E856F69C03B1D75" + tasks: [{ + id: "2A79E5D1D6C6787F" + type: "item" + item: "kubejs:substrate_yellow" + consume_items: false + }] + } + { + x: -3.5d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "49957428564E8101" + tasks: [{ + id: "183677E3CD7A38E0" + type: "item" + item: "kubejs:substrate_green" + consume_items: false + }] + } + { + x: -2.5d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "678C5FC6A898E988" + tasks: [{ + id: "7E01B9B59066FD90" + type: "item" + item: "kubejs:substrate_blue" + consume_items: false + }] + } + { + x: -3.5d + y: 3.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "3377A2C391B6F03A" + tasks: [{ + id: "217E5A578A83222B" + type: "item" + item: "kubejs:substrate_magenta" + consume_items: false + }] + } + { + x: 1.0d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "616D07DC2CE17BA4" + tasks: [{ + id: "119E7FC4D7BB242F" + type: "item" + item: "kubejs:substrate_blaze" + consume_items: false + }] + } + { + x: 1.0d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "758B836F53187B8C" + tasks: [{ + id: "6B17F1E13DF99E50" + type: "item" + item: "kubejs:substrate_slime" + consume_items: false + }] + } + { + x: 0.0d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "4E3B9AA2062424F4" + tasks: [{ + id: "0F0273B7441B6840" + type: "item" + item: "kubejs:substrate_nether" + consume_items: false + }] + } + { + x: 0.0d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "20AA864C5201C638" + tasks: [{ + id: "465B3645832D5B9A" + type: "item" + item: "kubejs:substrate_obsidian" + consume_items: false + }] + } + { + x: -1.0d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "35A6E3BBD80FB00F" + tasks: [{ + id: "3D85594FB65E7A91" + type: "item" + item: "kubejs:substrate_gunpowder" + consume_items: false + }] + } + { + x: -1.0d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "03DB1FCC30B7321C" + tasks: [{ + id: "6BE52A47FB071345" + type: "item" + item: "kubejs:substrate_prismarine" + consume_items: false + }] + } + { + x: 2.5d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "421E285B7D642676" + tasks: [{ + id: "10EF9D8072B539A4" + type: "item" + item: "kubejs:substrate_arcane" + consume_items: false + }] + } + { + x: 2.5d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "6E154A8C81D8DD5F" + tasks: [{ + id: "0E7911464600ABEC" + type: "item" + item: "kubejs:substrate_apatite" + consume_items: false + }] + } + { + x: 4.5d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "58A0EA80BB3A3262" + tasks: [{ + id: "3106C362414AB238" + type: "item" + item: "kubejs:substrate_sulfur" + consume_items: false + }] + } + { + x: 3.5d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "2C6EE5BEB945F154" + tasks: [{ + id: "665D6D91F09233AE" + type: "item" + item: "kubejs:substrate_niter" + consume_items: false + }] + } + { + x: 3.5d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "7CA6AC3B07E07D81" + tasks: [{ + id: "6C839FAE45EC2AB4" + type: "item" + item: "kubejs:substrate_certus" + consume_items: false + }] + } + { + x: 4.5d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "40FDCF626F5EBB08" + tasks: [{ + id: "55AA2EC101DB9047" + type: "item" + item: "kubejs:substrate_quartz" + consume_items: false + }] + } + { + x: 7.0d + y: 3.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "5C0CE1EDF9BF49C9" + tasks: [{ + id: "185775BFC6FE2D89" + type: "item" + item: "kubejs:substrate_zinc" + consume_items: false + }] + } + { + x: 7.0d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "5A957C9B5D8DE1A1" + tasks: [{ + id: "3FA02655BC1E99A6" + type: "item" + item: "kubejs:substrate_copper" + consume_items: false + }] + } + { + x: 7.0d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "2995ADCCB6496A22" + tasks: [{ + id: "4932CD6D8FE77BB7" + type: "item" + item: "kubejs:substrate_iron" + consume_items: false + }] + } + { + x: 6.0d + y: 3.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "285F815678D5F32A" + tasks: [{ + id: "0EFBC080DFC4F106" + type: "item" + item: "kubejs:substrate_nickel" + consume_items: false + }] + } + { + x: 6.0d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "394A502BD8B5B1A0" + tasks: [{ + id: "08F2F111C97B57CD" + type: "item" + item: "kubejs:substrate_lead" + consume_items: false + }] + } + { + x: 6.0d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "22F0C935130ADCF4" + tasks: [{ + id: "4A4C9D6E372A5466" + type: "item" + item: "kubejs:substrate_gold" + consume_items: false + }] + } + { + x: 8.5d + y: 1.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "235264EC150EDB4B" + tasks: [{ + id: "2D94A57470F15112" + type: "item" + item: "kubejs:substrate_lapis" + consume_items: false + }] + } + { + x: 8.5d + y: 0.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "33B3AB3394DD012A" + tasks: [{ + id: "01253AF4C04D6EE2" + type: "item" + item: "kubejs:substrate_cinnabar" + consume_items: false + }] + } + { + x: 8.5d + y: 2.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "58A6D5414035EEA1" + tasks: [{ + id: "09ADE0525C1D7379" + type: "item" + item: "kubejs:substrate_sapphire" + consume_items: false + }] + } + { + x: 8.5d + y: 3.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "2EECFBC4E2BF1F37" + tasks: [{ + id: "36A7406CD330E7AB" + type: "item" + item: "kubejs:substrate_emerald" + consume_items: false + }] + } + { + x: 8.5d + y: 4.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "2FD7D312EE63EA53" + tasks: [{ + id: "68CD031A5C815200" + type: "item" + item: "kubejs:substrate_ruby" + consume_items: false + }] + } + { + x: 8.5d + y: 5.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "2644760FA76D5F30" + tasks: [{ + id: "61BF1495FCB27EEB" + type: "item" + item: "kubejs:substrate_diamond" + consume_items: false + }] + } + { + x: -5.0d + y: 7.0d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Igneous Category." + "" + "The Igneous Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + "" + "It's recommended to always take notes of previous results. This way it is not uncommon to find the solution in under six attempts!" + ] + hide_dependency_lines: true + dependencies: [ + "36A2C5B3E20C28DF" + "60F7A50F984284F1" + "35406FED565B7EFF" + "0F688EAF792BAE96" + "6CBB7512CDFF4C2E" + "560F2995CE2862D7" + ] + id: "3EB5CD9776DF0E63" + tasks: [{ + id: "34B1FAA6107B2411" + type: "item" + item: "kubejs:substrate_igneous" + consume_items: false + }] + } + { + x: -2.5d + y: 6.5d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Herbal Category." + "" + "The Herbal Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + ] + hide_dependency_lines: true + dependencies: [ + "3377A2C391B6F03A" + "3978E4B39C9DB44D" + "678C5FC6A898E988" + "49957428564E8101" + "1E856F69C03B1D75" + "122D3D6743D1DD04" + ] + id: "2B195E5B195246F5" + tasks: [{ + id: "1F5A37CC8E10B3DB" + type: "item" + item: "kubejs:substrate_herbal" + consume_items: false + }] + } + { + x: 0.0d + y: 6.25d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Volatile Category." + "" + "The Volatile Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + ] + hide_dependency_lines: true + dependencies: [ + "4E3B9AA2062424F4" + "616D07DC2CE17BA4" + "758B836F53187B8C" + "03DB1FCC30B7321C" + "20AA864C5201C638" + "35A6E3BBD80FB00F" + ] + id: "62EB94758A862091" + tasks: [{ + id: "744E156650A1F4B3" + type: "item" + item: "kubejs:substrate_volatile" + consume_items: false + }] + } + { + x: 3.5d + y: 6.25d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Crystalline Category." + "" + "The Crystalline Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + ] + hide_dependency_lines: true + dependencies: [ + "58A0EA80BB3A3262" + "2C6EE5BEB945F154" + "7CA6AC3B07E07D81" + "40FDCF626F5EBB08" + "421E285B7D642676" + "6E154A8C81D8DD5F" + ] + id: "549D7F67A97CD2CE" + tasks: [{ + id: "0881E44E3823D060" + type: "item" + item: "kubejs:substrate_crystal" + consume_items: false + }] + } + { + x: 6.0d + y: 6.5d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Metallurgic Category." + "" + "The Metallurgic Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + ] + hide_dependency_lines: true + dependencies: [ + "2995ADCCB6496A22" + "5C0CE1EDF9BF49C9" + "5A957C9B5D8DE1A1" + "22F0C935130ADCF4" + "394A502BD8B5B1A0" + "285F815678D5F32A" + ] + id: "0CC92E94D10E681D" + tasks: [{ + id: "4E81FAFD3B80DFE9" + type: "item" + item: "kubejs:substrate_metal" + consume_items: false + }] + } + { + x: 8.5d + y: 7.0d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Gemstone Category." + "" + "The Gemstone Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + ] + hide_dependency_lines: true + dependencies: [ + "235264EC150EDB4B" + "2644760FA76D5F30" + "2FD7D312EE63EA53" + "58A6D5414035EEA1" + "2EECFBC4E2BF1F37" + "33B3AB3394DD012A" + ] + id: "5200AD3B32D219C6" + tasks: [{ + id: "10F212525DABED77" + type: "item" + item: "kubejs:substrate_gem" + consume_items: false + }] + } + { + title: "The Final Code" + x: 1.75d + y: 7.5d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered Catalysts of every Category." + "" + "This Ultimate Catalyst is now a combination of four of the Catalysts, much in the way the Catalysts are found and made by their Reagents." + "&7(See this item's JEI entry for more information)" + ] + dependencies: [ + "3EB5CD9776DF0E63" + "549D7F67A97CD2CE" + "2B195E5B195246F5" + "62EB94758A862091" + "0CC92E94D10E681D" + "5200AD3B32D219C6" + ] + id: "7A9AA27029185035" + tasks: [{ + id: "3299FF447F8110CF" + type: "item" + item: "kubejs:substrate_chaos" + consume_items: false + }] + } + { + title: "The Discovery" + x: 1.0d + y: 8.5d + shape: "circle" + description: [ + "Armed with the Chaos Catalyst, you will find all manner of transmutation pairs among the Reagents above." + "" + "Simply put the Chaos Catalyst and a few jars of one reagent (The transmutation is lossy) into the hopper cart and find a different reagent returned after activating the laser. Mind that the Catalyst is never consumed in the process." + "" + "One of the Reagents should lead not to another known one, but to the Reagent of Silicon. If this turns out to be one that is reasonably accessible, you can consider choosing this path of production over the main one." + ] + dependencies: ["7A9AA27029185035"] + id: "6FDC8DA2FDED5FDD" + tasks: [{ + id: "68FBEFA1BC6479ED" + type: "item" + item: "kubejs:substrate_silicon" + consume_items: false + }] + } + { + title: "The Alchemical Laser" + icon: "projectred-illumination:lime_inverted_cage_light" + x: 3.75d + y: 2.0d + shape: "circle" + description: [ + "A central role in your Laboratory is played by the Alchemical Laser." + "" + "The Laser is the only way to obtain Catalysts or to find the necessary clues toward their recipe. Another use is the actual application of the Chaos Catalyst to a specific Reagent, causing the Transmutation." + "" + "Inventors can familiarise themselves with the necessary machinery components via JEI or via entering" + "" + " &6/c ponder kubejs:alchemical_laser" + ] + dependencies: ["05446225038D260A"] + id: "1D1D1FEAF49C5E11" + tasks: [{ + id: "04CC23968DBD8CC9" + type: "checkmark" + }] + rewards: [{ + id: "5F8758212BE89602" + type: "command" + title: "Open Ponder Scene" + icon: { + id: "occultism:book_of_calling_djinni_manage_machine" + Count: 1b + tag: { + spiritName: "Zedzeraeus" + } + } + team_reward: false + command: "/create ponder kubejs:alchemical_laser" + player_command: true + }] + } + { + title: "Automatic Chaos" + icon: "minecraft:hopper_minecart" + x: 2.5d + y: 9.0d + subtitle: "Contraption 31-A" + description: [ + "With the transmutation recipe in hand, it is time to build a facility able to create an infinite amount of Silicon Reagent via Laser Alchemy and the other steps part of the process." + "" + "Note that the concete solution depends highly on the transmutation pairings of your World, which is why it cannot be laid out in this Guide. You can use JEI to find other necessary recipes leading up to the reagent you require." + ] + dependencies: ["6FDC8DA2FDED5FDD"] + id: "630DA0C83959E9D8" + tasks: [{ + id: "3E080B5561AD314E" + type: "checkmark" + title: "Automated" + }] + } + { + title: "Warp Zone" + icon: "create:warped_window_pane" + x: 1.75d + y: 11.0d + shape: "hexagon" + description: ["Now that you have a passive supply of Silicon Reagent, you may head over to the main section of Chapter 4. You will have opened up an entry point near the end of its recipe chain."] + dependencies: ["630DA0C83959E9D8"] + size: 2.0d + id: "3B431AAADE8845FA" + tasks: [{ + id: "7201E3A86096F5CF" + type: "checkmark" + }] + } + { + title: "Clueless" + x: -6.5d + y: 5.0d + shape: "circle" + description: [ + "Glowstone or Redstone Accellerator can optionally be placed in the fifth slot of the Hopper Minecart when entering a catalyst code." + "" + "This may reveal additional information about the correct combination as described in their tooltip." + ] + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + optional: true + id: "1BCFB709E97A74FA" + tasks: [ + { + id: "6A30FCE70C7C7289" + type: "item" + item: "kubejs:accellerator_redstone" + consume_items: false + } + { + id: "3D9F64E8128BB9A6" + type: "item" + item: "kubejs:accellerator_glowstone" + consume_items: false + } + ] + } + { + x: 10.0d + y: 5.0d + shape: "circle" + description: ["Your coins seem to have a corresponding Reagent, too. Though do not expect to be able to mint new currency out of your silver ingots."] + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "566E72AE7D580917" + tasks: [{ + id: "7EA2895F0FB5A5D6" + type: "item" + item: "kubejs:substrate_silver" + consume_items: false + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/stage_5.snbt b/src/overrides/config/ftbquests/backup/chapters/stage_5.snbt new file mode 100644 index 0000000..9ba2fc3 --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/stage_5.snbt @@ -0,0 +1,936 @@ +{ + id: "75CF8B6BAC6A01EF" + group: "331B6409EF6A7840" + order_index: 6 + filename: "stage_5" + title: "&f5&r Divide by Digital" + icon: "kubejs:computation_matrix" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Finale Start!" + icon: "kubejs:calculation_mechanism" + x: 5.0d + y: 15.5d + shape: "hexagon" + description: [ + "Welcome to the final Chapter of this Journey: building the Data Centre. What will this entail? Thousands of numeric calculations! " + "But do not fear, as an inventor you will let your creation do all the work for you, as usual." + "" + "Cast the combined logic of all your Calculation Mechanisms into two digits, from which you will calculate 8 others through a series of crafting operations. A digital ME system is recommended for managing the logistics, though not strictly required." + ] + dependencies: ["251A91F6C21AEAFB"] + hide: true + size: 2.0d + id: "5D0454F977C4F080" + tasks: [{ + id: "1F6009A328AA0184" + type: "checkmark" + }] + rewards: [{ + id: "0397D214E0A6CC89" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "We have lift off!" + icon: "advancedrocketry:guidancecomputer" + x: 2.0d + y: 7.75d + shape: "hexagon" + description: [ + "With everything in place and the Matrices programmed, you can go ahead and assemble the Guidance Computer and add it to your Spaceship." + "" + "Take a minute to craft a flag representing your space program to bring to the moon. You can apply patterns to it just like a Banner." + "" + "In your own time, take a seat in your assembled rocket, and press Space." + ] + dependencies: [ + "6BA9A176EDA001A3" + "1AE7B6CA4D1DBA6F" + "462CE0A4C80442FB" + "69311E02A8B3451D" + "3AD7553F3C8593F9" + "4800892E1E70648D" + "25B76A897D97C9F1" + "73473DC7269EC5B0" + ] + size: 2.0d + id: "47965C310D9847DC" + tasks: [ + { + id: "05BDC7ACF64D13C2" + type: "item" + item: "advancedrocketry:guidancecomputer" + consume_items: false + } + { + id: "4418C7A289B17158" + type: "item" + title: "Any Flag" + icon: { + id: "supplementaries:flag_gray" + Count: 1b + tag: { + BlockEntityTag: { + Patterns: [ + { + Pattern: "gra" + Color: 0 + } + { + Pattern: "bo" + Color: 15 + } + { + Pattern: "bs" + Color: 15 + } + { + Pattern: "ts" + Color: 15 + } + { + Pattern: "rs" + Color: 15 + } + { + Pattern: "ls" + Color: 11 + } + ] + } + } + } + disable_toast: true + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "supplementaries:flag_orange" + Count: 1b + } + { + id: "supplementaries:flag_magenta" + Count: 1b + } + { + id: "supplementaries:flag_light_blue" + Count: 1b + } + { + id: "supplementaries:flag_lime" + Count: 1b + } + { + id: "supplementaries:flag_gray" + Count: 1b + } + { + id: "supplementaries:flag_cyan" + Count: 1b + } + { + id: "supplementaries:flag_green" + Count: 1b + } + { + id: "supplementaries:flag_red" + Count: 1b + } + { + id: "supplementaries:flag_white" + Count: 1b + } + { + id: "supplementaries:flag_light_gray" + Count: 1b + } + { + id: "supplementaries:flag_yellow" + Count: 1b + } + { + id: "supplementaries:flag_pink" + Count: 1b + } + { + id: "supplementaries:flag_purple" + Count: 1b + } + { + id: "supplementaries:flag_blue" + Count: 1b + } + { + id: "supplementaries:flag_brown" + Count: 1b + } + { + id: "supplementaries:flag_black" + Count: 1b + } + ] + } + } + consume_items: false + } + ] + rewards: [{ + id: "7F4FDBDE58C30C3A" + type: "item" + item: { + id: "desolation:charred_fence" + Count: 1b + tag: { + RepairCost: 0 + display: { + Name: "{\"text\":\"Flag Pole\",\"italic\":false,\"color\":\"aqua\"}" + } + } + } + count: 3 + }] + } + { + title: "Solving Trajectories" + x: 2.0d + y: 9.5d + shape: "circle" + subtitle: "Contraption 45" + description: [ + "For the calculations of the Guidance computer, we will need.. a lot of these Digits." + "" + "Before letting items exit the logistical ecosystem of the calculations, make sure each digit leaves in equal amounts. Brass Tunnels can solve this issue in a straight-forward fashion." + "" + "Each digit now has to be dissolved back into its liquified form via Smeltery. Once a Smeltery collected 10 liquified items of each digit, they combine into the encoded logic required for our Computer. Once enough of this figurative alloy has accumulated, it can be cast into the powerful Computation Matrix." + "" + "The Guidance Computer requires 8 Matrices to function. Depending on your data centre and mechanism assembly lines, this may take a while." + ] + dependencies: [ + "42B5C0102B22F389" + "5358E5F7FB59DD60" + "5550A3E383EFEC90" + "55F959A18E904D6C" + "7927B6162577FA7B" + "1C6657984648B0D4" + "4A16CE3BC111280F" + "3126DE83A6741671" + "7D808F15BEDD7A7B" + "2441491CB5D5E57D" + ] + dependency_requirement: "one_completed" + id: "69311E02A8B3451D" + tasks: [{ + id: "2C98415D43457049" + type: "item" + item: "kubejs:computation_matrix" + count: 8L + consume_items: false + }] + } + { + title: "Processing Power" + icon: { + id: "thermal:fluid_cell" + Count: 1b + tag: { + Properties: { } + BlockEntityTag: { + RSControl: { + RSThreshold: 0b + RSMode: 0b + } + AmountOut: 1000 + Xfer: { + XferOut: 1b + XferIn: 0b + } + TankInv: [{ + FluidName: "kubejs:raw_logic" + Capacity: 32000 + Tank: 0b + Amount: 32000 + }] + AmountIn: 1000 + } + } + } + x: 2.0d + y: 15.5d + shape: "square" + subtitle: "Contraption 42" + description: ["In order to provide 'Mechanical' Calculators with numbers and operators, all available Calculation Mechanisms have to be melted down into the figurative processing power they provide."] + dependencies: ["5D0454F977C4F080"] + size: 1.5d + id: "70D563EF30E9CB97" + tasks: [ + { + id: "2A4A54EBAFBEB39F" + type: "item" + item: "kubejs:raw_logic_bucket" + consume_items: false + } + { + id: "406AAC43EBD44F6A" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:three" + x: 0.5d + y: 13.5d + subtitle: "Contraption 43-1" + description: [ + "As one of the two available digits, Threes can be cast from unprocessed logic. Together with the Eight and available Operators, your Calculators will have to create the remaining digits from 0 to 9 in equal amounts." + "" + "This casting process can quickly become a bottleneck, for most running calculations depend on the numbers generated here. Make sure things move fluently." + ] + dependencies: ["70D563EF30E9CB97"] + id: "5550A3E383EFEC90" + tasks: [ + { + id: "343E4ED28EA67219" + type: "item" + item: "kubejs:three" + consume_items: false + } + { + id: "61DEC75D20A61088" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:eight" + x: 3.5d + y: 13.5d + subtitle: "Contraption 43-3" + description: [ + "The second available Digit is the Eight. It can be cast from unprocessed logic." + "" + "From here, plan via which calculations the other digits will be created, and how the cost can be minimised. Remember that each added calculation step ends up increasing the amount of Calculation Mechanisms required for the digit it leads to." + ] + dependencies: ["70D563EF30E9CB97"] + id: "3126DE83A6741671" + tasks: [ + { + id: "18BB7C8E32701CB6" + type: "item" + item: "kubejs:eight" + consume_items: false + } + { + id: "4DAD021C66AB2A27" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:zero" + x: 5.5d + y: 11.5d + subtitle: "Contraption 44-8" + description: ["3-3, 2-2, 8-8,...? A total of 39 options exist to calculate zeros. A tough decision!"] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "2441491CB5D5E57D" + tasks: [ + { + id: "6FF94B3F20E69F43" + type: "item" + item: "kubejs:zero" + consume_items: false + } + { + id: "3413FA802F33F4BF" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:one" + x: -1.5d + y: 11.5d + subtitle: "Contraption 44-1" + description: ["3-2, 4/4, 8-7,...? A total of 21 options exist to calculate ones. Whichever will it be?"] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "42B5C0102B22F389" + tasks: [ + { + id: "61A3EF7882F2A31E" + type: "item" + item: "kubejs:one" + consume_items: false + } + { + id: "402FD7973EC66AEA" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:two" + x: -0.5d + y: 11.5d + subtitle: "Contraption 44-2" + description: ["3-1, 8/4, 1+1,...? A total of 17 options exist to calculate twos. Any favourites?"] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "5358E5F7FB59DD60" + tasks: [ + { + id: "2AD655BD7E1A0EBF" + type: "item" + item: "kubejs:two" + consume_items: false + } + { + id: "14D9C52366D6AF27" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:four" + x: 0.5d + y: 11.5d + subtitle: "Contraption 44-3" + description: ["6-2, 2x2, 3+1,...? A total of 16 options exist to calculate fours. Choose wisely."] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "55F959A18E904D6C" + tasks: [ + { + id: "54FEAD9C942788CF" + type: "item" + item: "kubejs:four" + consume_items: false + } + { + id: "3662CA8BEE33E02D" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:five" + x: 1.5d + y: 11.5d + subtitle: "Contraption 44-4" + description: ["3+2, 6-1, 8-3,...? A total of 14 options exist to calculate fives. How do you want to do this?"] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "7927B6162577FA7B" + tasks: [ + { + id: "0B94D4B1C2A131DA" + type: "item" + item: "kubejs:five" + consume_items: false + } + { + id: "4963498277C8A578" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:six" + x: 2.5d + y: 11.5d + subtitle: "Contraption 44-5" + description: ["3x2, 3+3, 8-2,...? A total of 16 options exist to calculate sixes. May the best be victorious."] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "1C6657984648B0D4" + tasks: [ + { + id: "0127797E6B5249A2" + type: "item" + item: "kubejs:six" + consume_items: false + } + { + id: "3E69BC01E47532D1" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:seven" + x: 3.5d + y: 11.5d + subtitle: "Contraption 44-6" + description: ["9-2, 4+3, 8-1,...? A total of 14 options exist to calculate sevens. Feeling Lucky?"] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "4A16CE3BC111280F" + tasks: [ + { + id: "7FA25AD87CBD6B62" + type: "item" + item: "kubejs:seven" + consume_items: false + } + { + id: "44A10C4B490D3C62" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:nine" + x: 4.5d + y: 11.5d + subtitle: "Contraption 44-7" + description: ["3x3, 4+5, 8+1,...? A total of 15 options exist to calculate nines. The choice is yours."] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "7D808F15BEDD7A7B" + tasks: [ + { + id: "2F81E83410906BB5" + type: "item" + item: "kubejs:nine" + consume_items: false + } + { + id: "5521427D5BAF2771" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Upcycle Bin" + icon: "appliedenergistics2:matter_ball" + x: 2.0d + y: 3.0d + subtitle: "Contraption 47" + description: [ + "Rocketry Equipment is built from the light but robust material of Matter Plastics. Matter Balls can be created in a Matter Condenser." + "" + "First, insert a 1k ME Storage Component into the Matter Condenser, set it to produce Matter Balls and then supply it with the most abundant flow of items you can come up with. Don't throw your valuables in; the items are consumed in the process." + ] + hide_dependency_lines: true + dependencies: ["5D0454F977C4F080"] + id: "3CBED6B591BCEDEA" + tasks: [ + { + id: "245415CFAEFCA7ED" + type: "item" + item: "appliedenergistics2:matter_ball" + consume_items: false + } + { + id: "0811C927283EE155" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Expensive Bricks II" + x: 2.0d + y: 4.5d + shape: "circle" + description: ["Create bars of Matter Plastics in a Super-Heated Compacter. You'll need a couple of these."] + dependencies: [ + "6F750A66D0A559DE" + "3CBED6B591BCEDEA" + ] + id: "6A156D11D983661D" + tasks: [{ + id: "25532A2369192051" + type: "item" + item: "kubejs:matter_plastics" + consume_items: false + }] + } + { + title: "Black Gold" + icon: "thermal:crude_oil_bucket" + x: -2.5d + y: 8.0d + shape: "circle" + description: ["For powering our Rocket, we will require some very potent fuel. Search some of the warmer biomes for a source of Crude Oil. You cannot miss it."] + hide_dependency_lines: true + dependencies: ["5D0454F977C4F080"] + id: "4761DAE59CDD93AF" + tasks: [{ + id: "69EE10F8CDFF7980" + type: "item" + title: "Any Crude Oil Bucket" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "kubejs:crude_oil_bucket" + Count: 1b + } + { + id: "thermal:crude_oil_bucket" + Count: 1b + } + ] + } + } + consume_items: false + }] + } + { + title: "Hydrocarbon Sorter I" + x: -1.0d + y: 8.0d + shape: "circle" + description: ["Crude Oil can be refined into Heavy Oil using a Fractionating Still."] + dependencies: ["4761DAE59CDD93AF"] + id: "2BD76CB3F8BC215E" + tasks: [{ + id: "0F12D5A3157F61C4" + type: "item" + item: "thermal:heavy_oil_bucket" + consume_items: false + }] + } + { + title: "Hydrocarbon Sorter II" + x: -1.0d + y: 9.0d + shape: "circle" + description: ["Refining Crude Oil into Heavy Oil creates a by-product of Light Oil."] + dependencies: ["4761DAE59CDD93AF"] + id: "26DD1CA6A8D4E249" + tasks: [{ + id: "2EA66D1B4EEBFA62" + type: "item" + item: "thermal:light_oil_bucket" + consume_items: false + }] + } + { + title: "Hydrocarbon Sorter III" + x: 0.5d + y: 9.0d + shape: "circle" + subtitle: "Contraption 46" + description: ["Both Heavy and Light Oil can be further refined into suitable Rocket Fuel."] + dependencies: [ + "2BD76CB3F8BC215E" + "26DD1CA6A8D4E249" + ] + dependency_requirement: "one_completed" + id: "25B76A897D97C9F1" + tasks: [{ + id: "5CAC7E6BDD460233" + type: "item" + item: "thermal:refined_fuel_bucket" + consume_items: false + }] + } + { + title: "Treat for Heat" + x: 3.5d + y: 3.5d + shape: "circle" + description: ["To form Matter Plastics, we need temperatures unreachable by even the most overclocked Invar Machines. However, your little Blaze friend will be happy to trade..."] + hide_dependency_lines: true + dependencies: ["5D0454F977C4F080"] + id: "6F750A66D0A559DE" + tasks: [{ + id: "588732AF86BA6A8D" + type: "item" + item: "create:blaze_cake" + consume_items: false + }] + } + { + title: "Attire" + icon: "advancedrocketry:spacehelmet" + x: -1.0d + y: 6.0d + shape: "circle" + description: ["If you intend to survive past the landing, a special set of armour will be required."] + dependencies: ["6A156D11D983661D"] + id: "6BA9A176EDA001A3" + tasks: [ + { + id: "7E45D4E589606928" + type: "item" + item: "advancedrocketry:spacehelmet" + consume_items: false + } + { + id: "00E67717F76ABA56" + type: "item" + item: "advancedrocketry:spacechest" + consume_items: false + } + { + id: "3D1FB475F19FB099" + type: "item" + item: "advancedrocketry:spaceleggings" + consume_items: false + } + { + id: "29F72399D75E555C" + type: "item" + item: "advancedrocketry:spaceboots" + consume_items: false + } + ] + } + { + title: "Where to?" + x: 3.5d + y: 9.0d + shape: "circle" + description: ["In order for your Guidance Computer to know its Destination, a Planet Id Chip has to be inserted."] + hide_dependency_lines: true + dependencies: ["5D0454F977C4F080"] + id: "462CE0A4C80442FB" + tasks: [{ + id: "4036EE2984EFEA1A" + type: "item" + item: { + id: "advancedrocketry:planet_id_chip" + Count: 1b + tag: { + dimId: "custommoon:moon" + DimensionName: " The Moon " + } + } + consume_items: false + }] + } + { + title: "Electrolysis" + icon: "advancedrocketry:oxygencharger" + x: 0.5d + y: 6.0d + shape: "circle" + subtitle: "Contraption 48" + description: [ + "In order to fill your Oxygen Tanks, stand on a Gas Charge Pad with oxygen in its internal storage." + "" + "Suitable Oxygen can be gained by separating water into its components via heated mixing." + ] + dependencies: ["6A156D11D983661D"] + id: "3AD7553F3C8593F9" + tasks: [ + { + id: "045DB251DB8BB97F" + type: "item" + item: "advancedrocketry:oxygencharger" + consume_items: false + } + { + id: "23140AC17E9BE946" + type: "item" + item: "advancedrocketry:bucketoxygen" + count: 4L + consume_items: false + } + ] + } + { + title: "Launch Pad Structure" + icon: "advancedrocketry:launchpad" + x: 2.0d + y: 6.0d + shape: "circle" + subtitle: "Contraption 49" + description: [ + "The Launch Pad for your Rocket requires special surface materials and reinforcement structures." + "" + "In order to learn about the specific guidelines, locate the ponder scene of the Guidance Computer, or use the command" + "" + "&6/c ponder advancedrocketry:guidancecomputer" + ] + dependencies: ["6A156D11D983661D"] + id: "4800892E1E70648D" + tasks: [ + { + id: "1F86655043929A18" + type: "item" + item: "advancedrocketry:launchpad" + consume_items: false + } + { + id: "2BC9E126D403902B" + type: "item" + item: "advancedrocketry:structuretower" + consume_items: false + } + { + id: "3D2474BE8BAE28D1" + type: "item" + item: "advancedrocketry:rocketassembler" + consume_items: false + } + ] + rewards: [{ + id: "6023AC8699FE1451" + type: "command" + title: "Open Ponder Scene" + icon: { + id: "occultism:book_of_calling_djinni_manage_machine" + Count: 1b + tag: { + spiritName: "Zedzeraeus" + } + } + team_reward: false + command: "/c ponder advancedrocketry:guidancecomputer" + player_command: true + }] + } + { + title: "Pipeless Loading" + icon: "libvulpes:linker" + x: 5.0d + y: 6.0d + shape: "circle" + description: ["A couple of additional Gadgets are required in order to load the rocket with fuel. For usages refer to the Ponder Scene of the Guidance Computer."] + dependencies: ["6A156D11D983661D"] + id: "1AE7B6CA4D1DBA6F" + tasks: [ + { + id: "4D0D4FCDA84500F4" + type: "item" + item: "advancedrocketry:fuelingstation" + consume_items: false + } + { + id: "0CA84D5F0130C60E" + type: "item" + item: "libvulpes:linker" + consume_items: false + } + ] + } + { + title: "Operators" + icon: "kubejs:plus" + x: 2.0d + y: 14.0d + subtitle: "Contraption 43-2" + description: ["Without the operators, a data center would not be able to combine digits into others. Provide your Calculators with an automated supply of any operator they end up requiring."] + dependencies: ["70D563EF30E9CB97"] + id: "4E85C8A2EEEB57C3" + tasks: [ + { + id: "69462AA912169E3B" + type: "item" + item: "kubejs:plus" + consume_items: false + } + { + id: "56E1C75AD6DF3119" + type: "item" + item: "kubejs:minus" + consume_items: false + } + { + id: "3BF3D9E9B3782EA3" + type: "item" + item: "kubejs:multiply" + consume_items: false + } + { + id: "5914CB0D1D6E839E" + type: "item" + item: "kubejs:divide" + consume_items: false + } + { + id: "26517C9D1C3D8269" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Spaceship" + icon: "advancedrocketry:fueltank" + x: 3.5d + y: 6.0d + shape: "circle" + subtitle: "Contraption &b50" + description: [ + "With the Launch Pad in place, it is time to construct your Spaceship. " + "" + "Give it your best, after all this is the final Contraption you've been working towards. " + "&7Though perhaps keep the palette simple- with the state that mod is in, see if you can avoid using any funky special rendered blocks here. Crashing to this now would be devastating." + ] + dependencies: [ + "6A156D11D983661D" + "4800892E1E70648D" + ] + id: "73473DC7269EC5B0" + tasks: [ + { + id: "5A1CC7C1BAFFABBC" + type: "item" + item: "advancedrocketry:rocketmotor" + consume_items: false + } + { + id: "303C6C7B357D47D9" + type: "item" + item: "advancedrocketry:fueltank" + consume_items: false + } + { + id: "5140EF835413E2FC" + type: "item" + item: "advancedrocketry:seat" + consume_items: false + } + ] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/chapters/welcome.snbt b/src/overrides/config/ftbquests/backup/chapters/welcome.snbt new file mode 100644 index 0000000..76e0673 --- /dev/null +++ b/src/overrides/config/ftbquests/backup/chapters/welcome.snbt @@ -0,0 +1,229 @@ +{ + id: "2EE5FBD9BD7C0265" + group: "" + order_index: 0 + filename: "welcome" + title: "Welcome" + icon: "biomesoplenty:wildflower" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Limitless Potential" + icon: "minecraft:gold_ore" + disable_toast: true + x: -3.5d + y: -5.0d + shape: "hexagon" + description: [ + "This pack is for you." + "We hope you'll have a good time with it." + "" + ] + size: 2.0d + id: "09356B3BEF298E06" + tasks: [{ + id: "7670232EEE67FE29" + type: "checkmark" + }] + rewards: [ + { + id: "732AA66A91BA5C2B" + type: "item" + item: "biomesoplenty:wildflower" + } + { + id: "1EE277823ACFB886" + type: "item" + item: "minecraft:flower_pot" + } + ] + } + { + title: "Completely Optional" + icon: "minecraft:grass_block" + disable_toast: true + x: -3.5d + y: -2.5d + shape: "hexagon" + description: [ + "The Questing system helps you with the primary customisations of the Modpack: &3Trades&r and the &6Progression of Tech&r" + "" + "Completing Quests is not required to progress through the game." + ] + hide_dependency_lines: true + dependencies: ["09356B3BEF298E06"] + size: 1.5d + id: "69D55492A8F42A94" + tasks: [{ + id: "0680791525813778" + type: "checkmark" + }] + } + { + title: "I" + icon: "create:cogwheel" + disable_toast: true + x: -4.0d + y: -1.0d + shape: "hexagon" + description: [ + "Modpack Description:" + "The sandbox has been turned upside down - be ready to invent your best Create Contraptions yet. " + "&7(Or the first, if you are that brave!)" + ] + dependencies: ["69D55492A8F42A94"] + size: 1.5d + id: "407236D2B1D2257D" + tasks: [{ + id: "71C8186F3C7861F2" + type: "checkmark" + }] + rewards: [{ + id: "3D4250D2B4800C1C" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "II" + icon: "create:large_cogwheel" + disable_toast: true + x: -3.5d + y: 0.5d + shape: "hexagon" + description: [ + "About fifty inventions lie between you and the moon. " + "" + "Thousands of components will flow through the ever-growing sequence of your machines, providing the means to explore the next level of technology. " + ] + dependencies: ["407236D2B1D2257D"] + size: 1.5d + id: "2C7ADB6C11B918B1" + tasks: [{ + id: "36AF6DA4FFED8DC2" + type: "checkmark" + }] + rewards: [{ + id: "1BF6428DE53BC0FF" + type: "item" + item: "minecraft:cookie" + }] + } + { + title: "III" + icon: "kubejs:andesite_machine" + disable_toast: true + x: -2.0d + y: 1.0d + shape: "hexagon" + description: [ + "Your entire factory will be put to the test as final products flow into the Data Centre, programming the Guidance computer of your Spaceship." + "" + "Every step is different, some may even differ depending on the generation seed of your World." + ] + dependencies: ["2C7ADB6C11B918B1"] + size: 1.5d + id: "1947C6CE179EBAC6" + tasks: [{ + id: "235CD0501F0E807C" + type: "checkmark" + }] + rewards: [{ + id: "4000DE1B90DA84CE" + type: "item" + item: "minecraft:wheat_seeds" + }] + } + { + title: "IV" + icon: "thermal:machine_press" + disable_toast: true + x: -0.5d + y: 0.5d + shape: "hexagon" + description: [ + "Tired of the grind?" + "" + "Fund the operation with coin provided either from various errands, or your chosen professions. " + "" + "Automatically ship produce from your farms or gather other players to aid you in your mission." + "" + "Then you can purchase all manner of resources, artifacts and building blocks from the market, making your life just a little bit easier." + ] + dependencies: ["1947C6CE179EBAC6"] + size: 1.5d + id: "58E38BA6D927409F" + tasks: [{ + id: "3A69DCA5AB7A36F2" + type: "checkmark" + }] + rewards: [{ + id: "583C35BA7A7B9004" + type: "item" + item: "thermal:silver_coin" + }] + } + { + title: "Quest Content Overwiew" + icon: { + id: "occultism:book_of_calling_djinni_manage_machine" + Count: 1b + tag: { + spiritName: "Marredaeus" + } + } + disable_toast: true + x: -1.5d + y: -1.5d + shape: "hexagon" + description: [ + "- &6The Bulletin Board&r provides means to earn currency for Trading." + "Here you can complete various errands or buy a profession permit for use in the Trading Machine." + "" + "- &6The Market&r gives you options to spend your money on a variety of fun and useful items and gadgets." + "" + "- &6Shipments&r are the Automated way to exchange coin for resources. Here you can buy Import Cards for use in the Trading Machine." + "" + "- The &3Factory Guide&r provides useful information for the path of Technology and Automation. All challenges to be overcome have been neatly organised into chapters and tasks. It is entirely optional to follow this Guide." + "" + "- The Section on &3Metallurgy&r gives an overview of the ways to turn your ore into refined metal. Different paths yield differently." + "" + "- &3Lifesavers&r brings a spotlight to all those little utilities that can help you overcome the challenges set before you." + ] + dependencies: ["58E38BA6D927409F"] + size: 1.5d + id: "00003FCBB33E62C4" + tasks: [{ + id: "181383A364ECB6F1" + type: "checkmark" + }] + rewards: [{ + id: "67E25D801A479C56" + type: "item" + item: "minecraft:writable_book" + }] + } + { + title: "Off you go" + icon: "minecraft:gold_block" + disable_toast: true + x: 2.0d + y: -1.5d + shape: "hexagon" + description: ["Now that you have an idea of what is new and what is not, settle in and start your Journey."] + dependencies: ["00003FCBB33E62C4"] + size: 2.0d + id: "31EDFA6D2FF86CB0" + tasks: [{ + id: "422CD0E2E5F2F158" + type: "checkmark" + }] + rewards: [{ + id: "27FC36C810ADB897" + type: "xp_levels" + xp_levels: 3 + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/backup/data.snbt b/src/overrides/config/ftbquests/backup/data.snbt new file mode 100644 index 0000000..c129d6a --- /dev/null +++ b/src/overrides/config/ftbquests/backup/data.snbt @@ -0,0 +1,22 @@ +{ + version: 13 + title: "&6 Above &f\\&&6 Beyond" + icon: "kubejs:abstruse_mechanism" + disable_toast: true + default_reward_team: true + default_consume_items: true + default_autoclaim_rewards: "disabled" + default_quest_shape: "square" + default_quest_disable_jei: false + emergency_items_cooldown: 300 + drop_loot_crates: false + loot_crate_no_drop: { + passive: 4000 + monster: 600 + boss: 0 + } + disable_gui: false + grid_scale: 1.0d + pause_game: false + lock_message: "" +} diff --git a/src/overrides/config/ftbquests/quests/chapter_groups.snbt b/src/overrides/config/ftbquests/quests/chapter_groups.snbt new file mode 100644 index 0000000..513e6d1 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapter_groups.snbt @@ -0,0 +1,6 @@ +{ + chapter_groups: [ + { id: "0810E42B2DD79973", title: "Remote Trading" } + { id: "331B6409EF6A7840", title: "Factory Guide" } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/lifesavers.snbt b/src/overrides/config/ftbquests/quests/chapters/lifesavers.snbt new file mode 100644 index 0000000..5357938 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/lifesavers.snbt @@ -0,0 +1,788 @@ +{ + id: "0D0BC5B3F6623669" + group: "331B6409EF6A7840" + order_index: 8 + filename: "lifesavers" + title: " Lifesavers" + icon: "minecraft:totem_of_undying" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Choo Choo" + icon: "minecraft:chest_minecart" + x: -2.0d + y: 1.0d + description: ["Minecarts are the most flexible mid-range item transport available to you. Seriously, once you've build one railway connection to transfer items between areas, you will never be able to stop adding more. The convenience of these loaders is just off the charts."] + id: "2A2FA80784667833" + tasks: [ + { + id: "66503A543285BEFD" + type: "item" + item: "moreminecarts:minecart_loader" + consume_items: false + } + { + id: "2191410CA7781B53" + type: "item" + item: "moreminecarts:powered_locking_rail" + consume_items: false + } + { + id: "04948068050357CD" + type: "item" + item: "moreminecarts:minecart_unloader" + consume_items: false + } + ] + rewards: [{ + id: "4BD894A359074AFC" + type: "item" + item: "minecraft:chest_minecart" + }] + } + { + title: "Control Centre" + icon: "projectred-illumination:red_inverted_fixture_light" + x: -4.0d + y: 1.0d + description: [ + "With new circuitry and wiring capability, you can make your factory a little smarter. Also those lamps you can make are really pretty." + "" + "For an actual piece of advice: it is pretty simple to set up a little circuit at a few points in your factory, which detect when an item has not been produced in a while. You can use redstone links to redirect those signals to a central control room, giving you an overview of which sections require maintenance." + "" + "The circuit on site is basically a tug of war between a slow timer and a content observer detecting the items. The Counter available from circuit stonecutting works perfectly for this." + ] + id: "1127129CBA2B5E6F" + tasks: [ + { + id: "19CF5DA7A8547E17" + type: "item" + item: "projectred-core:platformed_plate" + consume_items: false + } + { + id: "457F0290A225EEA9" + type: "item" + item: "projectred-transmission:red_alloy_wire" + consume_items: false + } + { + id: "17B93B8634BC1C2D" + type: "item" + title: "Any Illumar Dust" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "projectred-core:illumars" + } + } + consume_items: false + } + ] + rewards: [{ + id: "66E867F9537437F1" + type: "item" + item: "projectred-core:red_ingot" + random_bonus: 4 + }] + } + { + title: "Engineer's Companion" + x: -5.0d + y: -1.0d + description: ["Especially while building new Contraptions, this gadget is incredibly handy. Instead of filling up your pockets with components, simply pick up the toolbox from the workshop and bring it with you."] + id: "26C39961F2E2ABF2" + tasks: [{ + id: "5E687A6CBD96D0EF" + type: "item" + title: "Any Toolbox" + icon: "create:blue_toolbox" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "create:toolboxes" + } + } + consume_items: false + }] + rewards: [{ + id: "2AC846CB2DF485C8" + type: "item" + item: "create:golden_sheet" + }] + } + { + title: "Immersive Minimap" + x: -6.0d + y: -3.0d + description: [ + "A cute alternative to the all-powerful map hud is the atlas." + "" + "Aside from the fantastic feel and design; these atlases can be copied and handed to your friends. If one of the owners explores new Territory or places a marker, everyone else will see it too." + ] + id: "0B8816319F81C12A" + tasks: [{ + id: "180D1CB1BB7EB0AA" + type: "item" + item: "antiqueatlas:empty_antique_atlas" + consume_items: false + }] + rewards: [ + { + id: "2F5DF773BBBA2725" + type: "item" + item: "minecraft:map" + } + { + id: "4958596378CDE1F3" + type: "item" + item: "minecraft:item_frame" + } + ] + } + { + title: "Big Barrels II" + x: 1.0d + y: 3.0d + description: ["If you are looking for extra large but specialised storage space in a block, check out Storage Drawers."] + id: "382EBC32AC27C839" + tasks: [{ + id: "4BE344E1F204A43D" + type: "item" + title: "Any Storage Drawer" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "storagedrawers:drawers" + } + } + consume_items: false + }] + rewards: [{ + id: "2285D6CE87319B4A" + type: "item" + item: "storagedrawers:upgrade_template" + random_bonus: 4 + }] + } + { + title: "The Joy of Cooking" + x: 0.0d + y: -3.0d + description: ["Stoves are a good-looking and very useful campfire alternative. Together with a Cooking Pot, it can help you prepare the most delicious meals in the game."] + id: "0E4476BA80B316F6" + tasks: [{ + id: "72F2D3B586A81A2B" + type: "item" + item: "farmersdelight:stove" + consume_items: false + }] + rewards: [{ + id: "02BA7C4E293DD955" + type: "item" + item: "minecraft:salmon" + }] + } + { + title: "Hotswap replace" + x: -3.0d + y: -1.0d + description: ["Exchangers make for a nice tool to replace blocks with others. Saves you a lot of digging."] + id: "6D7D504E9DC22590" + tasks: [{ + id: "4BE0CCD6F383D961" + type: "item" + title: "Any Exchanger" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "exchangers:end_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:leadstone_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:hardened_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:reinforced_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:signalum_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:resonant_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:tuberous_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:creative_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:wooden_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:stone_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:golden_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:iron_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:diamond_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + { + id: "exchangers:emerald_exchanger" + Count: 1b + tag: { + mode: 0 + fuzzyPlacementChance: 100 + directionalPlacement: 0b + forceDropItems: 0b + fuzzyPlacement: 0b + voidItems: 0b + range: 0 + Damage: 0 + blockstate: { + Name: "minecraft:air" + } + } + } + ] + } + } + consume_items: false + }] + rewards: [{ + id: "12B2F2F9A6A257FE" + type: "item" + item: "forbidden_arcanus:ender_pearl_fragment" + }] + } + { + title: "Blockstacker" + x: -1.0d + y: -1.0d + description: ["Construction wands can extend complete walls or surfaces of blocks by the click of a button."] + id: "2F469F6F1511D9C4" + tasks: [{ + id: "039DD9EBD46B2C23" + type: "item" + title: "Any Construction Wand" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "constructionwand:stone_wand" + Count: 1b + tag: { + wand_options: { } + Damage: 0 + } + } + { + id: "constructionwand:infinity_wand" + Count: 1b + tag: { + wand_options: { } + } + } + { + id: "constructionwand:diamond_wand" + Count: 1b + tag: { + wand_options: { } + Damage: 0 + } + } + { + id: "constructionwand:iron_wand" + Count: 1b + tag: { + wand_options: { } + Damage: 0 + } + } + ] + } + } + consume_items: false + }] + rewards: [{ + id: "5B7C253D05152423" + type: "item" + item: "minecraft:scaffolding" + count: 16 + }] + } + { + title: "Pass me the butter" + x: 3.0d + y: -1.0d + description: ["Human Arms just aren't evolved to build machines efficiently, yet. Thankfully this gadget can make up for it by increasing your reach distance significantly."] + id: "7061F42CF050ADCA" + tasks: [{ + id: "0710C744349D2090" + type: "item" + item: { + id: "create:extendo_grip" + Count: 1b + tag: { + Damage: 0 + } + } + consume_items: false + }] + rewards: [{ + id: "40E5D8DBF58086BB" + type: "item" + item: "create:cogwheel" + count: 8 + }] + } + { + x: -4.0d + y: -3.0d + description: ["Sometimes it is desirable to travel to a specific Biome. The Nature's Compass can at least point you in the right direction."] + id: "45E7810E21F6F9AE" + tasks: [{ + id: "7AD38BD1318A493B" + type: "item" + item: { + id: "naturescompass:naturescompass" + Count: 1b + tag: { } + } + consume_items: false + }] + rewards: [{ + id: "482338485BF4B3B0" + type: "item" + item: "biomesoplenty:spanish_moss" + random_bonus: 4 + }] + } + { + title: "Big Barrels" + x: -1.0d + y: 3.0d + description: ["In case you need large universal storage space in a block, check out the upgrade options for wooden barrels."] + id: "50E2D6459F3D68C0" + tasks: [{ + id: "6D6CDA4DEFD5795F" + type: "item" + title: "Any Upgraded Barrel" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "metalbarrels:gold_barrel" + Count: 1b + } + { + id: "metalbarrels:iron_barrel" + Count: 1b + } + { + id: "metalbarrels:silver_barrel" + Count: 1b + } + { + id: "metalbarrels:copper_barrel" + Count: 1b + } + ] + } + } + consume_items: false + }] + rewards: [{ + id: "390AF1049C411219" + type: "item" + item: "minecraft:barrel" + random_bonus: 4 + }] + } + { + title: "House Building Cannon" + x: 1.0d + y: -1.0d + description: ["With the help of Schematicannons, any .nbt Schematic can be built into your world. Use it to replicate parts of your Building, or even to prepare it in a completely different World ahead of time."] + id: "09EB29F838620371" + tasks: [{ + id: "103E6982FCFE8B6C" + type: "item" + item: "create:schematicannon" + consume_items: false + }] + rewards: [{ + id: "7AF62EF3656DD4E3" + type: "item" + item: "create:empty_schematic" + }] + } + { + title: "Big Plans" + x: 2.0d + y: -3.0d + description: [ + "These Blueprints can be given one or more crafting recipes, which they then apply to your held items whenever you right-click them." + "" + "The quickest and most effective way to assign recipes is to locate the recipe in JEI while the blueprint UI is open. Clicking the '+' in the JEI recipe view will transfer the recipe ingredients to the blueprint for you." + ] + id: "6D900619B1967D72" + tasks: [{ + id: "006D992D77A782EF" + type: "item" + item: "create:crafting_blueprint" + consume_items: false + }] + rewards: [{ + id: "47ADAFAB537F63CE" + type: "item" + item: "minecraft:painting" + }] + } + { + title: "Pressure Tube" + x: 0.0d + y: 1.0d + description: [ + "Belts and Arms are great, but sometimes we will still give in to the guilty pleasure of using item pipes." + "" + "These tubes however can even serve as a pretty sophisticated logistical infrastructure. Blocks like the Item- or Crafting Terminal will be able to request items from any chests connected to them." + ] + id: "334146C815B304DB" + tasks: [{ + id: "461F9FF1732B308F" + type: "item" + item: "prettypipes:pipe" + consume_items: false + }] + rewards: [{ + id: "35445550FFC9B565" + type: "item" + item: "kubejs:pipe_module_tier_1" + }] + } + { + title: "Induction Conduits" + x: 2.0d + y: 1.0d + description: [ + "With the rise of Inductive Machinery, you'll want to have the option to connect dynamos and machines together in an energy grid." + "" + "Something to look out for is that these ducts do not always know when to extract power from a block. You can use a Wrench to sneak-click the pipe connection near the block in order to enable/disable pulling." + ] + id: "6BC864CC7CB2C316" + tasks: [{ + id: "4912723B6A264380" + type: "item" + item: "pipez:energy_pipe" + consume_items: false + }] + rewards: [{ + id: "5EA5B33DA2E47592" + type: "item" + item: "thermal:signalum_ingot" + random_bonus: 4 + }] + } + { + title: "Bottoms up!" + x: -7.0d + y: -1.0d + description: ["You can use a Keg to create your favourite brews. Drink Responsibly."] + id: "7D63FF6A2243A06B" + tasks: [{ + id: "3AD6B6675D0D19D0" + type: "item" + item: "drinkbeer:beer_mug" + consume_items: false + }] + rewards: [{ + id: "43B1D0036D231078" + type: "item" + item: "minecraft:wheat" + random_bonus: 4 + }] + } + { + title: "Friend?" + x: 1.0d + y: -5.0d + description: ["Placing a Carved Pumpkin on a Hay Bale creates a Straw Golem, who can take care of your crops."] + id: "1DBFD0B34659A8F9" + tasks: [ + { + id: "7596BE1437EA002D" + type: "item" + item: "minecraft:hay_block" + consume_items: false + } + { + id: "7986E1E6575F2C25" + type: "item" + item: "minecraft:carved_pumpkin" + consume_items: false + } + ] + rewards: [{ + id: "7BD14F5479FAB194" + type: "item" + item: "minecraft:sweet_berries" + random_bonus: 4 + }] + } + { + title: "Roll for Intelligence" + x: 4.0d + y: -3.0d + description: ["Sometimes it is hard to make up ones' mind. Thankfully, we have technology to help us make our decision."] + id: "087659F192F41C6E" + tasks: [{ + id: "0F82D1FCCA10EFBC" + type: "item" + title: "Any Dice" + icon: "dice:white_d6" + item: { + id: "itemfilters:mod" + Count: 1b + tag: { + value: "dice" + } + } + consume_items: false + }] + rewards: [{ + id: "3D69B03DFCB41179" + type: "item" + item: "randomium:randomium_ore" + }] + } + { + title: "The other Gamemode" + icon: "magicfeather:magicfeather" + x: 3.0d + y: 3.0d + description: ["Magic Feathers grant flight to the weilder, albeit only within the range of a Beacon Beam. Still, this should be of great help in setting up big factories!"] + id: "0F4B0608CBF966E6" + tasks: [ + { + id: "18A86C2CE288A35A" + type: "item" + item: "magicfeather:magicfeather" + consume_items: false + } + { + id: "6D2E7DBD75292896" + type: "item" + item: "minecraft:beacon" + consume_items: false + } + ] + rewards: [{ + id: "3E31A943AAC038E9" + type: "item" + item: "minecraft:iron_block" + count: 9 + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/market.snbt b/src/overrides/config/ftbquests/quests/chapters/market.snbt new file mode 100644 index 0000000..5867e5a --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/market.snbt @@ -0,0 +1,1180 @@ +{ + id: "44F68408CAD025B8" + group: "0810E42B2DD79973" + order_index: 1 + filename: "market" + title: "&a The Market" + icon: "minecraft:chest" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Sleepless" + icon: "minecraft:cyan_bed" + x: -9.5d + y: -1.5d + subtitle: "10 Silver" + description: ["Your last resort in case the sundown beat you to it."] + id: "5D17CB247942013A" + tasks: [{ + id: "0783860FB502A201" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [{ + id: "55EF0FE847AE3353" + type: "item" + item: "minecraft:cyan_bed" + }] + } + { + title: "Fortress Locator" + icon: "create:blaze_burner" + x: -7.5d + y: 0.5d + subtitle: "2 Gold" + description: ["Aimlessly traversing the nether is just the worst. This wonderful gadget will point you in the correct direction at all times."] + id: "252B9DD5BFB8184A" + tasks: [{ + id: "5345AA8760A95127" + type: "item" + icon: { id: "thermal:gold_coin", Count: 2b } + item: "thermal:gold_coin" + count: 2L + }] + rewards: [{ + id: "160328DECC54AD5A" + type: "item" + item: { + id: "structurescompass:structures_compass" + Count: 1b + tag: { + Structure: "minecraft:fortress" + } + } + }] + } + { + title: "Saw everything" + icon: { + id: "cb_microblock:diamond_saw" + Count: 1b + tag: { + RepairCost: 0 + Damage: 0 + Enchantments: [{ + lvl: 3s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Saw\"}" + } + } + } + x: -8.5d + y: -6.5d + subtitle: "5 Gold" + description: ["Buy this relic to minimise the Tool Maintenance in the assembly of &6Kinetic Mechanisms&r."] + hide_dependency_lines: true + id: "4F953BACF4D1C151" + tasks: [ + { + id: "4C77B71D0EC3B2EA" + type: "item" + item: { + id: "cb_microblock:diamond_saw" + Count: 1b + tag: { + Damage: 0 + } + } + } + { + id: "3EE8736C08EF80F4" + type: "item" + icon: { id: "thermal:gold_coin", Count: 5b } + item: "thermal:gold_coin" + count: 5L + } + ] + rewards: [{ + id: "56DB21D18FB1FF64" + type: "item" + item: { + id: "cb_microblock:diamond_saw" + Count: 1b + tag: { + Unbreakable: 1 + RepairCost: 0 + HideFlags: 1 + Enchantments: [{ + lvl: 10s + id: "minecraft:unbreaking" + }] + display: { + Lore: ["{\"text\":\"Do not use in manual crafting\"}"] + Name: "{\"text\":\"Enchanted Saw\",\"color\":\"gold\",\"italic\":false}" + } + Damage: 0 + } + } + }] + } + { + title: "Never Screwed" + icon: { + id: "projectred-core:screwdriver" + Count: 1b + tag: { + Damage: 0 + Enchantments: [{ + lvl: 3s + id: "minecraft:unbreaking" + }] + } + } + x: -7.0d + y: -6.5d + subtitle: "5 Gold" + description: ["Buy this relic to minimise the Tool Maintenance in the assembly of &6Precision Mechanisms&r."] + id: "72CACE8F0E4701B1" + tasks: [ + { + id: "1E25EB2883C9A960" + type: "item" + item: { + id: "projectred-core:screwdriver" + Count: 1b + tag: { + Damage: 0 + } + } + } + { + id: "74585BB7E80CF010" + type: "item" + icon: { id: "thermal:gold_coin", Count: 5b } + item: "thermal:gold_coin" + count: 5L + } + ] + rewards: [{ + id: "743730BBE32A0875" + type: "item" + item: { + id: "projectred-core:screwdriver" + Count: 1b + tag: { + Unbreakable: 1 + Damage: 0 + HideFlags: 1 + Enchantments: [{ + lvl: 10s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Screwdriver\",\"color\":\"gold\",\"italic\":false}" + } + } + } + }] + } + { + title: "Magnetic Energetic" + icon: { + id: "kubejs:chromatic_resonator" + Count: 1b + tag: { + Damage: 0 + Enchantments: [{ + lvl: 3s + id: "minecraft:unbreaking" + }] + } + } + x: -5.0d + y: -6.5d + subtitle: "7 Gold" + description: ["Buy this relic to minimise the Tool Maintenance in the assembly of &6Inductive Mechanisms&r."] + id: "43FC566E833BE834" + tasks: [ + { + id: "36CBD54BCB068EB1" + type: "item" + item: { + id: "kubejs:chromatic_resonator" + Count: 1b + tag: { + Damage: 0 + } + } + } + { + id: "5B31A98B9EFCCFAB" + type: "item" + icon: { id: "thermal:gold_coin", Count: 7b } + item: "thermal:gold_coin" + count: 7L + } + ] + rewards: [{ + id: "0F4C7BB4C0ECB4CC" + type: "item" + item: { + id: "kubejs:chromatic_resonator" + Count: 1b + tag: { + Unbreakable: 1 + Damage: 0 + HideFlags: 1 + Enchantments: [{ + lvl: 10s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Resonator\",\"color\":\"gold\",\"italic\":false}" + } + } + } + }] + } + { + title: "The Market" + icon: "minecraft:chest" + x: -6.0d + y: -4.0d + shape: "hexagon" + description: [ + "&6The Market&r gives you options to spend your money on a variety of fun and useful items and gadgets." + "" + "Have a look around. I'm sure you'll find something of use." + ] + size: 2.0d + id: "0F870BEA235D662D" + tasks: [{ + id: "3929233A89B34A71" + type: "checkmark" + }] + } + { + title: "Manual Exchange" + icon: { id: "thermal:silver_coin", Count: 16b } + x: -4.0d + y: -4.0d + shape: "circle" + subtitle: "Gold -> Silver" + description: ["Here you can exchange a Gold Coin back to a Stack of Silver."] + dependencies: ["0F870BEA235D662D"] + id: "5326F6482C45D22A" + tasks: [{ + id: "772821832EE93341" + type: "item" + item: "thermal:gold_coin" + }] + rewards: [ + { + id: "26512E93CE404069" + type: "item" + icon: { id: "thermal:silver_coin", Count: 64b } + auto: "enabled" + item: "thermal:silver_coin" + count: 64 + } + { + id: "6FA6A9A201CA27BE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Manual Exchange" + icon: { id: "thermal:gold_coin", Count: 2b } + x: -8.0d + y: -4.0d + shape: "circle" + subtitle: "Silver -> Gold" + description: ["Some trades require you to hand in Gold Coins. These are worth a stack of Silver each."] + dependencies: ["0F870BEA235D662D"] + id: "1A566C74B1F7F050" + tasks: [{ + id: "2387D852CA97AD1A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 64b } + item: "thermal:silver_coin" + count: 64L + }] + rewards: [ + { + id: "66BE3DDEC92812C4" + type: "item" + auto: "enabled" + item: "thermal:gold_coin" + } + { + id: "6E78A95786CA5B28" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Corporate Dinner" + icon: "farmersdelight:steak_and_potatoes" + x: -8.0d + y: -2.0d + subtitle: "10 Silver" + description: ["Sometimes you have to treat yourself and the co-workers to a nice meal."] + id: "09DC2E2BE2BE32F4" + tasks: [{ + id: "6235F365D702DF2B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "05B553B614119E4A" + type: "item" + item: "farmersdelight:steak_and_potatoes" + count: 4 + } + { + id: "607D48921297C475" + type: "item" + item: "create:builders_tea" + count: 4 + } + { + id: "37DB33F821AD0AFE" + type: "item" + item: "minecraft:bread" + count: 2 + } + { + id: "51A8014ACD2153F6" + type: "item" + item: "farmersdelight:mixed_salad" + count: 4 + } + { + id: "5CD27D9058DAFAAB" + type: "item" + item: "farmersdelight:sweet_berry_cookie" + count: 4 + } + ] + } + { + title: "Landfill Pickup" + icon: "minecraft:dirt" + x: -6.0d + y: 0.0d + subtitle: "15 Silver" + description: ["Early on it might help to import some dirt for base building."] + id: "4B01606CE7AF3121" + tasks: [{ + id: "188BEC2BA245DB13" + type: "item" + icon: { id: "thermal:silver_coin", Count: 15b } + item: "thermal:silver_coin" + count: 15L + }] + rewards: [ + { + id: "65597F84B69546EF" + type: "item" + item: "minecraft:dirt" + count: 64 + } + { + id: "5ED9F3AFC25DD60E" + type: "item" + item: "minecraft:dirt" + count: 64 + } + { + id: "1A8CE751232C7235" + type: "item" + item: "minecraft:dirt" + count: 64 + } + ] + } + { + title: "Test of Patience" + icon: { + id: "minecraft:barrel" + Count: 1b + tag: { + Enchantments: [{ + lvl: 1s + id: "minecraft:unbreaking" + }] + } + } + x: -9.0d + y: 0.0d + subtitle: "50 Silver" + description: ["This mysterious fellow is offering a puzzle box with seemingly endless layers of depth. As an expert you know that this can only be finite. But what will await you at the bottom?"] + id: "09EA580B3D32FEEB" + tasks: [{ + id: "3EA558277444F605" + type: "item" + icon: { id: "thermal:silver_coin", Count: 50b } + item: "thermal:silver_coin" + count: 50L + }] + rewards: [{ + id: "1E10CE8D433DD70E" + type: "item" + item: { + id: "minecraft:barrel" + Count: 1b + tag: { + HideFlags: 1 + BlockEntityTag: { + Items: [ + { + Slot: 11b + id: "minecraft:paper" + Count: 1b + tag: { + RepairCost: 0 + display: { + bold: 0b + Name: "{\"italic\": false, \"text\":\"Welcome, Challenger\"}" + } + } + } + { + Slot: 15b + id: "minecraft:barrel" + Count: 1b + tag: { + BlockEntityTag: { + Items: [ + { + Slot: 3b + id: "minecraft:paper" + Count: 1b + tag: { + RepairCost: 0 + display: { + Name: "{\"italic\": false, \"text\":\"You'll have to unbox a few of these\"}" + } + } + } + { + Slot: 23b + id: "minecraft:barrel" + Count: 1b + tag: { + BlockEntityTag: { + Items: [ + { + Slot: 11b + id: "minecraft:barrel" + Count: 1b + tag: { + BlockEntityTag: { + LootTable: "custom:chests/patience_1" + } + display: { + Lore: ["{\"italic\":true,\"color\":\"gray\",\"text\":\"The fabled prize awaits at the bottom...\"}"] + } + } + } + { + Slot: 13b + id: "minecraft:paper" + Count: 1b + tag: { + RepairCost: 0 + display: { + Name: "{\"italic\": false, \"text\":\"Good luck, see you at the bottom!\"}" + } + } + } + { + Slot: 14b + id: "minecraft:apple" + Count: 1b + tag: { + display: { + Name: "{\"italic\": false, \"text\":\"Motivational Apple\"}" + } + } + } + ] + id: "minecraft:barrel" + } + display: { + Lore: ["{\"text\": \"The fabled prize awaits at the bottom...\",\"italic\": true,\"color\": \"gray\"}"] + } + } + } + ] + id: "minecraft:barrel" + } + display: { + Lore: ["{\"text\": \"The fabled prize awaits at the bottom...\",\"italic\": true,\"color\": \"gray\"}"] + } + } + } + ] + id: "minecraft:barrel" + } + display: { + Lore: ["{\"italic\":true,\"color\":\"gray\",\"text\":\"The fabled prize awaits at the bottom...\"}"] + Name: "{\"italic\":false,\"text\":\"Test of Patience\",\"color\":\"dark_purple\"}" + } + Enchantments: [{ + lvl: 1s + id: "minecraft:unbreaking" + }] + } + } + }] + } + { + title: "Enderpack" + icon: "minecraft:shulker_box" + x: -4.5d + y: -0.5d + subtitle: "55 Silver" + description: ["It's like a backpack but classy."] + id: "4FD46F841CCD59F8" + tasks: [{ + id: "709557A517B0143F" + type: "item" + icon: { id: "thermal:silver_coin", Count: 55b } + item: "thermal:silver_coin" + count: 55L + }] + rewards: [ + { + id: "7B8F11CCEDEBEBD6" + type: "item" + item: "minecraft:shulker_shell" + } + { + id: "364AA663BD7C519F" + type: "item" + item: "minecraft:chest" + } + { + id: "440DF47BEF341626" + type: "item" + item: "minecraft:shulker_shell" + } + ] + } + { + title: "The Tinkerbox" + icon: { + id: "tconstruct:creative_slot" + Count: 1b + tag: { + slot: "upgrades" + } + } + x: -2.5d + y: 1.5d + subtitle: "25 Silver" + description: ["\"I found this in an abandoned Workshop down the road; would you like to buy it?\""] + id: "0CCF34BF1C5829AE" + tasks: [{ + id: "32ACF7B1C0BD9D97" + type: "item" + icon: { id: "thermal:silver_coin", Count: 25b } + item: "thermal:silver_coin" + count: 25L + }] + rewards: [{ + id: "37DBD1EF724A42D9" + type: "item" + item: { + id: "minecraft:chest" + Count: 1b + tag: { + BlockEntityTag: { + LootTable: "custom:chests/tinker" + id: "minecraft:chest" + } + display: { + Lore: ["{\"text\":\"Contains Loot\",\"color\":\"gray\",\"italic\":\"false\"}"] + Name: "{\"text\":\"Tinkerbox\",\"italic\":false}" + } + } + } + }] + } + { + title: "1-Up!" + icon: "minecraft:totem_of_undying" + x: -3.0d + y: 0.0d + subtitle: "60 Silver" + id: "6D9F2FBEB7CC5195" + tasks: [{ + id: "165B9A886A26BCC8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 60b } + item: "thermal:silver_coin" + count: 60L + }] + rewards: [{ + id: "6BCBFB22A82A5698" + type: "item" + item: "minecraft:totem_of_undying" + }] + } + { + title: "Where mob ?" + icon: "create:haunted_bell" + x: -4.0d + y: 2.0d + subtitle: "45 Silver" + description: ["As seen on TV: This Magical Bell can detect unlit areas around it. Free shipping, bonus cursed campfire. What a Deal!"] + id: "4B52A04818075900" + tasks: [{ + id: "4FB1B4787D648565" + type: "item" + icon: { id: "thermal:silver_coin", Count: 35b } + item: "thermal:silver_coin" + count: 45L + }] + rewards: [ + { + id: "0257303302DADA1B" + type: "item" + item: "create:peculiar_bell" + } + { + id: "30D4605E06FF45B6" + type: "item" + item: "minecraft:soul_campfire" + } + ] + } + { + title: "Windows Update" + icon: { + id: "kubejs:flash_drive" + Count: 1b + tag: { + Damage: 0 + Enchantments: [{ + lvl: 10s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Flash Drive\",\"color\":\"gold\",\"italic\":false}" + } + } + } + x: -3.5d + y: -6.5d + subtitle: "7 Gold" + description: ["Buy this relic to minimise the Tool Maintenance in the assembly of &6Calculation Mechanisms&r."] + id: "00D6DD6AE8E3C014" + tasks: [ + { + id: "561DF7A17B804B1F" + type: "item" + item: { + id: "kubejs:flash_drive" + Count: 1b + tag: { + Damage: 0 + } + } + } + { + id: "04FA9389D991556D" + type: "item" + icon: { id: "thermal:gold_coin", Count: 11b } + item: "thermal:gold_coin" + count: 7L + } + ] + rewards: [{ + id: "3EA7518063CBEA5B" + type: "item" + item: { + id: "kubejs:flash_drive" + Count: 1b + tag: { + Unbreakable: 1 + Damage: 0 + HideFlags: 1 + Enchantments: [{ + lvl: 10s + id: "minecraft:unbreaking" + }] + display: { + Name: "{\"text\":\"Enchanted Flash Drive\",\"color\":\"gold\",\"italic\":false}" + } + } + } + }] + } + { + title: "Press Express" + icon: "appliedenergistics2:silicon_press" + x: -1.0d + y: 2.0d + subtitle: "6 Gold" + description: ["True IT experts tend to avoid going outside much. Thankfully the necessary computer parts can now be delivered directly to their inventory!"] + id: "4BAC95CCC72369AD" + tasks: [{ + id: "3D328A6D69E64EDA" + type: "item" + icon: { id: "thermal:gold_coin", Count: 12b } + item: "thermal:gold_coin" + count: 6L + }] + rewards: [{ + id: "51ABA96DE3477D3B" + type: "item" + item: "kubejs:circuit_scrap" + count: 4 + }] + } + { + title: "Adopt a Duck" + icon: "minecraft:egg" + x: -11.0d + y: -2.0d + subtitle: "5 Silver" + description: ["Quack"] + id: "6C00F2935F27C2AD" + tasks: [ + { + id: "491FF95EFE8DCB67" + type: "item" + icon: { id: "thermal:silver_coin", Count: 5b } + item: "thermal:silver_coin" + count: 5L + } + { + id: "5F58BA2473FD6DDA" + type: "item" + item: "rubber_duck:rubber_duck_item" + } + ] + rewards: [ + { + id: "500098FD4762A38F" + type: "item" + auto: "enabled" + item: "exoticbirds:duck_spawn_egg" + } + { + id: "79C8307ED8450347" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Expensive Hobby" + icon: "buddycards:mystery_pack" + x: 0.5d + y: 1.5d + subtitle: "2 Gold" + description: ["Ah the joy of gambling."] + id: "093FB7B7FEC6B886" + tasks: [{ + id: "30B16CC21946FE8E" + type: "item" + icon: { id: "thermal:gold_coin", Count: 2b } + item: "thermal:gold_coin" + count: 2L + }] + rewards: [ + { + id: "198DC310752F341F" + type: "item" + auto: "enabled" + item: "buddycards:mystery_pack" + } + { + id: "423CFA69329BD06E" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Playing with Fire" + icon: "thermal:explosive_grenade" + x: -12.5d + y: -1.5d + subtitle: "32 Silver" + description: ["A little testing selection of Thermal Weaponry."] + id: "1CC29991D5F248CA" + tasks: [{ + id: "2BF8F9E5070C6122" + type: "item" + icon: { id: "thermal:silver_coin", Count: 32b } + item: "thermal:silver_coin" + count: 32L + }] + rewards: [ + { + id: "1C6218230C6D71A0" + type: "item" + item: "thermal:explosive_grenade" + count: 8 + } + { + id: "2D1A3F35DF8894FF" + type: "item" + item: "thermal:glowstone_grenade" + count: 8 + } + { + id: "093F58649A1E0DD6" + type: "item" + item: "thermal:ice_grenade" + count: 8 + } + { + id: "71BB0C93A4A7BC04" + type: "item" + item: "thermal:earth_grenade" + count: 8 + } + ] + } + { + title: "Gardener's Starter Pack" + icon: "biomesoplenty:glowflower" + x: -2.5d + y: -1.5d + subtitle: "24 Silver" + id: "42384DE39AA48976" + tasks: [{ + id: "05BB5DFA82280C0C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 24L + }] + rewards: [ + { + id: "26A16DC998FEF595" + type: "item" + item: "farmersdelight:organic_compost" + count: 8 + } + { + id: "68B1199F9AE6B8FE" + type: "item" + item: "supplementaries:planter_rich" + count: 16 + } + { + id: "5DEDD7BBA8A712AA" + type: "item" + item: "minecraft:flower_pot" + count: 8 + } + { + id: "01196A417139EA21" + type: "item" + item: "supplementaries:flower_box" + count: 4 + } + { + id: "648B819C1B484A3F" + type: "item" + item: "minecraft:grass_block" + count: 4 + } + ] + } + { + title: "Painter's Starter Kit" + icon: "minecraft:painting" + x: -9.5d + y: 1.5d + subtitle: "24 Silver" + id: "61B040CD0832EFC0" + tasks: [{ + id: "6404722100F1DEF7" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 24L + }] + rewards: [ + { + id: "6375AD9CBA9276E0" + type: "item" + item: "minecraft:white_wool" + count: 16 + } + { + id: "72F57D408AD5C84A" + type: "item" + item: "minecraft:white_dye" + count: 12 + } + { + id: "3477DB4BB2003475" + type: "item" + item: "minecraft:yellow_dye" + count: 12 + } + { + id: "14FE738419E8578F" + type: "item" + item: "minecraft:black_dye" + count: 12 + } + { + id: "4D37425F17A9D45F" + type: "item" + item: "minecraft:blue_dye" + count: 12 + } + { + id: "4A3F1D820F9F1D26" + type: "item" + item: "minecraft:green_dye" + count: 12 + } + { + id: "4FFD3D4728DFBB16" + type: "item" + item: "minecraft:red_dye" + count: 12 + } + { + id: "0F0A7101131FFC08" + type: "item" + item: "minecraft:brown_dye" + count: 12 + } + ] + } + { + title: "Railway Starter Pack" + icon: "minecraft:minecart" + x: -11.0d + y: 2.0d + subtitle: "24 Silver" + id: "117587D824D23D69" + tasks: [{ + id: "06C835DB602D6F9F" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 24L + }] + rewards: [ + { + id: "738387AED344C59B" + type: "item" + item: "moreminecarts:powered_locking_rail" + count: 8 + } + { + id: "4D33B3525FF09C68" + type: "item" + item: "minecraft:powered_rail" + count: 8 + } + { + id: "0A214A7B25C331F6" + type: "item" + item: "minecraft:lever" + count: 8 + } + { + id: "3F0919FBED64778C" + type: "item" + item: "minecraft:rail" + count: 64 + } + { + id: "6D3CCD1BF0BFD7D6" + type: "item" + item: "minecraft:rail" + count: 64 + } + ] + } + { + title: "Pet Owner's Starter Pack" + icon: "minecraft:tropical_fish" + x: -13.0d + y: 0.0d + subtitle: "24 Silver" + id: "2D75D1864FB1EF75" + tasks: [{ + id: "3AA788B63B6A73EF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 24L + }] + rewards: [ + { + id: "4961B49D79004571" + type: "item" + item: "minecraft:name_tag" + count: 4 + } + { + id: "054AEE030B3B81F6" + type: "item" + item: "minecraft:bone" + count: 8 + } + { + id: "29F276B6CDE4D6B5" + type: "item" + item: "minecraft:tropical_fish" + count: 8 + } + { + id: "53AA2AF7CA1EF02C" + type: "item" + item: "minecraft:saddle" + } + { + id: "762BB57B2AFDB21F" + type: "item" + item: "minecraft:lead" + count: 2 + } + ] + } + { + title: "Instant Aesthetics" + icon: "minecraft:oak_leaves" + x: 1.0d + y: 0.0d + subtitle: "24 Silver" + description: ["Not too stoked with your facade? Not a problem! Foliage solves everything."] + id: "7D93DAB3E8ACF953" + tasks: [{ + id: "06028A67C6DCCD00" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 24L + }] + rewards: [ + { + id: "1BA12452E9A090EC" + type: "item" + item: "biomesoplenty:flowering_oak_leaves" + count: 32 + } + { + id: "17FCE9D6C12A7822" + type: "item" + item: "minecraft:oak_leaves" + count: 64 + } + { + id: "51C2FE4F4F5057CC" + type: "item" + item: "minecraft:oak_leaves" + count: 64 + } + { + id: "5B801D097C1C538F" + type: "item" + item: "minecraft:spruce_leaves" + count: 64 + } + { + id: "5A23AFB90F20641B" + type: "item" + item: "minecraft:spruce_leaves" + count: 64 + } + { + id: "1EC1E1486084AE66" + type: "item" + item: "minecraft:spruce_fence" + count: 16 + } + ] + } + { + title: "No, not the bees!" + icon: "minecraft:bee_nest" + x: -1.0d + y: -2.0d + subtitle: "48 Silver" + id: "003E0D1CE60B166A" + tasks: [ + { + id: "6837BEE1075CC785" + type: "item" + icon: { id: "thermal:silver_coin", Count: 48b } + item: "thermal:silver_coin" + count: 48L + } + { + id: "3CCE09D1715B54C7" + type: "item" + title: "Any Flower" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:flowers" + } + } + count: 10L + } + ] + rewards: [ + { + id: "773C4F5E97BD82B8" + type: "item" + auto: "enabled" + item: "minecraft:bee_nest" + } + { + id: "0C8C369DEF6B0FD4" + type: "item" + auto: "no_toast" + item: "minecraft:bee_spawn_egg" + count: 2 + } + { + id: "6D5E00890DAB64DB" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/metallurgy.snbt b/src/overrides/config/ftbquests/quests/chapters/metallurgy.snbt new file mode 100644 index 0000000..db91660 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/metallurgy.snbt @@ -0,0 +1,333 @@ +{ + id: "1B927DD15CF28E13" + group: "331B6409EF6A7840" + order_index: 7 + filename: "metallurgy" + title: " Metallurgy" + icon: "thermal:silver_ingot" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Build-a-Processing:" + icon: "minecraft:gold_ore" + x: -9.0d + y: -4.0d + shape: "circle" + description: [ + "A simple Overview of most options to process your way from Ore to Ingot." + "" + "For every path through this graph, the effective yield per ore can be estimated by multiplying the ratio of each included step." + ] + id: "6B03056FA21424C0" + tasks: [{ + id: "4220B0B7F6BF4327" + type: "checkmark" + }] + } + { + title: "Mining Tool" + icon: { + id: "minecraft:iron_pickaxe" + Count: 1b + tag: { + Damage: 0 + } + } + x: -7.0d + y: -3.0d + subtitle: "1 to 1" + dependencies: ["6B03056FA21424C0"] + id: "7967324CAC77AF60" + tasks: [{ + id: "4B6F024B97BC278F" + type: "checkmark" + }] + } + { + title: "I: Crushed" + icon: "create:crushed_gold_ore" + x: -9.0d + y: -2.0d + shape: "circle" + dependencies: [ + "7967324CAC77AF60" + "005F2C4E203E7E62" + ] + dependency_requirement: "one_completed" + id: "612100C7C6E0A7C9" + tasks: [{ + id: "720C60FFE33E9E3B" + type: "checkmark" + }] + } + { + title: "Fortune" + icon: { + id: "minecraft:golden_pickaxe" + Count: 1b + tag: { + Damage: 0 + Enchantments: [{ + lvl: 3s + id: "minecraft:fortune" + }] + } + } + x: -5.0d + y: -3.0d + subtitle: "1 to 1-2" + dependencies: ["6B03056FA21424C0"] + id: "005F2C4E203E7E62" + tasks: [{ + id: "5EC097C40FE0A5DB" + type: "checkmark" + }] + } + { + title: "Pulverizing" + icon: "thermal:machine_pulverizer" + x: -3.0d + y: -1.0d + subtitle: "1 to 6" + dependencies: ["612100C7C6E0A7C9"] + id: "623EE1E0678E4F2A" + tasks: [{ + id: "32C926B2269E8EA9" + type: "checkmark" + }] + } + { + title: "II: Dust" + icon: "thermal:gold_dust" + x: -9.0d + y: 0.0d + shape: "circle" + dependencies: [ + "3A81BC460AF1756D" + "623EE1E0678E4F2A" + "352F5F851045653A" + ] + dependency_requirement: "one_completed" + id: "07BE7128982202A7" + tasks: [{ + id: "24827B93E6C39D1C" + type: "checkmark" + }] + } + { + title: "IIIb: Liquid" + icon: "tconstruct:molten_gold_bucket" + x: -8.5d + y: 2.0d + shape: "circle" + subtitle: "[in Nuggets]" + dependencies: [ + "18EDB4CD525CE110" + "715BBD0DF0136FF1" + "409A50CBCDBBA1F0" + ] + dependency_requirement: "one_completed" + id: "6509024553997AB0" + tasks: [{ + id: "63C79158B9BD32FF" + type: "checkmark" + }] + } + { + title: "IIIa: Nugget" + icon: "minecraft:gold_nugget" + x: -9.5d + y: 2.0d + shape: "circle" + dependencies: [ + "21E76761CD3761C2" + "2C2E304910D7F33D" + "171A0F26C6608E83" + "5FCCD2F720115D41" + ] + dependency_requirement: "one_completed" + id: "29DABB5FDE6356E9" + tasks: [{ + id: "076ACC98C6F22EF6" + type: "checkmark" + }] + } + { + title: "Smelting" + icon: "minecraft:furnace" + x: -11.0d + y: -1.0d + subtitle: "1 to 3" + dependencies: ["612100C7C6E0A7C9"] + id: "21E76761CD3761C2" + tasks: [{ + id: "2B5E747AF5ADDD50" + type: "checkmark" + }] + } + { + title: "Crushing" + icon: "create:crushing_wheel" + x: -5.0d + y: -1.0d + subtitle: "1 to 3-6" + dependencies: ["612100C7C6E0A7C9"] + id: "352F5F851045653A" + tasks: [{ + id: "6F089C1EAF85CBC6" + type: "checkmark" + }] + } + { + title: "Milling" + icon: "create:millstone" + x: -7.0d + y: -1.0d + subtitle: "1 to 3" + dependencies: ["612100C7C6E0A7C9"] + id: "3A81BC460AF1756D" + tasks: [{ + id: "13538972B20A96BA" + type: "checkmark" + }] + } + { + title: "Superheated Mixing" + icon: "create:mechanical_mixer" + x: -3.0d + y: 1.0d + subtitle: "1 to 6" + dependencies: ["07BE7128982202A7"] + dependency_requirement: "one_completed" + id: "18EDB4CD525CE110" + tasks: [{ + id: "6277979A0F5B984A" + type: "checkmark" + }] + } + { + title: "Compacting by Press" + icon: "create:mechanical_press" + x: -11.0d + y: 3.0d + subtitle: "9 to 1" + dependencies: ["29DABB5FDE6356E9"] + id: "1250AE58911C27A9" + tasks: [{ + id: "30EE40322822EE4A" + type: "checkmark" + }] + } + { + title: "Induction Smelting" + icon: "thermal:machine_smelter" + x: -13.0d + y: -1.0d + subtitle: "1 to 9-27" + dependencies: ["612100C7C6E0A7C9"] + dependency_requirement: "one_completed" + id: "5FCCD2F720115D41" + tasks: [{ + id: "17A210C163E791CA" + type: "checkmark" + }] + } + { + title: "Melting" + icon: "tconstruct:smeltery_controller" + x: -7.0d + y: 1.0d + subtitle: "1 to 3" + dependencies: ["07BE7128982202A7"] + id: "715BBD0DF0136FF1" + tasks: [{ + id: "3B4F0668876D88E3" + type: "checkmark" + }] + } + { + title: "IV: Ingot" + icon: "minecraft:gold_ingot" + x: -9.0d + y: 4.0d + shape: "circle" + dependencies: [ + "1A5A81CA749DAB2A" + "1250AE58911C27A9" + "746F9F4F21D8400D" + ] + dependency_requirement: "one_completed" + id: "2BE033F631A778D9" + tasks: [{ + id: "206B68B6B69CC7AD" + type: "checkmark" + }] + } + { + title: "Ingot Casting" + icon: "tconstruct:seared_table" + x: -7.0d + y: 3.0d + subtitle: "9 to 1" + dependencies: ["6509024553997AB0"] + id: "1A5A81CA749DAB2A" + tasks: [{ + id: "7B5CAD7F1C63A9EC" + type: "checkmark" + }] + } + { + title: "Compacting by Drawer" + icon: "storagedrawers:compacting_drawers_3" + x: -13.0d + y: 3.0d + subtitle: "9 to 1" + dependencies: ["29DABB5FDE6356E9"] + id: "746F9F4F21D8400D" + tasks: [{ + id: "39C5A94D5A8ECEE0" + type: "checkmark" + }] + } + { + title: "Smelting Dust" + icon: "minecraft:furnace" + x: -13.0d + y: 1.0d + subtitle: "1 to 1" + dependencies: ["07BE7128982202A7"] + id: "171A0F26C6608E83" + tasks: [{ + id: "559EC3ED3EF7A701" + type: "checkmark" + }] + } + { + title: "Washing" + icon: "create:encased_fan" + x: -15.0d + y: 1.0d + subtitle: "1 to 2" + dependencies: ["07BE7128982202A7"] + id: "2C2E304910D7F33D" + tasks: [{ + id: "1798B173604752C1" + type: "checkmark" + }] + } + { + title: "Foundry Melting" + icon: "tconstruct:foundry_controller" + x: -5.0d + y: 1.0d + subtitle: "1 to 3" + dependencies: ["07BE7128982202A7"] + id: "409A50CBCDBBA1F0" + tasks: [{ + id: "6EBC75DD42F7BB3E" + type: "checkmark" + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/overview.snbt b/src/overrides/config/ftbquests/quests/chapters/overview.snbt new file mode 100644 index 0000000..7884114 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/overview.snbt @@ -0,0 +1,513 @@ +{ + id: "1F9517DCFB1DB297" + group: "331B6409EF6A7840" + order_index: 0 + filename: "overview" + title: " Overview" + icon: "minecraft:oak_sapling" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Andesite Machinery" + disable_toast: true + x: -10.0d + y: 0.0d + shape: "square" + subtitle: "Milestone" + description: [ + "With Kinetic Mechanisms automated, many new possibilities unfold. Most of Create's machinery can now be crafted without much hassle. The early game just got a bit less early!" + "" + "You can now continue, or choose to spend some time in the bonus section of Chapter 1. After all, a stronger supply of Copper Machines will come to be quite useful, too!" + ] + dependencies: [ + "61147823CC87F711" + "675C395B2074C24C" + ] + hide_text_until_complete: true + id: "0E98B4D2BBF55308" + tasks: [{ + id: "36F8C3CAF6FC3FB2" + type: "stat" + title: "Complete Chapter 1" + icon: "kubejs:kinetic_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Brass Machinery" + disable_toast: true + x: -7.0d + y: 0.0d + subtitle: "Milestone" + description: [ + "With Precision Mechanisms automated, a large number of great tools become accessible. Both for automation and quality of life." + "" + "It also opens the gate leading towards the Invar Age- potentially after a quick stop by the bonus section.." + ] + dependencies: [ + "1E263994D4883A08" + "19715EBCBBA1B4AD" + ] + id: "69275ECFC147E15B" + tasks: [{ + id: "0FF38BBE3B19D9C2" + type: "stat" + title: "Complete Chapter 2" + icon: "create:precision_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Invar Machinery" + disable_toast: true + x: -4.0d + y: 0.0d + subtitle: "Milestone" + description: [ + "A completely different age of Technology. Some machines are suddenly powered by some hardly observable magical energy." + "" + "The Launch feels very close now. While there still lie challenges ahead, the solution footprint will shrink again thanks to the new Appliances." + ] + dependencies: [ + "780E8AE86250C73D" + "6CBA3D97CAD5DB63" + ] + id: "400CDC316DCDFE88" + tasks: [{ + id: "7FEEF6BED2C3F31B" + type: "stat" + title: "Complete Chapter 3" + icon: "kubejs:inductive_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Fluix Machinery" + disable_toast: true + x: -1.0d + y: 0.0d + subtitle: "Milestone" + description: [ + "With Calculation Mechanisms, the Factory enters the Digital Age. Instant Material-Energy conversion (ME) revolutionises item and fluid logistics for both the assembly lines and personal use." + "" + "At this point, all of the tools necessary to facilitate space travel have become accessible. Might as well start a countdown." + ] + min_required_dependencies: 3 + dependencies: [ + "6824055533465010" + "3934AD57122B6FFE" + "26173D4777F439B1" + "1BF8F3CC8BEBB620" + ] + hide: false + id: "08716DBF9C882623" + tasks: [{ + id: "79AB928A6C8E21DA" + type: "stat" + title: "Complete Chapter 4" + icon: "kubejs:calculation_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Copper Machinery" + disable_toast: true + x: -8.0d + y: 2.5d + subtitle: "Utility" + description: [ + "Copper Machines unlock the capability of Fluid Manipulation. Fill, drain, filter and collect liquids for all of your automation needs." + "" + "Note that Sealed Mechanisms are an ingredient to nothing else. The main assembly line will continue with Kinetic Mechanisms." + ] + dependencies: [ + "7D872F933F45809B" + "6545C3F427B12106" + ] + id: "342BB6EF80EBFDCA" + tasks: [{ + id: "27B07858A6018539" + type: "stat" + title: "Complete Bonus 1A" + icon: "kubejs:sealed_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Zinc Machinery" + disable_toast: true + x: -5.0d + y: -2.5d + subtitle: "Utility" + description: [ + "Zinc Machines are incredibly powerful. From efficient Cobblestone Harvesters to long-ranged Item Collectors, a useful new suite of equipment now sits at the ready." + "" + "Note that Infernal Mechanisms are an ingredient to nothing else. The main assembly line will continue with Precision Mechanisms." + ] + dependencies: [ + "7888F9129E9FE517" + "3C50B4556375178E" + ] + id: "2DC3AA8A89005C42" + tasks: [{ + id: "12CFC84D3F01F49F" + type: "stat" + title: "Complete Bonus 2A" + icon: "kubejs:infernal_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "Ender Machinery" + disable_toast: true + x: -2.0d + y: 2.5d + subtitle: "Utility" + description: ["Ender Machines provide not only access to instant Teleportation, but also to the most powerful upgrades for your machines."] + dependencies: [ + "2BB2C7B95E3C89AE" + "6DBEF7A11890ADF8" + ] + id: "2F50046724A0DF9C" + tasks: [{ + id: "4BC5C43C7B23CA16" + type: "stat" + title: "Complete Bonus 3A" + icon: "kubejs:abstruse_mechanism" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "From a Tree Puncher..." + icon: "minecraft:grass_block" + x: -13.5d + y: 0.0d + shape: "hexagon" + description: ["Welcome to the Overview. You can always come back here to catch up on your current position in the Progression of Technology. If you look closely, your Journey to the Moon completes the final step of the way on the right side."] + size: 2.0d + id: "75FB28B253B14876" + tasks: [{ + id: "7F88BABEC9889C76" + type: "item" + title: "Any Logs" + icon: "minecraft:oak_log" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:logs" + } + } + consume_items: false + }] + rewards: [{ + id: "619E1006A9C31AE1" + type: "item" + item: "farmersdelight:apple_cider" + }] + } + { + title: "..to a Spacefarer" + icon: "advancedrocketry:moonturf" + x: 2.5d + y: 0.0d + shape: "hexagon" + description: [ + "The Dream of walking the Moon's surface finally came to fruition." + "" + "With that, the role of this Factory Guide has been fulfilled. Enjoy building up your new Hi-Tech Empire, and we'll see you in the next modpack!" + ] + dependencies: [ + "5E62059675895213" + "47965C310D9847DC" + ] + size: 2.0d + id: "4F7A70041B67A348" + tasks: [ + { + id: "058AEB3EF218C7D2" + type: "stat" + title: "Complete Chapter 5" + icon: "advancedrocketry:guidancecomputer" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + } + { + id: "68543E92A6B517DC" + type: "item" + item: "advancedrocketry:moonturf" + consume_items: false + } + ] + } + { + title: "High Aspirations" + icon: "create:andesite_alloy" + x: -11.5d + y: 0.0d + shape: "circle" + subtitle: "Chapter 1" + description: [ + "The earliest inventions reveal ones resourcefulness with low level equipment: Auto-Crafting? None. Filtering? Not cheap! Item Transport? May the Belt Spaghetti mesh in your favour." + "" + "After hitting the Checkmark above, the first Chapter of the Factory Guide will become accessible from the Quest Sidebar." + ] + dependencies: ["75FB28B253B14876"] + id: "61147823CC87F711" + tasks: [{ + id: "5A8DF2D8553904BF" + type: "checkmark" + title: "Unlock Chapter 1" + }] + } + { + title: "Alluring Expedience" + icon: "create:electron_tube" + x: -8.5d + y: 0.0d + shape: "circle" + subtitle: "Chapter 2" + description: [ + "The chicken and egg problem remains: in order to automate precision mechanisms for brass equipment more conveniently, having more brass equipment would be really useful!" + "" + "After hitting the Checkmark above, the second Chapter of the Factory Guide will become accessible from the Quest Sidebar." + ] + dependencies: ["0E98B4D2BBF55308"] + id: "1E263994D4883A08" + tasks: [{ + id: "28C41C062843C2CA" + type: "checkmark" + title: "Unlock Chapter 2" + }] + } + { + title: "The Catharsis" + icon: "kubejs:radiant_coil" + x: -5.5d + y: 0.0d + shape: "circle" + subtitle: "Chapter 3" + description: [ + "The Groundwork has been laid with all that has been created so far. The pace should really pick up from here." + "" + "Producing components for inductive technology relies on very peculiar techniques. Though with all the new equipment ready, automating even the more convoluted interactions should become a cakewalk." + "" + "After hitting the Checkmark above, the third Chapter of the Factory Guide will become accessible from the Quest Sidebar." + ] + dependencies: ["69275ECFC147E15B"] + id: "780E8AE86250C73D" + tasks: [{ + id: "2F6FEDBB1BDCB36C" + type: "checkmark" + title: "Unlock Chapter 3" + }] + } + { + title: "Into the Box" + icon: "kubejs:silicon_compound" + x: -2.5d + y: 0.0d + shape: "circle" + subtitle: "Chapter 4" + description: [ + "A new Energy Unit joins the ranks: the production facility for silicon will involve an interplay of thermal induction machinery and the familiar kinetic components. " + "" + "Between Flux and Stress, a peculiar innovation in Laser technology will be required to produce some of the ingredients involved." + "" + "After hitting the Checkmark above, the fourth Chapter of the Factory Guide will become accessible from the Quest Sidebar." + ] + dependencies: ["400CDC316DCDFE88"] + id: "26173D4777F439B1" + tasks: [{ + id: "74CFD83C501C4952" + type: "checkmark" + title: "Unlock Chapter 4" + }] + } + { + title: "Divide by Digital" + icon: "kubejs:divide" + x: 0.5d + y: 0.0d + shape: "circle" + subtitle: "Finale" + description: [ + "The entire factory is started back up for one final sprint. With a steady supply of Calculation Mechanisms, the Digital Infrastucture performs the necessary operations to put together an ideal Trajectory." + "" + "While this Data Center visibly crunches the numbers, the designated Astronaut starts getting themselves and the spaceship prepared for launch." + ] + dependencies: ["08716DBF9C882623"] + id: "5E62059675895213" + tasks: [{ + id: "251A91F6C21AEAFB" + type: "checkmark" + title: "Unlock the Final Chapter" + }] + } + { + title: "Rubber Tycoon" + icon: "thermal:cured_rubber" + x: -9.5d + y: 1.5d + shape: "circle" + subtitle: "Bonus 1A" + description: [ + "" + "While Copper Machines will definitely be required going forward; full automation of their ingredients is completely optional." + "" + "After hitting the Checkmark above, additional Quests located in the First Chapter will be revealed." + ] + dependencies: ["0E98B4D2BBF55308"] + id: "7D872F933F45809B" + tasks: [{ + id: "681DACF11F193771" + type: "checkmark" + title: "Unlock Bonus 1A" + }] + } + { + title: "Magmatic Exploits" + icon: "minecraft:lava_bucket" + x: -6.5d + y: -1.5d + shape: "circle" + subtitle: "Bonus 2A" + description: [ + "We need to go Deeper!" + "Access to Zinc Machines will require for some engineering in another dimension. Even if it's literally Hell, a change of scene will always bring forth new ideas and inspiration." + "" + "After hitting the Checkmark above, additional Quests located in the Second Chapter will be revealed." + ] + dependencies: ["69275ECFC147E15B"] + id: "7888F9129E9FE517" + tasks: [{ + id: "21753CBB528EAADF" + type: "checkmark" + title: "Unlock Bonus 2A" + }] + } + { + title: "Melting the Funds" + icon: "thermal:enderium_ingot" + x: -3.5d + y: 1.5d + shape: "circle" + subtitle: "Bonus 3A" + description: [ + "The Prospect of Teleportation alone might be reason enough to explore that mysterious End Dimension." + "In researching the required technologies, you will find that your hard earned silver suddenly finds a second use.." + "" + "After hitting the Checkmark above, additional Quests located in the Third Chapter will be revealed." + ] + dependencies: ["400CDC316DCDFE88"] + id: "2BB2C7B95E3C89AE" + tasks: [{ + id: "722CA19434E722FB" + type: "checkmark" + title: "Unlock Bonus 3A" + }] + } + { + title: "Chaotic Alchemy" + icon: "kubejs:substrate_chaos" + x: -2.5d + y: -1.25d + shape: "circle" + subtitle: "Alternative Path" + description: [ + "You'll find that the newly discovered Laser setup has other interesting capabilities." + "" + "Behind a bit of science and experimentation lies a way to transmute seemingly unrelated materials between another. The demanded Silicon element is one of them, but which is its counterpart?" + "" + "After hitting the Checkmark above, the alternative fourth Chapter of the Factory Guide will become accessible from the Quest Sidebar. It will still be possible to return to the other chapter." + ] + dependencies: ["400CDC316DCDFE88"] + id: "3934AD57122B6FFE" + tasks: [{ + id: "5DF206B1738D08A0" + type: "checkmark" + title: "Unlock Chapter 4a" + }] + } + { + title: "Preparations" + icon: "minecraft:cobblestone_stairs" + x: -12.5d + y: -1.5d + shape: "circle" + description: [ + "Careful! Before you are ready to embark on the journey of automation, it can help to set up a basic workshop first." + "" + "Here are some recommendations for a successful start." + ] + dependencies: ["75FB28B253B14876"] + id: "7D6BC99CCCB29924" + tasks: [ + { + id: "57A71A62204AE230" + type: "item" + item: "create:mechanical_press" + consume_items: false + } + { + id: "0EEFF99A7BD064E4" + type: "item" + item: "create:mechanical_saw" + consume_items: false + } + { + id: "4A5B209B42D89DFF" + type: "item" + item: "create:encased_fan" + consume_items: false + } + { + id: "32214700E91A67D3" + type: "item" + item: "create:wrench" + consume_items: false + } + { + id: "6530AB7AA277197D" + type: "item" + item: "create:mechanical_mixer" + consume_items: false + } + { + id: "1900BA945C62D0CC" + type: "item" + item: "tconstruct:seared_melter" + consume_items: false + } + { + id: "534BB31978C1E95B" + type: "item" + item: "create:millstone" + consume_items: false + } + ] + rewards: [{ + id: "24DFC6E24F62D97A" + type: "item" + item: "create:crafting_blueprint" + count: 3 + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/professions.snbt b/src/overrides/config/ftbquests/quests/chapters/professions.snbt new file mode 100644 index 0000000..661f9fe --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/professions.snbt @@ -0,0 +1,1452 @@ +{ + id: "1634333847CCE52A" + group: "0810E42B2DD79973" + order_index: 0 + filename: "professions" + title: "&a Bulletin Board" + icon: "minecraft:item_frame" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Miner" + icon: { + id: "tconstruct:pickaxe" + Count: 1b + tag: { + tic_multipliers: { } + tic_stats: { + "tconstruct:attack_speed": 1.2f + "tconstruct:mining_speed": 8.05f + "tconstruct:attack_damage": 2.0f + "tconstruct:harvest_level": 3.0f + "tconstruct:durability": 683.0f + } + tic_broken: 0b + tic_modifiers: [ + { + name: "tconstruct:experienced" + level: 1s + } + { + name: "tconstruct:maintained" + level: 1s + } + { + name: "tconstruct:piercing" + level: 1s + } + { + name: "tconstruct:temperate" + level: 1s + } + ] + tic_materials: [ + "tconstruct:tinkers_bronze" + "tconstruct:constantan" + "tconstruct:electrum" + ] + Damage: 0 + tic_volatile_data: { + "tconstruct:durability": 683 + } + tic_persistent_data: { + abilities: 1 + upgrades: 3 + } + } + } + x: -6.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Igneous Rocks&f, &6Metal Ores&f, &6Gems&f and more with the Mining permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "1E26046FA8177616" + tasks: [{ + id: "121ECE09FBC2490A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "556BBA8B09E4BA0C" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_mining" + } + { + id: "78B7B98BE67CCA84" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Farmer" + icon: { + id: "tconstruct:kama" + Count: 1b + tag: { + tic_multipliers: { + "tconstruct:attack_damage": 0.75f + } + tic_stats: { + "tconstruct:attack_speed": 1.8f + "tconstruct:mining_speed": 8.05f + "tconstruct:attack_damage": 2.25f + "tconstruct:harvest_level": 3.0f + "tconstruct:durability": 683.0f + } + tic_broken: 0b + tic_modifiers: [ + { + name: "tconstruct:experienced" + level: 1s + } + { + name: "tconstruct:maintained" + level: 1s + } + { + name: "tconstruct:temperate" + level: 1s + } + { + name: "tconstruct:shears" + level: 1s + } + { + name: "tconstruct:harvest" + level: 1s + } + { + name: "tconstruct:hoe_transform_hidden" + level: 1s + } + ] + tic_materials: [ + "tconstruct:tinkers_bronze" + "tconstruct:constantan" + "tconstruct:electrum" + ] + Damage: 0 + tic_volatile_data: { + "tconstruct:durability": 683 + } + tic_persistent_data: { + abilities: 1 + upgrades: 3 + } + } + } + x: -8.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Crops&f, &6Flowers&f, &6Honey&f and more with the Farming permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "12B37E99B1D3837E" + tasks: [{ + id: "40D5C78A3738FC5E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "4F0E97B8E88BF530" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_farming" + } + { + id: "4630E4354593D196" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Carpenter" + icon: { + id: "tconstruct:hand_axe" + Count: 1b + tag: { + tic_multipliers: { } + tic_stats: { + "tconstruct:attack_speed": 0.9f + "tconstruct:mining_speed": 8.05f + "tconstruct:attack_damage": 8.0f + "tconstruct:harvest_level": 3.0f + "tconstruct:durability": 683.0f + } + tic_broken: 0b + tic_modifiers: [ + { + name: "tconstruct:experienced" + level: 1s + } + { + name: "tconstruct:maintained" + level: 1s + } + { + name: "tconstruct:temperate" + level: 1s + } + { + name: "tconstruct:axe_transform_hidden" + level: 1s + } + ] + tic_materials: [ + "tconstruct:tinkers_bronze" + "tconstruct:constantan" + "tconstruct:electrum" + ] + Damage: 0 + tic_volatile_data: { + "tconstruct:durability": 683 + } + tic_persistent_data: { + abilities: 1 + upgrades: 3 + } + } + } + x: -7.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Wood Logs&f with the Carpentry permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "3A48FDC224D029BF" + tasks: [{ + id: "1D8BF49B36108A4D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "570B46650865045E" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_carpentry" + } + { + id: "168DD43A1A6C846C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Chef" + icon: { + id: "farmersdelight:golden_knife" + Count: 1b + tag: { + Damage: 0 + } + } + x: -2.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Prepared Food&f with the Cooking permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "66DA9BE9277FABF1" + tasks: [{ + id: "7DB85322979AEF65" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "382E25CBB362EB84" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_cooking" + } + { + id: "402618EF59D8798B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Mason" + icon: { + id: "tconstruct:sledge_hammer" + Count: 1b + tag: { + tic_multipliers: { + "tconstruct:mining_speed": 0.4f + "tconstruct:attack_damage": 1.35f + "tconstruct:durability": 4.0f + } + tic_stats: { + "tconstruct:attack_speed": 0.75f + "tconstruct:mining_speed": 3.68f + "tconstruct:attack_damage": 6.4125f + "tconstruct:harvest_level": 3.0f + "tconstruct:durability": 1792.0f + } + tic_broken: 0b + tic_modifiers: [ + { + name: "tconstruct:experienced" + level: 1s + } + { + name: "tconstruct:maintained" + level: 2s + } + { + name: "tconstruct:smite" + level: 2s + } + { + name: "tconstruct:temperate" + level: 1s + } + { + name: "tconstruct:two_handed" + level: 1s + } + ] + tic_materials: [ + "tconstruct:electrum" + "tconstruct:constantan" + "tconstruct:tinkers_bronze" + "tconstruct:tinkers_bronze" + ] + Damage: 0 + tic_volatile_data: { + "tconstruct:durability": 1792 + } + tic_persistent_data: { + abilities: 1 + upgrades: 2 + } + } + } + x: 0.0d + y: -8.0d + shape: "hexagon" + description: ["Sell mass-produced &6Building Blocks&f for a profit with the Masonry permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "683AA93BE7DEA512" + tasks: [{ + id: "30824E76C57A8679" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "1617766BFFC620D2" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_masonry" + } + { + id: "0059672C40C04303" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Hunter" + icon: { + id: "tconstruct:sword" + Count: 1b + tag: { + tic_multipliers: { + "tconstruct:mining_speed": 0.5f + "tconstruct:durability": 1.1f + } + tic_stats: { + "tconstruct:attack_speed": 1.6f + "tconstruct:mining_speed": 4.025f + "tconstruct:attack_damage": 5.0f + "tconstruct:harvest_level": 3.0f + "tconstruct:durability": 751.3f + } + tic_broken: 0b + tic_modifiers: [ + { + name: "tconstruct:maintained" + level: 1s + } + { + name: "tconstruct:temperate" + level: 2s + } + { + name: "tconstruct:silky_shears" + level: 1s + } + ] + tic_materials: [ + "tconstruct:tinkers_bronze" + "tconstruct:constantan" + "tconstruct:constantan" + ] + Damage: 0 + tic_volatile_data: { + "tconstruct:durability": 751 + } + tic_persistent_data: { + abilities: 1 + upgrades: 3 + } + } + } + x: -5.0d + y: -8.0d + shape: "hexagon" + description: ["Sell all manner of &6Monster Loot&f with the Hunting permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "66DDDE912A191E57" + tasks: [{ + id: "3F3272C9BFC25003" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "242009705F048500" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_hunting" + } + { + id: "3EB7FB58B5D3D097" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Professions" + icon: "minecraft:writable_book" + x: -3.5d + y: -8.5d + shape: "circle" + description: [ + "Taking on a &6Profession&r gives you access to a more consistent source of income." + "" + "The Profession Cards bought here act as a \"Permit\". All they do is unlock the respective recipes in the Trading Machine. You can absolutely have multiple of these." + ] + dependencies: ["36E02479368EAF04"] + id: "59B17CA4AA6D0DD4" + tasks: [{ + id: "0423DFD47CB1DCE3" + type: "checkmark" + }] + } + { + title: "The Bulletin Board" + icon: "minecraft:oak_sign" + x: -3.5d + y: -6.5d + shape: "hexagon" + description: [ + "&6The Bulletin Board&r provides means to earn currency for Trading." + "Here you can complete various errands or buy a profession permit for use in the Trading Machine." + ] + size: 2.0d + id: "36E02479368EAF04" + tasks: [{ + id: "3FE411FC2A966816" + type: "checkmark" + }] + } + { + title: "Sapling Collection" + icon: "minecraft:oak_sapling" + x: -4.5d + y: -4.0d + subtitle: "25 Silver" + id: "41BB50843EF5EF10" + tasks: [ + { + id: "488C968F61E4B260" + type: "item" + item: "minecraft:oak_sapling" + } + { + id: "42D3B8604E57BF0C" + type: "item" + item: "minecraft:spruce_sapling" + } + { + id: "72143D74D89A814A" + type: "item" + item: "minecraft:birch_sapling" + } + { + id: "67A6AAF07DECFBB6" + type: "item" + item: "minecraft:acacia_sapling" + } + { + id: "1AFB1184CADE0663" + type: "item" + item: "minecraft:jungle_sapling" + } + { + id: "1378A6451110CC4C" + type: "item" + item: "minecraft:dark_oak_sapling" + } + ] + rewards: [{ + id: "60DDCBCC377BA8B6" + type: "item" + icon: { id: "thermal:silver_coin", Count: 25b } + item: "thermal:silver_coin" + count: 25 + }] + } + { + title: "Fisherman" + icon: { + id: "aquaculture:gold_fishing_rod" + Count: 1b + tag: { + Damage: 0 + } + } + x: -1.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Fish&f and Subterranean &6Treasure&f with the Fishing permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "6C0EC278451434AC" + tasks: [{ + id: "79BD40CF4A57DA36" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "70312C750F6E2115" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_fishing" + } + { + id: "4F7B79488825D2ED" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Government Funding" + icon: "minecraft:book" + x: -2.5d + y: -3.5d + subtitle: "15 Silver" + description: ["Write an application explaining why exactly your organisation is worth investing in."] + id: "736FC31210F334F2" + tasks: [{ + id: "7D2F867FD8A5A68A" + type: "item" + item: { + id: "minecraft:written_book" + Count: 1b + tag: { } + } + }] + rewards: [{ + id: "6C5F42C1888F0C63" + type: "item" + icon: { id: "thermal:silver_coin", Count: 16b } + item: "thermal:silver_coin" + count: 15 + }] + } + { + title: "Blacksmith" + icon: { + id: "minecraft:golden_chestplate" + Count: 1b + tag: { + Damage: 0 + } + } + x: 1.0d + y: -8.0d + shape: "hexagon" + description: ["Sell &6Tools&f, &6Armour&f and more with the Smithing permit."] + hide_dependency_lines: true + dependencies: ["59B17CA4AA6D0DD4"] + id: "32C46B11BDAD7632" + tasks: [{ + id: "042431BBCD1966C4" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "2E450774C09EF266" + type: "item" + auto: "enabled" + item: "kubejs:profession_card_smithing" + } + { + id: "5B00E0FDDDA7EEB0" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Plentiful Sapling Collection" + icon: "biomesoplenty:flowering_oak_sapling" + x: -4.5d + y: -2.5d + subtitle: "45 Silver" + dependencies: ["41BB50843EF5EF10"] + id: "08DB1CFAE4555525" + tasks: [ + { + id: "6467B7BC46B95AB7" + type: "item" + item: "biomesoplenty:white_cherry_sapling" + } + { + id: "53B388480793BD58" + type: "item" + item: "biomesoplenty:maple_sapling" + } + { + id: "57263F412DD5DF08" + type: "item" + item: "biomesoplenty:fir_sapling" + } + { + id: "657B38C214414E2B" + type: "item" + item: "biomesoplenty:redwood_sapling" + } + { + id: "3E7A122FD86E017F" + type: "item" + item: "biomesoplenty:flowering_oak_sapling" + } + { + id: "7CBBC7FB7C7F5D7E" + type: "item" + item: "biomesoplenty:palm_sapling" + } + ] + rewards: [{ + id: "5CEE44BA4F587BB2" + type: "item" + icon: { id: "thermal:silver_coin", Count: 45b } + item: "thermal:silver_coin" + count: 45 + }] + } + { + title: "Mineral Collection" + icon: "thermal:sulfur" + x: -1.0d + y: -4.5d + subtitle: "25 Silver" + id: "128F1A9528CA4130" + tasks: [ + { + id: "05FA6BA978E2C59F" + type: "item" + item: "appliedenergistics2:certus_quartz_crystal" + } + { + id: "4DC845907E010B7E" + type: "item" + item: "thermal:sulfur" + } + { + id: "40D6184B28DD1B00" + type: "item" + item: "thermal:cinnabar" + } + { + id: "6EC680AD06AEAE3E" + type: "item" + item: "thermal:niter" + } + { + id: "394B5E7E3AD55394" + type: "item" + item: "thermal:apatite" + } + ] + rewards: [{ + id: "7FA1F28AC13E3742" + type: "item" + icon: { id: "thermal:silver_coin", Count: 24b } + item: "thermal:silver_coin" + count: 25 + }] + } + { + title: "Plentiful Mineral Collection" + icon: "thermal:ruby" + x: -1.0d + y: -3.0d + subtitle: "45 Silver" + dependencies: ["128F1A9528CA4130"] + id: "669D57A1E1B09CD8" + tasks: [ + { + id: "18D9327C3A3FC945" + type: "item" + item: "thermal:ruby" + } + { + id: "0129F312595D379D" + type: "item" + item: "thermal:sapphire" + } + { + id: "5AA9BAAE6336FE84" + type: "item" + item: "minecraft:diamond" + } + { + id: "4B1BE14A56875A44" + type: "item" + item: "minecraft:emerald" + } + { + id: "570BED1488497EDD" + type: "item" + item: "minecraft:lapis_lazuli" + } + ] + rewards: [{ + id: "158BDC6AB3DED2C8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 45b } + item: "thermal:silver_coin" + count: 45 + }] + } + { + title: "The lost Tapes" + icon: "minecraft:music_disc_13" + x: -6.0d + y: -4.5d + subtitle: "32 Silver" + description: ["A friendly Record Collector is interested in any discs you find on your travels."] + id: "436DA1A1AB8C0734" + tasks: [{ + id: "28EC11DE8335B74A" + type: "item" + title: "Any Record" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "minecraft:music_disc_blocks" + Count: 1b + } + { + id: "minecraft:music_disc_chirp" + Count: 1b + } + { + id: "minecraft:music_disc_far" + Count: 1b + } + { + id: "minecraft:music_disc_mall" + Count: 1b + } + { + id: "minecraft:music_disc_mellohi" + Count: 1b + } + { + id: "minecraft:music_disc_stal" + Count: 1b + } + { + id: "minecraft:music_disc_cat" + Count: 1b + } + { + id: "minecraft:music_disc_ward" + Count: 1b + } + { + id: "minecraft:music_disc_11" + Count: 1b + } + { + id: "minecraft:music_disc_wait" + Count: 1b + } + { + id: "minecraft:music_disc_pigstep" + Count: 1b + } + { + id: "endergetic:music_disc_kilobyte" + Count: 1b + } + { + id: "biomesoplenty:music_disc_wanderer" + Count: 1b + } + { + id: "minecraft:music_disc_strad" + Count: 1b + } + { + id: "minecraft:music_disc_13" + Count: 1b + } + ] + } + } + }] + rewards: [ + { + id: "76F8080C0E176A08" + type: "item" + icon: { id: "thermal:silver_coin", Count: 32b } + auto: "enabled" + item: "thermal:silver_coin" + count: 32 + } + { + id: "7FF7001764116001" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Igneous Sample Collection" + icon: "minecraft:granite" + x: 0.5d + y: -4.0d + subtitle: "25 Silver" + id: "2A9AAED667A95C6E" + tasks: [ + { + id: "107EBA54BFA18FD9" + type: "item" + item: "minecraft:andesite" + count: 8L + } + { + id: "18A900D9A3914F00" + type: "item" + item: "minecraft:diorite" + count: 8L + } + { + id: "53041ECE4D386D55" + type: "item" + item: "minecraft:granite" + count: 8L + } + { + id: "0D0220AE1F3EA9A4" + type: "item" + item: "create:gabbro" + count: 8L + } + { + id: "63909F521730B80A" + type: "item" + item: "create:limestone" + count: 8L + } + { + id: "62545E644E0DD998" + type: "item" + item: "create:dolomite" + count: 8L + } + ] + rewards: [{ + id: "3D573B952A099408" + type: "item" + icon: { id: "thermal:silver_coin", Count: 25b } + item: "thermal:silver_coin" + count: 25 + }] + } + { + title: "Plentiful Igneous Sample Collection" + icon: "minecraft:basalt" + x: 0.5d + y: -2.5d + subtitle: "45 Silver" + dependencies: ["2A9AAED667A95C6E"] + id: "7D92D05B4A67FD78" + tasks: [ + { + id: "202DC6687EAB3378" + type: "item" + item: "minecraft:basalt" + count: 8L + } + { + id: "5EC196FF10FD67EE" + type: "item" + item: "minecraft:blackstone" + count: 8L + } + { + id: "07105FD32CC3CB86" + type: "item" + item: "darkerdepths:aridrock" + count: 8L + } + { + id: "5246009651F94D74" + type: "item" + item: "darkerdepths:grimestone" + count: 8L + } + { + id: "4A4F88C99DB35EF3" + type: "item" + item: "darkerdepths:shale" + count: 8L + } + { + id: "731A6B9678CE71D8" + type: "item" + item: "forbidden_arcanus:darkstone" + count: 8L + } + ] + rewards: [{ + id: "191FAA4E0A99AF43" + type: "item" + icon: { id: "thermal:silver_coin", Count: 45b } + item: "thermal:silver_coin" + count: 45 + }] + } + { + title: "Landfill Dropoff" + x: 2.0d + y: -5.0d + subtitle: "15 Silver" + description: ["If you've been terraforming, feel free to send some excess dirt to this Project."] + id: "1C5EA1173F4E592B" + tasks: [{ + id: "0A99B239D9EA5B0B" + type: "item" + item: "minecraft:dirt" + count: 256L + }] + rewards: [{ + id: "3125103507C80C78" + type: "item" + icon: { id: "thermal:silver_coin", Count: 15b } + item: "thermal:silver_coin" + count: 15 + }] + } + { + title: "Crops Collection" + icon: "minecraft:carrot" + x: -7.5d + y: -4.0d + subtitle: "25 Silver" + id: "4D07666ECE75D9B5" + tasks: [ + { + id: "583272656AABAD03" + type: "item" + item: "minecraft:carrot" + count: 3L + } + { + id: "19A897A26BEE9DC3" + type: "item" + item: "minecraft:wheat" + count: 3L + } + { + id: "26D3EBEE2A65DC26" + type: "item" + item: "minecraft:potato" + count: 3L + } + { + id: "4BCA88E713BFF541" + type: "item" + item: "farmersdelight:onion" + count: 3L + } + { + id: "59E905250653DB9A" + type: "item" + item: "farmersdelight:tomato" + count: 3L + } + { + id: "0863A4006B84F0F6" + type: "item" + item: "farmersdelight:cabbage" + count: 3L + } + ] + rewards: [{ + id: "001C0326E6B6F1FF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 25b } + item: "thermal:silver_coin" + count: 25 + }] + } + { + title: "Plentiful Crops Collection" + icon: "farmersdelight:rice_panicle" + x: -7.5d + y: -2.5d + subtitle: "45 Silver" + dependencies: ["4D07666ECE75D9B5"] + id: "3F2FB159F1B8875F" + tasks: [ + { + id: "35195894FE238A3E" + type: "item" + item: "farmersdelight:rice_panicle" + count: 3L + } + { + id: "5AE85D27C59EDB92" + type: "item" + item: "minecraft:beetroot" + count: 3L + } + { + id: "46748564E10CA41F" + type: "item" + item: "supplementaries:flax" + count: 3L + } + { + id: "3172958C368155FE" + type: "item" + item: "minecraft:melon_slice" + count: 3L + } + { + id: "19E6E248E2E1056F" + type: "item" + item: "farmersdelight:pumpkin_slice" + count: 3L + } + { + id: "35DBA0B40123BE4B" + type: "item" + item: "minecraft:sweet_berries" + count: 3L + } + ] + rewards: [{ + id: "2EE90E45D02D23F1" + type: "item" + icon: { id: "thermal:silver_coin", Count: 45b } + item: "thermal:silver_coin" + count: 45 + }] + } + { + title: "Ancient Life" + icon: "minecraft:bone" + x: -9.0d + y: -3.0d + subtitle: "55 Silver" + id: "7932D19BE114264A" + tasks: [ + { + id: "1B971FF02438A787" + type: "item" + item: "minecraft:bone_block" + count: 16L + } + { + id: "682A8719CE780D9A" + type: "item" + item: "minecraft:bone" + count: 8L + } + { + id: "77DF03F6422FE09D" + type: "item" + item: "xreliquary:rib_bone" + } + { + id: "5B926A8BCD627407" + type: "item" + item: "minecraft:skeleton_skull" + } + ] + rewards: [{ + id: "652AE60D13691604" + type: "item" + icon: { id: "thermal:silver_coin", Count: 55b } + item: "thermal:silver_coin" + count: 55 + }] + } + { + title: "Hunt the Undead" + x: -2.5d + y: -1.5d + subtitle: "30 Silver" + id: "7C270AB26CD9AAB8" + tasks: [{ + id: "0C72441783664753" + type: "kill" + icon: "minecraft:zombie_head" + entity: "minecraft:zombie" + value: 50L + }] + rewards: [{ + id: "15ACAE1E4D900E4C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30 + }] + } + { + title: "Hunt the Undead II" + x: -1.0d + y: -1.0d + subtitle: "50 Silver" + id: "29B58A9EDA478E7D" + tasks: [{ + id: "6C65780CF2751821" + type: "kill" + icon: "minecraft:skeleton_skull" + entity: "minecraft:skeleton" + value: 40L + }] + rewards: [{ + id: "57CF6CE48FF1115D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 50b } + item: "thermal:silver_coin" + count: 50 + }] + } + { + title: "Hunt the Arthropods" + x: -4.0d + y: -1.0d + subtitle: "50 Silver" + id: "1AA2C3EECE1832EE" + tasks: [{ + id: "60B3526FA0D6A2AF" + type: "kill" + icon: "tconstruct:spider_head" + entity: "minecraft:spider" + value: 30L + }] + rewards: [{ + id: "5D7DB09D0FA7B0A5" + type: "item" + icon: { id: "thermal:silver_coin", Count: 50b } + item: "thermal:silver_coin" + count: 50 + }] + } + { + title: "Traders' Finest" + x: -6.0d + y: -2.0d + subtitle: "2 Gold" + id: "3F00084D9474C381" + tasks: [{ + id: "2CA6E7602A5FBCF5" + type: "item" + item: "supplementaries:globe" + }] + rewards: [{ + id: "0D8EB996DBC24C64" + type: "item" + icon: { id: "thermal:gold_coin", Count: 2b } + item: "thermal:gold_coin" + count: 2 + }] + } + { + title: "The Ranch" + x: -9.5d + y: -1.5d + subtitle: "15 Silver" + id: "562696C1D01B2685" + tasks: [{ + id: "07132D69A1BA37B5" + type: "stat" + title: "Breed 10 Animals" + icon: "minecraft:wheat" + stat: "minecraft:animals_bred" + value: 10 + }] + rewards: [{ + id: "76F2C38DE80E75F0" + type: "item" + icon: { id: "thermal:silver_coin", Count: 15b } + item: "thermal:silver_coin" + count: 15 + }] + } + { + title: "Ore Collection" + icon: "create:crushed_gold_ore" + x: 2.5d + y: -3.0d + subtitle: "30 Silver" + id: "39D56A2B01DBD865" + tasks: [ + { + id: "592A29507FE620D0" + type: "item" + item: "create:crushed_iron_ore" + count: 5L + } + { + id: "5CAA30D3A26DE48A" + type: "item" + item: "create:crushed_copper_ore" + count: 5L + } + { + id: "58D69FCA7C1035F5" + type: "item" + item: "create:crushed_zinc_ore" + count: 5L + } + { + id: "4C2DB8A65AD97FAB" + type: "item" + item: "create:crushed_nickel_ore" + count: 5L + } + { + id: "73726468F48CE993" + type: "item" + item: "create:crushed_lead_ore" + count: 5L + } + { + id: "176CF773DF3BBBD0" + type: "item" + item: "create:crushed_gold_ore" + count: 5L + } + ] + rewards: [{ + id: "1727FE45C409A64E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30 + }] + } + { + title: "Revenge" + icon: { + id: "minecraft:crossbow" + Count: 1b + tag: { + Damage: 0 + } + } + x: -9.5d + y: -4.5d + subtitle: "10 Silver" + description: ["Defeat those intruders, and you'll have the support from nearby villages."] + id: "76E3B76D47A1F889" + tasks: [ + { + id: "7CEFF147708B6647" + type: "item" + item: { + id: "minecraft:white_banner" + Count: 1b + tag: { + HideFlags: 32 + BlockEntityTag: { + Patterns: [ + { + Pattern: "mr" + Color: 9 + } + { + Pattern: "bs" + Color: 8 + } + { + Pattern: "cs" + Color: 7 + } + { + Pattern: "bo" + Color: 8 + } + { + Pattern: "ms" + Color: 15 + } + { + Pattern: "hh" + Color: 8 + } + { + Pattern: "mc" + Color: 8 + } + { + Pattern: "bo" + Color: 15 + } + ] + } + display: { + Name: "{\"color\":\"gold\",\"translate\":\"block.minecraft.ominous_banner\"}" + } + } + } + } + { + id: "2FDA048387F90ED7" + type: "kill" + icon: { + id: "minecraft:crossbow" + Count: 1b + tag: { + Damage: 0 + } + } + entity: "minecraft:pillager" + value: 3L + } + ] + rewards: [ + { + id: "72ADE787CA674127" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + auto: "enabled" + item: "thermal:silver_coin" + count: 10 + } + { + id: "0D666C3C352901FA" + type: "custom" + title: "Clear Bad Omen" + icon: "biomesoplenty:wildflower" + tags: ["bad_omen"] + team_reward: false + auto: "no_toast" + } + { + id: "77DE41861FF4DDCB" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + team_reward: true + auto: "no_toast" + } + ] + } + { + title: "Keeping in Shape" + x: 2.0d + y: -1.5d + subtitle: "60 Silver" + id: "2F2BA8C2AC2E0B93" + tasks: [{ + id: "374CDBF68F90BDC9" + type: "stat" + title: "Jump 16000 Times" + icon: { + id: "minecraft:golden_boots" + Count: 1b + tag: { + Damage: 0 + } + } + stat: "minecraft:jump" + value: 16000 + }] + rewards: [{ + id: "52C6094274D540AB" + type: "item" + icon: { id: "thermal:silver_coin", Count: 60b } + item: "thermal:silver_coin" + count: 60 + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/shipments.snbt b/src/overrides/config/ftbquests/quests/chapters/shipments.snbt new file mode 100644 index 0000000..2bfe361 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/shipments.snbt @@ -0,0 +1,4132 @@ +{ + id: "08DF8E49DAFD4F9D" + group: "0810E42B2DD79973" + order_index: 2 + filename: "shipments" + title: "&a Shipments" + icon: "thermal:machine_press" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + icon: "thermal:machine_press" + x: 0.0d + y: 12.25d + shape: "hexagon" + description: [ + "&6Shipments&r are the Automated way to exchange coin for resources. Here you can buy Import Cards for use in the Trading Machine." + "" + "Each import card comes with a cost up front. Once that is paid you can limitlessly buy the respective goods priced at what's stated in the subtitle." + ] + size: 2.0d + id: "6AC1CED0D341150E" + tasks: [{ + id: "214F623C75A92809" + type: "checkmark" + title: "Shipments" + }] + } + { + title: "Automatic Exchange" + icon: { id: "thermal:gold_coin", Count: 2b } + x: 2.0d + y: 12.25d + shape: "circle" + subtitle: "Silver <> Gold" + description: ["This Trading card can convert the currency of coins inserted into the Trading Machine."] + dependencies: ["6AC1CED0D341150E"] + id: "3B548F2C060C2229" + tasks: [{ + id: "601161A1565C5161" + type: "item" + item: "thermal:silver_coin" + }] + rewards: [ + { + id: "0A6DEF2E19943F9F" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_exchange_currencies" + } + { + id: "3D6C47FD645D7471" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Dirt" + icon: "minecraft:dirt" + disable_toast: true + x: -3.5d + y: 0.0d + shape: "hexagon" + subtitle: "2 Silver" + id: "1A27F6CC5196D116" + tasks: [{ + id: "4A756F231245382C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "73B5632934CB5398" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_dirt" + } + { + id: "7693E6AAB807B9ED" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Sand" + icon: "minecraft:sand" + disable_toast: true + x: -2.5d + y: 0.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "4C0F811C1D2495CC" + tasks: [{ + id: "7903FA0C29DC6F93" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4D3AAC1C8DC9CEEF" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sand" + } + { + id: "34033E18AB54E135" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Gravel" + icon: "minecraft:gravel" + disable_toast: true + x: -1.5d + y: 0.0d + shape: "hexagon" + subtitle: "2 Silver" + id: "6AE7090EB52A51B3" + tasks: [{ + id: "448F36640D57DAC1" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "092706A1932A2BC2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_gravel" + } + { + id: "7AE6360652F9CCAA" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Clay" + icon: "minecraft:clay" + disable_toast: true + x: -0.5d + y: 0.0d + shape: "hexagon" + subtitle: "6 Silver" + id: "0315668E30F2F6E5" + tasks: [{ + id: "20D919F64F7AFFEA" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5DC9D20E6BC4A51C" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_clay" + } + { + id: "14ACEE1628735CCE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Ice" + icon: "minecraft:ice" + disable_toast: true + x: 0.5d + y: 0.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "36B5C3ECFD38670E" + tasks: [{ + id: "59D815E73906936E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5626AD1C3B237DBF" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_ice" + } + { + id: "584CC020F42126C5" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Blackstone" + icon: "minecraft:blackstone" + disable_toast: true + x: 1.5d + y: 0.0d + shape: "hexagon" + subtitle: "12 Silver" + id: "1509D36A982217C6" + tasks: [{ + id: "54CF59C637986EA6" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5A7B73A55C927126" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_blackstone" + } + { + id: "726FD26B1F3182F2" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Grout" + icon: "tconstruct:grout" + disable_toast: true + x: 2.5d + y: 0.0d + shape: "hexagon" + subtitle: "12 Silver" + id: "1BA3EF0818CA7F64" + tasks: [{ + id: "7B7EAEB5685FF91B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "0D2D48CDD087D4FA" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_grout" + } + { + id: "5EE9F9923E9D94A5" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Cobblestone" + icon: "minecraft:cobblestone" + disable_toast: true + x: 3.5d + y: 0.0d + shape: "hexagon" + subtitle: "1 Silver" + id: "0DEFAE2746209F1A" + tasks: [{ + id: "785F1754B3EF8BF5" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "268F87140B2BE1A5" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_cobblestone" + } + { + id: "4C325E2EFC3C8A34" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Granite" + icon: "minecraft:granite" + disable_toast: true + x: -3.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "2C10D18D55335B7E" + tasks: [{ + id: "0E5FAE10E27E9366" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2E3F385127229261" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_granite" + } + { + id: "1F67C89CEC353EC8" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Diorite" + icon: "minecraft:diorite" + disable_toast: true + x: -2.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "5F0B4CBE299954C4" + tasks: [{ + id: "1FABFC7817D97D70" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "17357E149CEB22EB" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_diorite" + } + { + id: "62E3A5FA5D5F540C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Andesite" + icon: "minecraft:andesite" + disable_toast: true + x: -1.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "262F369CE9CA7C87" + tasks: [{ + id: "627C690F2F1F4141" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "57557C8A54D21B68" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_andesite" + } + { + id: "5174EB5FB298E956" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Limestone" + icon: "create:limestone" + disable_toast: true + x: -0.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "47FB0491BAB19B90" + tasks: [{ + id: "3562F12F71399D43" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "798D923EE57A6442" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_limestone" + } + { + id: "43E9BEFDDC686B90" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Weathered Limestone" + icon: "create:weathered_limestone" + disable_toast: true + x: 0.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "3DDAE38C0982006F" + tasks: [{ + id: "6F23A5303082EA48" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5D564E6651601870" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_weathered_limestone" + } + { + id: "3F5C56A7B73209DE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Dolomite" + icon: "create:dolomite" + disable_toast: true + x: 1.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "7004EC32689972BD" + tasks: [{ + id: "0D04DAEF7A7BA4CE" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "245A6F167A95C24A" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_dolomite" + } + { + id: "512E8B8DC23D86DC" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Gabbro" + icon: "create:gabbro" + disable_toast: true + x: 2.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "650421069ADD5DF4" + tasks: [{ + id: "2E5008B38BA20119" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "58A1D35232DCE4F3" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_gabbro" + } + { + id: "18DF69253AA7A081" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Scoria" + icon: "create:scoria" + disable_toast: true + x: 3.5d + y: 1.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "41709386017FD959" + tasks: [{ + id: "6FCDF761279D7BD7" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "16054B2D679D6012" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_scoria" + } + { + id: "3D31B41848E11733" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Dark Scoria" + icon: "create:dark_scoria" + disable_toast: true + x: -3.5d + y: 2.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "043B5A961669A792" + tasks: [{ + id: "74C8125C04D8A0F1" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6FBADA6B12BD4415" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_dark_scoria" + } + { + id: "5A085B3722905C10" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Obsidian" + icon: "minecraft:obsidian" + disable_toast: true + x: -2.5d + y: 2.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "5D4F2FFCBD0B0F8E" + tasks: [{ + id: "09762E98E4ADFA54" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6EC8FA21CEFFBB20" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_obsidian" + } + { + id: "4BF9DAC9A2306498" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Dead Log" + icon: "biomesoplenty:dead_log" + disable_toast: true + x: -3.5d + y: 3.5d + shape: "hexagon" + subtitle: "2 Silver" + id: "222EEB7DB1D98484" + tasks: [{ + id: "4F6FBE56F7CDEFF4" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "203B1118E5E16C63" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_dead_log" + } + { + id: "6143F0847CDAEEC8" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Oak Log" + icon: "minecraft:oak_log" + disable_toast: true + x: -2.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "5504C6597C74637B" + tasks: [{ + id: "33745C01EBE18522" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "41B4166C32732193" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_oak_log" + } + { + id: "1239746C0CB94233" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Birch Log" + icon: "minecraft:birch_log" + disable_toast: true + x: -1.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "35F97137A46C1F3C" + tasks: [{ + id: "4D91654331E04989" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "153D65A8A0BB38FA" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_birch_log" + } + { + id: "4FE12E7724B5C31B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Spruce Log" + icon: "minecraft:spruce_log" + disable_toast: true + x: -0.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "5923347D1827DA83" + tasks: [{ + id: "0C089819C11CA13F" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "795C72A7059A47C2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_spruce_log" + } + { + id: "2A1E2C24AF0CA856" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Jungle Log" + icon: "minecraft:jungle_log" + disable_toast: true + x: 0.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "7F7ACF3B774E9D0E" + tasks: [{ + id: "47A66BF894211981" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7A2F2E7AFBF5E2C0" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_jungle_log" + } + { + id: "423D84B9EB17049B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Acacia Log" + icon: "minecraft:acacia_log" + disable_toast: true + x: 1.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "6C6A43E08FBC8D53" + tasks: [{ + id: "69933C609CBB5098" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "32FB1ED239878B55" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_acacia_log" + } + { + id: "55C814138D0CEF8B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Dark Oak Log" + icon: "minecraft:dark_oak_log" + disable_toast: true + x: 2.5d + y: 3.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "585788A4494AC124" + tasks: [{ + id: "0720A203C27A544B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1854BD659ABE0EC5" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_dark_oak_log" + } + { + id: "586F20910743E75B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Crimson Stem" + icon: "minecraft:crimson_stem" + disable_toast: true + x: 3.5d + y: 3.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "24328C973480E4E8" + tasks: [{ + id: "69B204994581EA5A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4DDDA8FE8957E1B3" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_crimson_stem" + } + { + id: "0E3E4BE7B72586D2" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Warped Stem" + icon: "minecraft:warped_stem" + disable_toast: true + x: -3.5d + y: 4.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "725FFE8BD6E45F96" + tasks: [{ + id: "6F0F7C5617BD6320" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2EFE654C949DA5E2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_warped_stem" + } + { + id: "7480420CFCFB2BBE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Iron Ingot" + icon: "minecraft:iron_ingot" + disable_toast: true + x: -3.5d + y: 6.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "07081911727142C8" + tasks: [{ + id: "405D1EC31C5CEAF2" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "04EFE1B1037D4425" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_iron_ingot" + } + { + id: "15021797F1262C44" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Zinc Ingot" + icon: "create:zinc_ingot" + disable_toast: true + x: -2.5d + y: 6.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "69B107895D3CA0B2" + tasks: [{ + id: "2C8F6A20A2DCAA10" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5D700D1565692EE1" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_zinc_ingot" + } + { + id: "49A8B503F5F78F19" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Copper Ingot" + icon: "create:copper_ingot" + disable_toast: true + x: -1.5d + y: 6.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "74F96A8D400FD059" + tasks: [{ + id: "48683B20D7B4C40D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5FDA4963F53EC5F5" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_copper_ingot" + } + { + id: "04A9BCE6680495C6" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Nickel Ingot" + icon: "thermal:nickel_ingot" + disable_toast: true + x: -0.5d + y: 6.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "6D8E4C9DCFFB2C90" + tasks: [{ + id: "2C1CD73C4F9A126E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "645226D860AF3F5E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_nickel_ingot" + } + { + id: "09FD51124DC69B46" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Lead Ingot" + icon: "thermal:lead_ingot" + disable_toast: true + x: 0.5d + y: 6.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "3FC1029AF9BB245E" + tasks: [{ + id: "76679C31FB55AC99" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5FB6D6D6595BFA31" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_lead_ingot" + } + { + id: "02F412F0E75365AE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Gold Ingot" + icon: "minecraft:gold_ingot" + disable_toast: true + x: 1.5d + y: 6.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "417DD17A5C96CEE2" + tasks: [{ + id: "21048ECCF870510E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5DF7A47F2DF28050" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_gold_ingot" + } + { + id: "28E0E330F2FEF3D8" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Andesite Alloy" + icon: "create:andesite_alloy" + disable_toast: true + x: 2.5d + y: 6.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "7B5B7BB304E14C6D" + tasks: [{ + id: "7106D948A6148F3F" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "086F1AC96402FBDE" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_andesite_alloy" + } + { + id: "6B9745A3B2507A90" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Silica Steel" + icon: "moreminecarts:silica_steel" + disable_toast: true + x: 3.5d + y: 6.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "01F3EDC327B63908" + tasks: [{ + id: "59D460B0062FCD02" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7FDA0A2FE7C3CC29" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_silica_steel" + } + { + id: "20A44ED461BA79A6" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Brass Ingot" + icon: "create:brass_ingot" + disable_toast: true + x: -3.5d + y: 7.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "040A0552921E1115" + tasks: [{ + id: "3E8E8E4CD2EEBE0D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5BBBE855F52ED029" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_brass_ingot" + } + { + id: "5324E6C8D0854FB6" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Invar Ingot" + icon: "thermal:invar_ingot" + disable_toast: true + x: -2.5d + y: 7.0d + shape: "hexagon" + subtitle: "64 Silver" + id: "2D022872F99F9907" + tasks: [{ + id: "3F49C93B2F9C8BC2" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "302C6F91CA94F1E1" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_invar_ingot" + } + { + id: "2CCCC558C8490FBA" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Coal" + icon: "minecraft:coal" + disable_toast: true + x: -1.5d + y: 7.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "0DA48CA15E17157D" + tasks: [{ + id: "7813299A6F0A7923" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2EBABA88E1067F51" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_coal" + } + { + id: "7B783BD2B49FEAB8" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Flint" + icon: "minecraft:flint" + disable_toast: true + x: -0.5d + y: 7.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "70FDB8C2F2C4A825" + tasks: [{ + id: "48D1CF5666B6688C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3E183FFAFED2D1D9" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_flint" + } + { + id: "1A63C1380ECE209B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Cinnabar" + icon: "thermal:cinnabar" + disable_toast: true + x: 0.5d + y: 7.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "78ECB6EB48347D08" + tasks: [{ + id: "123B7FAF8F6E5495" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "48E779E7241F8B64" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_cinnabar" + } + { + id: "497CE4C0BE785277" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Redstone Dust" + icon: "minecraft:redstone" + disable_toast: true + x: 1.5d + y: 7.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "21CC162C06BBFAE6" + tasks: [{ + id: "03EC6C3F9F8DE5E8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "288A91044CFC9BEA" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_redstone_dust" + } + { + id: "656C412A2E462DB7" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Diamond" + icon: "minecraft:diamond" + disable_toast: true + x: 2.5d + y: 7.0d + shape: "hexagon" + subtitle: "1 Gold" + id: "00EBF8DED4E51A4F" + tasks: [{ + id: "629882CBD08A0F37" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "703407B7CF1C8911" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_diamond" + } + { + id: "4D70632E6F7C117C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Lapis Lazuli" + icon: "minecraft:lapis_lazuli" + disable_toast: true + x: 3.5d + y: 7.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "258C779897D1AEF0" + tasks: [{ + id: "3E5A44DCA6B75DA4" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "0351079CD0288700" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_lapis_lazuli" + } + { + id: "3F1CC1912310FBB1" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Emerald" + icon: "minecraft:emerald" + disable_toast: true + x: -3.5d + y: 8.0d + shape: "hexagon" + subtitle: "1 Gold" + id: "38CD5CE18FE09D23" + tasks: [{ + id: "5697CD109E293D66" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "14762B422E1D7D3B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_emerald" + } + { + id: "18413CE7A70980E3" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Sulfur" + icon: "thermal:sulfur" + disable_toast: true + x: -2.5d + y: 8.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "1C104893F5481A58" + tasks: [{ + id: "32BD07B4D88AC933" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1F521871F7BF5D3B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sulfur" + } + { + id: "7BA3F9373DF0F1F8" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Apatite" + icon: "thermal:apatite" + disable_toast: true + x: -1.5d + y: 8.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "7509D8FA29C6AB31" + tasks: [{ + id: "51F48DD6F9E31312" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2FC89C2C89DA4253" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_apatite" + } + { + id: "11DD631CC9E7B242" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Niter" + icon: "thermal:niter" + disable_toast: true + x: -0.5d + y: 8.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "3A4A3B749FBDBEF1" + tasks: [{ + id: "6617D0134BAA4A51" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2064E44195ACEC5B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_niter" + } + { + id: "4146275713529900" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Nether Quartz" + icon: "minecraft:quartz" + disable_toast: true + x: 0.5d + y: 8.0d + shape: "hexagon" + subtitle: "24 Silver" + id: "1D6150F2480B976E" + tasks: [{ + id: "377180FD5A34A04E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "13C6D81EC3938304" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_nether_quartz" + } + { + id: "0A2365C2957AFD25" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Certus Quartz" + icon: "appliedenergistics2:certus_quartz_crystal" + disable_toast: true + x: 1.5d + y: 8.0d + shape: "hexagon" + subtitle: "24 Silver" + id: "48F72CFAB336FE73" + tasks: [{ + id: "7EC3509B8D1B3428" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4DE00DE8BF5936C9" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_certus_quartz" + } + { + id: "569F8F41270B936C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Fluix Quartz" + icon: "appliedenergistics2:fluix_crystal" + disable_toast: true + x: 2.5d + y: 8.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "4A678C0BE97177DB" + tasks: [{ + id: "7ADB304DD8E20DB3" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "08DDDFEFD8A7C4D7" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_fluix_quartz" + } + { + id: "379CA074F5FDA6B3" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "6x Cured Rubber" + icon: "thermal:cured_rubber" + disable_toast: true + x: 3.5d + y: 8.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "488A4B4A3295CF10" + tasks: [{ + id: "78A09B6FA88E17EB" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "22DD9D3AF87567E2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_cured_rubber" + } + { + id: "7E5019FC90848D61" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Scaffolding" + icon: "minecraft:scaffolding" + disable_toast: true + x: -1.5d + y: 9.5d + shape: "hexagon" + subtitle: "2 Silver" + id: "49634E835B948A4F" + tasks: [{ + id: "5688E91CACD4D08A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4E2898367E1E0619" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_scaffolding" + } + { + id: "554CE24AF5C12775" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Wool" + icon: "minecraft:white_wool" + disable_toast: true + x: -0.5d + y: 9.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "20CB646041616191" + tasks: [{ + id: "1FFA77921DE9C672" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "36A65ACB4695944E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_wool" + } + { + id: "4D65BD92C51B1944" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Sponge" + icon: "minecraft:sponge" + disable_toast: true + x: 0.5d + y: 9.5d + shape: "hexagon" + subtitle: "16 Silver" + id: "58E93229D6552D4B" + tasks: [{ + id: "51E4A954A6C1C680" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "53B0394912B56DD3" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sponge" + } + { + id: "14446C53A4A9F61A" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Cobweb" + icon: "minecraft:cobweb" + disable_toast: true + x: 1.5d + y: 9.5d + shape: "hexagon" + subtitle: "16 Silver" + id: "3C45250D863E65CB" + tasks: [{ + id: "7379A534933BBFC4" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4CD2BDCF1A0AF73B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_cobweb" + } + { + id: "1E410D0CDD72EEA7" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Rice" + icon: "farmersdelight:rice_bag" + disable_toast: true + x: -3.5d + y: 15.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "7BDF86B9E3E607C5" + tasks: [{ + id: "77D789870156E17E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3A5740C10BBF0430" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_rice" + } + { + id: "58814DC84AEC1308" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Straw" + icon: "farmersdelight:straw" + disable_toast: true + x: -2.5d + y: 15.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "59EBD3DADD002D3A" + tasks: [{ + id: "6E8F252330F9E3FF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "78B01F12E7EDFC53" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_straw" + } + { + id: "08420FCE5515F7FF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Glowshroom" + icon: "biomesoplenty:glowshroom" + disable_toast: true + x: -1.5d + y: 15.0d + shape: "hexagon" + subtitle: "9 Silver" + id: "7F4D9F958EBDEAF8" + tasks: [{ + id: "04CB57B93A9A5543" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "6056A6105CB0C763" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_glowshroom" + } + { + id: "2685513A14EC62F4" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Bramble" + icon: "biomesoplenty:bramble" + disable_toast: true + x: -0.5d + y: 15.0d + shape: "hexagon" + subtitle: "9 Silver" + id: "737E670DC8AD5E19" + tasks: [{ + id: "03282EA97256DD8E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7B54EAB8073173F1" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_bramble" + } + { + id: "37B5C7EC7F055F2F" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Barley" + icon: "biomesoplenty:barley" + disable_toast: true + x: 0.5d + y: 15.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "1EF5AB1D7882167F" + tasks: [{ + id: "74F041E80576D161" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3EE0DCF1E01DE583" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_barley" + } + { + id: "191FB310CBA7D093" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Watergrass" + icon: "biomesoplenty:watergrass" + disable_toast: true + x: 1.5d + y: 15.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "576E0B50F2015C9E" + tasks: [{ + id: "13F5F8B129D56A11" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "05836F075B2DD93C" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_watergrass" + } + { + id: "5F776DF7288000AD" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Mangrove Root" + icon: "biomesoplenty:mangrove_root" + disable_toast: true + x: 2.5d + y: 15.0d + shape: "hexagon" + subtitle: "9 Silver" + id: "2C01297688930D47" + tasks: [{ + id: "2869F3D5537E102D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2A462F9CABD9AC8F" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_mangrove_root" + } + { + id: "797F76679CBA5B0B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Reed" + icon: "biomesoplenty:reed" + disable_toast: true + x: 3.5d + y: 15.0d + shape: "hexagon" + subtitle: "5 Silver" + id: "3CA6DD7C5516A330" + tasks: [{ + id: "4C36A02FD8FFB372" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5DF1491360FCF3FA" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_reed" + } + { + id: "11A2A1E7BD35FDB0" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Clover Petal" + icon: "biomesoplenty:huge_clover_petal" + disable_toast: true + x: -3.5d + y: 16.0d + shape: "hexagon" + subtitle: "10 Silver" + id: "6C6C1C2E7CA882BD" + tasks: [{ + id: "422A86FE2BC106B8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "07C4BD06D929D08A" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_clover_petal" + } + { + id: "663C265DA6F4E930" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Spanish Moss" + icon: "biomesoplenty:spanish_moss" + disable_toast: true + x: -2.5d + y: 16.0d + shape: "hexagon" + subtitle: "7 Silver" + id: "3E27961386364EDF" + tasks: [{ + id: "4BB831132F4F2E5D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1D32702F20FE8AAB" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_spanish_moss" + } + { + id: "1DF5C29759963F36" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Willow Vine" + icon: "biomesoplenty:willow_vine" + disable_toast: true + x: -1.5d + y: 16.0d + shape: "hexagon" + subtitle: "7 Silver" + id: "286C553AD3E15266" + tasks: [{ + id: "4C968D5E57EBEB29" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "0A9B1BF968F82301" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_willow_vine" + } + { + id: "7D9276C2D669D0FF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Cattail" + icon: "biomesoplenty:cattail" + disable_toast: true + x: -0.5d + y: 16.0d + shape: "hexagon" + subtitle: "4 Silver" + id: "70B164A5F22452CA" + tasks: [{ + id: "3BEC13679ADA8951" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1BD8FA059ED750C8" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_cattail" + } + { + id: "6A27CCF65FF6FDDE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Sugar Cane" + icon: "minecraft:sugar_cane" + disable_toast: true + x: 0.5d + y: 16.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "5BB058D52AA40751" + tasks: [{ + id: "2D4984407440CAE5" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3D70673520E3563B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sugar_cane" + } + { + id: "4107B1A81710E1B6" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Kelp" + icon: "minecraft:kelp" + disable_toast: true + x: 1.5d + y: 16.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "4C068341DD17068B" + tasks: [{ + id: "6A9A583F2DAABF7A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "51D175FD782BBBB1" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_kelp" + } + { + id: "4B2323CA042E2C7D" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Bamboo" + icon: "minecraft:bamboo" + disable_toast: true + x: 2.5d + y: 16.0d + shape: "hexagon" + subtitle: "5 Silver" + id: "3A86EA1C2AD21C29" + tasks: [{ + id: "62575AE95965D328" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1C92DCE87F116947" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_bamboo" + } + { + id: "724438A0F5E7CC2F" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "8x Sweet Berries" + icon: "minecraft:sweet_berries" + disable_toast: true + x: 3.5d + y: 16.0d + shape: "hexagon" + subtitle: "11 Silver" + id: "33B5C951B4AE8322" + tasks: [{ + id: "3EED905996C2FA91" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "68F58624A48FD804" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sweet_berries" + } + { + id: "602A39C6C25E8B43" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Vines" + icon: "minecraft:vine" + disable_toast: true + x: -3.5d + y: 17.0d + shape: "hexagon" + subtitle: "7 Silver" + id: "57CD030DE2CD7715" + tasks: [{ + id: "7BD6E0DA086B43DF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "10F61F3602889BF0" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_vines" + } + { + id: "0D5F5E76F108F90E" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Tree Fertilizer" + icon: "create:tree_fertilizer" + disable_toast: true + x: -2.5d + y: 17.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "0726837174BCED3D" + tasks: [{ + id: "12FAABD2933127FF" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "24A86054AF92BE82" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_tree_fertilizer" + } + { + id: "253E6D5AEF81F17B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Daub" + icon: "supplementaries:daub" + disable_toast: true + x: -3.5d + y: 18.5d + shape: "hexagon" + subtitle: "5 Silver" + id: "091671443430B31B" + tasks: [{ + id: "5C5A382C41AACDCA" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "16A5440919178342" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_daub" + } + { + id: "10CDE3C2EBC04C68" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Clear Glass" + icon: "tconstruct:clear_glass" + disable_toast: true + x: -2.5d + y: 18.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "7DFB9DD1A1BB63E4" + tasks: [{ + id: "47933CF1CF318964" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2944EA4C610DACB4" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_clear_glass" + } + { + id: "422D4CE1FC10A3C8" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Factory Block" + icon: "chisel:factory/dots" + disable_toast: true + x: -1.5d + y: 18.5d + shape: "hexagon" + subtitle: "2 Silver" + id: "480F70ECCC09621E" + tasks: [{ + id: "21E5B3D779BB589C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "74D39B3EBA32AD01" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_factory_block" + } + { + id: "7AB465AE19C3FDE2" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Laboratory Block" + icon: "chisel:laboratory/wallpanel" + disable_toast: true + x: -0.5d + y: 18.5d + shape: "hexagon" + subtitle: "4 Silver" + id: "1ACB59D7A20671CE" + tasks: [{ + id: "4C6466D4DD4B5E8A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "60CCD17EF9446846" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_laboratory_block" + } + { + id: "0D1FF371759A1EFA" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Copper Shingles" + icon: "create:copper_shingles" + disable_toast: true + x: 0.5d + y: 18.5d + shape: "hexagon" + subtitle: "3 Silver" + id: "1A2E4E06037E009A" + tasks: [{ + id: "3ADD4B2667FCE6BD" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "26925EEB466FCEBD" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_copper_shingles" + } + { + id: "0A9854892CC48853" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Algal Bricks" + icon: "architects_palette:algal_bricks" + disable_toast: true + x: 1.5d + y: 18.5d + shape: "hexagon" + subtitle: "6 Silver" + id: "011F64B48766234B" + tasks: [{ + id: "1949FB8AB7C640DA" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "72F40F26027377A2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_algal_bricks" + } + { + id: "46294ECFE64E5954" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Olivestone Bricks" + icon: "architects_palette:olivestone_bricks" + disable_toast: true + x: 2.5d + y: 18.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "2C9012E65F43EC72" + tasks: [{ + id: "78C2B9BFB8F7AE79" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4F7BF38D3490B8C2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_olivestone_bricks" + } + { + id: "397DC93DEF4B9C30" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Architect's Limestone" + icon: "architects_palette:limestone" + disable_toast: true + x: 3.5d + y: 18.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "0A32C5B097AA4F14" + tasks: [{ + id: "247CD1CF9FA09A54" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "16B4A7C6E87E2E0C" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_architects_limestone" + } + { + id: "6002CBA76AB901F3" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Sunmetal" + icon: "architects_palette:sunmetal_block" + disable_toast: true + x: -3.5d + y: 19.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "4202EDD798183934" + tasks: [{ + id: "27C97FE708B72325" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "32A8DF7DE9B0A29A" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_sunmetal" + } + { + id: "23F66204131BA686" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Plating Block" + icon: "architects_palette:plating_block" + disable_toast: true + x: -2.5d + y: 19.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "3D7AD3AF3857F7D9" + tasks: [{ + id: "30362DDA0FA170B1" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "72E68D6D7A7E8F25" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_plating_block" + } + { + id: "79CD6C18B40FD1CF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Twisted Planks" + icon: "architects_palette:twisted_planks" + disable_toast: true + x: -1.5d + y: 19.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "1D4B76A3C724C40D" + tasks: [{ + id: "7566051D44BDCB05" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "22523CAC4C6C6970" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_twisted_planks" + } + { + id: "48E8694EB482190C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "32x Osseous Bricks" + icon: "architects_palette:osseous_bricks" + disable_toast: true + x: -0.5d + y: 19.5d + shape: "hexagon" + subtitle: "8 Silver" + id: "01428232944D8BE9" + tasks: [{ + id: "29EBA4358AFF2C00" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1E7F2B3B05EA97E2" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_osseous_bricks" + } + { + id: "320943421E92B877" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Seared Stone" + icon: "tconstruct:seared_stone" + disable_toast: true + x: 0.5d + y: 19.5d + shape: "hexagon" + subtitle: "32 Silver" + id: "3A7A2C8D56500426" + tasks: [{ + id: "0E882521462F6DD5" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "50F49365A310C7AF" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_seared_stone" + } + { + id: "19B7AEF1C4855DDD" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "16x Scorched Stone" + icon: "tconstruct:scorched_stone" + disable_toast: true + x: 1.5d + y: 19.5d + shape: "hexagon" + subtitle: "32 Silver" + id: "70EBB5E32545ACEC" + tasks: [{ + id: "32D4F20220FEF18B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2212B9D7C3CE5596" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_scorched_stone" + } + { + id: "043E4ABC60E1B8DE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Lantern" + icon: "minecraft:lantern" + disable_toast: true + x: 2.5d + y: 19.5d + shape: "hexagon" + subtitle: "1 Silver" + id: "10D5B3EF6A77B918" + tasks: [{ + id: "630B8174C195B580" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2D46F83411D1BE3E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_lantern" + } + { + id: "3E14CB7EB614B0B8" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Copper Lantern" + icon: "supplementaries:copper_lantern" + disable_toast: true + x: 3.5d + y: 19.5d + shape: "hexagon" + subtitle: "1 Silver" + id: "6BC9B96B2C6684DC" + tasks: [{ + id: "6E441EDE63DA1C1E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7902C2C3CA649D96" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_copper_lantern" + } + { + id: "3F717BD0A1F4942C" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Brass Lantern" + icon: "supplementaries:brass_lantern" + disable_toast: true + x: -3.5d + y: 20.5d + shape: "hexagon" + subtitle: "1 Silver" + id: "44CDD45033A93614" + tasks: [{ + id: "1F6B1DD8809CA135" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "45FEF3A32F7766AD" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_brass_lantern" + } + { + id: "2CBB9DC78809B69A" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Crimson Lantern" + icon: "supplementaries:crimson_lantern" + disable_toast: true + x: -2.5d + y: 20.5d + shape: "hexagon" + subtitle: "1 Silver" + id: "7B7A161B4BAB89AD" + tasks: [{ + id: "00217BF472607D30" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2E705AE0E825C6B5" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_crimson_lantern" + } + { + id: "0216E125D5D1F8CD" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Slime Ball" + icon: "minecraft:slime_ball" + disable_toast: true + x: -3.5d + y: 22.0d + shape: "hexagon" + subtitle: "24 Silver" + id: "522D9970B8C43046" + tasks: [{ + id: "185E704F9052555F" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "576ECF50EAF96452" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_slime_ball" + } + { + id: "262EA522BA6AB242" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x String" + icon: "minecraft:string" + disable_toast: true + x: -2.5d + y: 22.0d + shape: "hexagon" + subtitle: "5 Silver" + id: "11B239EF3DAE4463" + tasks: [{ + id: "77AD501F9C60CC9E" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7B223CF62CA3E5E3" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_string" + } + { + id: "065F048F04F02915" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Feather" + icon: "minecraft:feather" + disable_toast: true + x: -1.5d + y: 22.0d + shape: "hexagon" + subtitle: "6 Silver" + id: "339BC75AD23B70D7" + tasks: [{ + id: "68258EE641051453" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1522E7E6CC270122" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_feather" + } + { + id: "071961F1447FA25D" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Gunpowder" + icon: "minecraft:gunpowder" + disable_toast: true + x: -0.5d + y: 22.0d + shape: "hexagon" + subtitle: "7 Silver" + id: "52CCFCE2733F76BC" + tasks: [{ + id: "1A41C3FF29DFB7E6" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2A5CE406A8184B62" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_gunpowder" + } + { + id: "10A3816277F873ED" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Leather" + icon: "minecraft:leather" + disable_toast: true + x: 0.5d + y: 22.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "42F951B44FB2BFE3" + tasks: [{ + id: "2C76AAB77678430B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "74F3E9B2AFC611AE" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_leather" + } + { + id: "039D78EF3F40A706" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Ink Sac" + icon: "minecraft:ink_sac" + disable_toast: true + x: 1.5d + y: 22.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "108550230A95C7D4" + tasks: [{ + id: "59DFBA0B3B34FFE9" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "505F6AE0E7831D5A" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_ink_sac" + } + { + id: "0C78E802E87B2319" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Experience" + icon: "minecraft:experience_bottle" + disable_toast: true + x: 2.5d + y: 22.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "1BF763E3FD8C2245" + tasks: [{ + id: "5C3649EA4045CFA5" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4C973FACE23E9458" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_experience" + } + { + id: "75F3834DA4E193E2" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Shulker Shell" + icon: "minecraft:shulker_shell" + disable_toast: true + x: 3.5d + y: 22.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "1F05704C3B1FA528" + tasks: [{ + id: "22B9CA1C44CE07C9" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "303058DFD6FFB21A" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_shulker_shell" + } + { + id: "370F996437560335" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Spider Eye" + icon: "minecraft:spider_eye" + disable_toast: true + x: -3.5d + y: 23.0d + shape: "hexagon" + subtitle: "10 Silver" + id: "0C6B2EEE280F7667" + tasks: [{ + id: "244AD24E7FF79516" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "27371A9101CF9D19" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_spider_eye" + } + { + id: "0ED014C23F3EF88A" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Ender Pearl" + icon: "minecraft:ender_pearl" + disable_toast: true + x: -2.5d + y: 23.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "46F150CC9BE2D856" + tasks: [{ + id: "69CC6A53FB1DA522" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1F0E6C70D37E2509" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_ender_pearl" + } + { + id: "3859EB4A3068BDE0" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Rotten Flesh" + icon: "minecraft:rotten_flesh" + disable_toast: true + x: -1.5d + y: 23.0d + shape: "hexagon" + subtitle: "3 Silver" + id: "76287BDB2E9B7BC8" + tasks: [{ + id: "2AB8F75131B22386" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "7C5CB53B93CA20F6" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_rotten_flesh" + } + { + id: "3675850E12202E3F" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Blaze Rod" + icon: "minecraft:blaze_rod" + disable_toast: true + x: -0.5d + y: 23.0d + shape: "hexagon" + subtitle: "20 Silver" + id: "685DD2A4DFF56193" + tasks: [{ + id: "69AE01C37B987F2B" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "17E28B4A42E7977B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_blaze_rod" + } + { + id: "444D0769A4583EF5" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Bone" + icon: "minecraft:bone" + disable_toast: true + x: 0.5d + y: 23.0d + shape: "hexagon" + subtitle: "8 Silver" + id: "433E103CD81712C1" + tasks: [{ + id: "48D9E5B847C5F29A" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3AE918FEFE0A3CB9" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_bone" + } + { + id: "29F8DB5173884DF8" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Prismarine Shard" + icon: "minecraft:prismarine_shard" + disable_toast: true + x: 1.5d + y: 23.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "29696B4965010CED" + tasks: [{ + id: "368A7CCA6ACF29AA" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2D8C5A5E22AB7A9A" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_prismarine_shard" + } + { + id: "3030A2D06513A5EE" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "4x Prismarine Crystals" + icon: "minecraft:prismarine_crystals" + disable_toast: true + x: 2.5d + y: 23.0d + shape: "hexagon" + subtitle: "24 Silver" + id: "7C7B81ABFC586379" + tasks: [{ + id: "18A713A7F617EE48" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "77F93921DB94E45A" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_prismarine_crystals" + } + { + id: "4FDA3ED6EE0395A0" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Witch Hat" + icon: "xreliquary:witch_hat" + disable_toast: true + x: 3.5d + y: 23.0d + shape: "hexagon" + subtitle: "1 Gold" + id: "4864E6BA6AE2B49B" + tasks: [{ + id: "34280C5D1DE0A3D8" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3BFE36CE8DEED04B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_witch_hat" + } + { + id: "01BE4FFA1E63C514" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Zombie heart" + icon: "xreliquary:zombie_heart" + disable_toast: true + x: -3.5d + y: 24.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "2714FE0125D3E953" + tasks: [{ + id: "531D4A7E38CB4119" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2683AEBC65309590" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_zombie_heart" + } + { + id: "73A3D6B10C29ED74" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Squid Beak" + icon: "xreliquary:squid_beak" + disable_toast: true + x: -2.5d + y: 24.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "395978A711E14931" + tasks: [{ + id: "6FD1B29245B5DA4D" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "08D7DF6BC677E813" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_squid_beak" + } + { + id: "19A177F7D96252D8" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Rib Bone" + icon: "xreliquary:rib_bone" + disable_toast: true + x: -1.5d + y: 24.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "23F9DB562ED7C2F6" + tasks: [{ + id: "7F553FF9F6C2E75F" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "5B6DB6D9D5226D0E" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_rib_bone" + } + { + id: "6B6BB0304A01C6EF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Catalyzing Gland" + icon: "xreliquary:catalyzing_gland" + disable_toast: true + x: -0.5d + y: 24.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "4764EAB921EE1F19" + tasks: [{ + id: "251E8472CFA98D68" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3045E27533693F14" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_catalyzing_gland" + } + { + id: "61B524642CB5B885" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Chelicerae" + icon: "xreliquary:chelicerae" + disable_toast: true + x: 0.5d + y: 24.0d + shape: "hexagon" + subtitle: "32 Silver" + id: "2E10D7FE1BC4FDBB" + tasks: [{ + id: "168C97990B35982C" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4F8FF287C3AC4EB4" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_chelicerae" + } + { + id: "2799CEE57EB4ECD0" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Slime Pearl" + icon: "xreliquary:slime_pearl" + disable_toast: true + x: 1.5d + y: 24.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "67B45D6767F8BFD9" + tasks: [{ + id: "4018899FC3C2DC63" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "3DD074848EA13D6A" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_slime_pearl" + } + { + id: "45B100689244D7A7" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Bat Wing" + icon: "xreliquary:bat_wing" + disable_toast: true + x: 2.5d + y: 24.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "5491C5600D7F039A" + tasks: [{ + id: "123CD29AA111F555" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1F9F748792E58E29" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_bat_wing" + } + { + id: "7FADC35EA2E6ACED" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Withered Rib" + icon: "xreliquary:withered_rib" + disable_toast: true + x: 3.5d + y: 24.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "4BD2016AFC2A2035" + tasks: [{ + id: "50C8AD8844CB79E2" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "1DF2FEEF65D1FE87" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_withered_rib" + } + { + id: "195F0927009B73EF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Molten Core" + icon: "xreliquary:molten_core" + disable_toast: true + x: -3.5d + y: 25.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "59474208A27099BF" + tasks: [{ + id: "1231C00010314495" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "716125125B3BC02C" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_molten_core" + } + { + id: "71831976680DE6F6" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Eye of the Storm" + icon: "xreliquary:eye_of_the_storm" + disable_toast: true + x: -2.5d + y: 25.0d + shape: "hexagon" + subtitle: "2 Gold" + id: "6FF65841E3EA0FCD" + tasks: [{ + id: "706BA898C03C50DE" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "70F1845989BF7E3D" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_eye_of_the_storm" + } + { + id: "4BAD8D6BF6D31582" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Frozen Core" + icon: "xreliquary:frozen_core" + disable_toast: true + x: -1.5d + y: 25.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "0CF82AABD5E05A0D" + tasks: [{ + id: "3AE6EC858CA6F1C3" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "4AA8F100108F0558" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_frozen_core" + } + { + id: "4969544C0854A10B" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Nebulous Heart" + icon: "xreliquary:nebulous_heart" + disable_toast: true + x: -0.5d + y: 25.0d + shape: "hexagon" + subtitle: "1 Gold" + id: "73EEAE66CC2014E9" + tasks: [{ + id: "6471BE62CD7C0291" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "327EA87B6F1EB3B3" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_nebulous_heart" + } + { + id: "39882DC6BD539342" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Guardian Spike" + icon: "xreliquary:guardian_spike" + disable_toast: true + x: 0.5d + y: 25.0d + shape: "hexagon" + subtitle: "1 Gold" + id: "662583DB97721FE8" + tasks: [{ + id: "58AA6D53BCBDE592" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "138ED529F3D10981" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_guardian_spike" + } + { + id: "09369014D3B6F533" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Phantom Membrane" + icon: "minecraft:phantom_membrane" + disable_toast: true + x: 1.5d + y: 25.0d + shape: "hexagon" + subtitle: "48 Silver" + id: "210A3F8C44AAD89A" + tasks: [{ + id: "2E1F7F34C7142CAA" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "00ECC786C2F2BD74" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_phantom_membrane" + } + { + id: "4D303377FAFBBD2D" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "1x Blaze Cake" + icon: "create:blaze_cake" + disable_toast: true + x: 2.5d + y: 25.0d + shape: "hexagon" + subtitle: "16 Silver" + id: "3CEC6538990D89C3" + tasks: [{ + id: "13988AB128C86240" + type: "item" + icon: { id: "thermal:silver_coin", Count: 10b } + item: "thermal:silver_coin" + count: 10L + }] + rewards: [ + { + id: "2523CFB9FE014C2B" + type: "item" + auto: "enabled" + item: "kubejs:trade_card_blaze_cake" + } + { + id: "0CDBD71213AA5C84" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + { + title: "Early Shipping" + icon: "thermal:machine_press" + x: -2.0d + y: 12.25d + shape: "circle" + subtitle: "30 Silver" + description: [ + "Getting to the Brass Age is hard work!" + "" + "The avid salesman can come here for purchasing Trading Machines from the get go. This should help you take off!" + ] + dependencies: ["6AC1CED0D341150E"] + id: "4DFE4FD3B504AF4B" + tasks: [{ + id: "3E2EAC7B2D274669" + type: "item" + icon: { id: "thermal:silver_coin", Count: 30b } + item: "thermal:silver_coin" + count: 30L + }] + rewards: [ + { + id: "26C6A3ACA1B59772" + type: "item" + auto: "enabled" + item: "thermal:machine_press" + } + { + id: "271E7F49C6719B0B" + type: "item" + auto: "no_toast" + item: "thermal:dynamo_stirling" + } + { + id: "61448EF131387AEF" + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/stage_1.snbt b/src/overrides/config/ftbquests/quests/chapters/stage_1.snbt new file mode 100644 index 0000000..f567fb7 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/stage_1.snbt @@ -0,0 +1,748 @@ +{ + id: "45AEDCD3B795E95A" + group: "331B6409EF6A7840" + order_index: 1 + filename: "stage_1" + title: "&f1&r High Aspirations" + icon: "kubejs:andesite_machine" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Automatic Forest" + icon: "minecraft:oak_log" + x: -1.0d + y: 1.0d + shape: "square" + subtitle: "Contraption 1" + description: [ + "Building Material, Fuel and Ingredient. A passive supply of timber would be a good first effort. " + "" + "Mechanical Saws are a powerful way to achieve this." + ] + hide_dependency_lines: true + dependencies: ["5799D55BB26BA52C"] + id: "2CB570195DA7E106" + tasks: [ + { + id: "58AB6E0FF2EA6AD4" + type: "item" + title: "Any Wooden Log" + icon: "minecraft:oak_log" + disable_toast: true + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:logs" + } + } + consume_items: false + } + { + id: "0842082756DA73FE" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Underwater Garden" + icon: "minecraft:kelp" + x: 5.0d + y: 1.0d + subtitle: "Contraption 3" + description: [ + "Kelp is vital ingredient to our first Assembly Line target: Andesite Alloy." + "" + "Kelp can be gathered automatically with Mechanical Harvesters." + ] + hide_dependency_lines: true + dependencies: ["5799D55BB26BA52C"] + id: "608BF7BE3CB666F3" + tasks: [ + { + id: "247A58659E47A4D8" + type: "item" + item: "minecraft:kelp" + consume_items: false + } + { + id: "0631FA27CEE5D67D" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Catching Sediment" + icon: "minecraft:sand" + x: 3.0d + y: 1.0d + subtitle: "Contraption 2" + description: ["A good way to automate Sand at this moment is to build Strainers."] + hide_dependency_lines: true + dependencies: ["5799D55BB26BA52C"] + id: "4CC420A6B673176A" + tasks: [ + { + id: "72FE446F5BB1A93E" + type: "item" + title: "Sand" + icon: "minecraft:sand" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "biomesoplenty:white_sand" + Count: 1b + } + { + id: "minecraft:sand" + Count: 1b + } + { + id: "biomesoplenty:orange_sand" + Count: 1b + } + ] + } + } + consume_items: false + } + { + id: "4208FAAC229CACA6" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Bedrock's Bounty" + icon: "create:andesite_cobblestone" + x: 1.0d + y: 1.0d + subtitle: "Contraption 4" + description: [ + "Gathering Andesite manually takes time. Thankfully, bedrock can cause lava to form Andesite infinitely." + "" + "At this time it is best to set up drills to break generated blocks between lava and water." + "Since bedrock is blocking the space beneath, you'll have to find a way to collect the drops from other sides." + ] + hide_dependency_lines: true + dependencies: ["5799D55BB26BA52C"] + id: "106C6DFDCB97327C" + tasks: [ + { + id: "5E14AA73F8E1AFE4" + type: "item" + item: "create:andesite_cobblestone" + consume_items: false + } + { + id: "29B78BB983BE39FC" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Andesite Lift" + icon: "create:rope_pulley" + x: 1.0d + y: 3.0d + shape: "circle" + subtitle: "Contraption 5" + description: ["All your Andesite is likely not being generated near your factory. Figure out a way to bring it to the surface."] + dependencies: ["106C6DFDCB97327C"] + id: "6B7F0631060A9E62" + tasks: [{ + id: "0C764FDD555E8CCD" + type: "checkmark" + title: "Automated" + }] + } + { + title: "Clay Washer" + icon: "minecraft:clay_ball" + x: 3.5d + y: 2.5d + subtitle: "Contraption 6-1" + description: ["With the help of Encased Fans, sand can be refined into clay."] + dependencies: ["4CC420A6B673176A"] + id: "729FB5DD07C234E8" + tasks: [ + { + id: "714FE76FE8D62EBF" + type: "item" + item: "minecraft:clay_ball" + consume_items: false + } + { + id: "02EE2F24FDF534BC" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Algae Blender" + icon: "architects_palette:algal_blend" + x: 5.0d + y: 3.5d + subtitle: "Contraption 6-2" + description: ["In the Mix! Clay and Kelp can be processed with the Mechanical Mixer."] + dependencies: [ + "729FB5DD07C234E8" + "608BF7BE3CB666F3" + ] + id: "72BE175C83834838" + tasks: [ + { + id: "1CE8BFE460CB41E0" + type: "item" + item: "architects_palette:algal_blend" + consume_items: false + } + { + id: "63EA7BF746BF3254" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Log Stripper" + icon: "minecraft:stripped_oak_log" + x: -1.0d + y: 3.5d + subtitle: "Contraption 7-1" + description: ["Upwards-facing Mechanical Saws can process the harvested logs further..."] + dependencies: ["2CB570195DA7E106"] + id: "532EFE32C3A515B5" + tasks: [ + { + id: "3C7A4BA98EEC90E8" + type: "item" + title: "Any Stripped Log" + icon: "minecraft:stripped_oak_log" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "minecraft:stripped_oak_log" + Count: 1b + } + { + id: "minecraft:stripped_spruce_log" + Count: 1b + } + { + id: "minecraft:stripped_birch_log" + Count: 1b + } + { + id: "minecraft:stripped_acacia_log" + Count: 1b + } + { + id: "minecraft:stripped_dark_oak_log" + Count: 1b + } + { + id: "minecraft:stripped_crimson_stem" + Count: 1b + } + { + id: "minecraft:stripped_warped_stem" + Count: 1b + } + { + id: "biomesoplenty:stripped_willow_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_palm_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_jacaranda_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_mahogany_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_cherry_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_redwood_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_fir_log" + Count: 1b + } + { + id: "architects_palette:stripped_twisted_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_dead_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_magic_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_umbran_log" + Count: 1b + } + { + id: "biomesoplenty:stripped_hellbark_log" + Count: 1b + } + { + id: "endergetic:stripped_poise_stem" + Count: 1b + } + { + id: "tconstruct:stripped_greenheart_log" + Count: 1b + } + { + id: "tconstruct:stripped_skyroot_log" + Count: 1b + } + { + id: "tconstruct:stripped_bloodshroom_log" + Count: 1b + } + { + id: "darkerdepths:stripped_petrified_log" + Count: 1b + } + { + id: "forbidden_arcanus:stripped_mysterywood_log" + Count: 1b + } + { + id: "forbidden_arcanus:stripped_cherrywood_log" + Count: 1b + } + ] + } + } + consume_items: false + } + { + id: "7B60357D06FE3ADC" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Plank Cutter" + icon: "minecraft:oak_planks" + x: -0.5d + y: 4.5d + subtitle: "Contraption 7-2" + description: ["...and further..."] + dependencies: ["532EFE32C3A515B5"] + id: "19921941321965A4" + tasks: [ + { + id: "1A63E51B0CF5C6DD" + type: "item" + title: "Any Planks" + icon: "minecraft:oak_planks" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:planks" + } + } + consume_items: false + } + { + id: "175767726FBCAA8D" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Cutter of Cut Planks" + icon: "minecraft:oak_slab" + x: 0.5d + y: 5.0d + subtitle: "Contraption 7-3" + description: [ + "...and further, into the perfect base for our first Mechanism." + "" + "Note: before the machine starts showering you with random furniture, place a wooden slab in the filter slot of the Mechanical Saw." + ] + dependencies: ["19921941321965A4"] + id: "59E4A6163753BC12" + tasks: [ + { + id: "23030B6D0072EBE8" + type: "item" + title: "Any Wooden Slab" + icon: "minecraft:oak_slab" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:wooden_slabs" + } + } + consume_items: false + } + { + id: "59B260F52722A1FE" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Algaesite Mixer" + icon: "create:andesite_alloy" + x: 3.5d + y: 5.0d + subtitle: "Contraption 6-4" + description: ["In another Mix! This time it'll be the bricks and your surfaced Andesite Cobblestone."] + dependencies: [ + "106C6DFDCB97327C" + "32786E9D145FFE25" + ] + id: "73FCA432DEFC1DED" + tasks: [ + { + id: "4F50D847118D6E62" + type: "item" + item: "create:andesite_alloy" + consume_items: false + } + { + id: "6AA98FC4680D6521" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Algae Cooker" + icon: "architects_palette:algal_brick" + x: 4.5d + y: 4.5d + subtitle: "Contraption 6-3" + description: ["Smelt the Algal blend into bricks. While a Furnace works great, an Encased Fan can do it without the need of Fuel."] + dependencies: ["72BE175C83834838"] + id: "32786E9D145FFE25" + tasks: [ + { + id: "706BA4E65686CA1B" + type: "item" + item: "architects_palette:algal_brick" + consume_items: false + } + { + id: "1484A9A6DB85EA6D" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Deploy, Deploy, Deploy." + icon: "kubejs:kinetic_mechanism" + x: 2.0d + y: 6.5d + subtitle: "Contraption 8" + description: ["Bringing together Andesite Alloy and cut planks using a row of Deployers concludes your first Assembly Line."] + dependencies: [ + "59E4A6163753BC12" + "73FCA432DEFC1DED" + "5A055D0421861318" + ] + id: "675C395B2074C24C" + tasks: [ + { + id: "68B67FDC410885B3" + type: "item" + item: "kubejs:kinetic_mechanism" + consume_items: false + } + { + id: "34C54664AB22ECFD" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Arming the Deployer" + icon: { + id: "cb_microblock:stone_saw" + Count: 1b + tag: { + Damage: 0 + } + } + x: 3.5d + y: 6.5d + shape: "circle" + description: [ + "It'll be good to stock up on a couple of saws for the Mechanism Assembly." + "However, they are not nearly consumed as quickly as something that would require an automated supply." + ] + hide_dependency_lines: true + dependencies: [ + "59E4A6163753BC12" + "73FCA432DEFC1DED" + ] + id: "5A055D0421861318" + tasks: [{ + id: "52A4AF128B571664" + type: "item" + title: "Any Saw" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "forge:saws" + } + } + consume_items: false + }] + } + { + title: "Chapter 1 Start!" + icon: "create:wrench" + x: 2.0d + y: -1.0d + shape: "hexagon" + description: [ + "Welcome to the Factory Guide!" + "" + "These Quests are an Automation Plan for your upcoming Assembly Line. Always view them as recommendations on what you should construct a passive supply for. The flowgraph depicts the connections between relevant recipes/processing." + "" + "Happy engineering!" + ] + dependencies: ["5A8DF2D8553904BF"] + hide: true + size: 2.0d + id: "5799D55BB26BA52C" + tasks: [{ + id: "1B5F1E9F5EE6EB2C" + type: "checkmark" + }] + rewards: [{ + id: "49A9C8798141C302" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "Chapter 1 Complete!" + x: 2.0d + y: 8.5d + shape: "hexagon" + description: [ + "Congrats! Now you have a passive supply of Kinetic Mechanisms. This is bound to change the pace a bit." + "" + "Before moving on, check back through your factory and search for any major bottlenecks." + "It'd be a shame if a really efficient andesite generator is held back only by the sand not coming in quickly enough." + ] + dependencies: ["675C395B2074C24C"] + size: 2.0d + id: "3F45DFEF31838A00" + tasks: [{ + id: "2D4BB6A2E22A86E3" + type: "item" + item: "kubejs:andesite_machine" + consume_items: false + }] + rewards: [ + { + id: "30E03E42611E5613" + type: "item" + item: "kubejs:kinetic_mechanism" + count: 16 + } + { + id: "006F556964FDC753" + type: "item" + item: "minecraft:redstone" + random_bonus: 4 + } + { + id: "641C2EF6193736A1" + type: "item" + item: "minecraft:iron_ingot" + random_bonus: 4 + } + ] + } + { + title: "Ah wait, don't chop" + icon: "thermal:resin_bucket" + x: 0.0d + y: 10.0d + shape: "square" + subtitle: "Contraption 9-1" + description: ["Liquid resin can be extracted from healthy Trees using Arboreal Extractors. The more the merrier."] + dependencies: [ + "3F45DFEF31838A00" + "681DACF11F193771" + ] + hide: true + id: "3728DF562D6DCE3A" + tasks: [ + { + id: "52B181D406A5AC67" + type: "item" + item: "thermal:device_tree_extractor" + count: 4L + consume_items: false + } + { + id: "29BEB0A31C3FB00B" + type: "checkmark" + title: "Automated (Resin)" + } + ] + } + { + title: "Rubber Stamper" + icon: "thermal:rubber" + x: 1.0d + y: 10.5d + subtitle: "Contraption 9-2" + description: ["Gather the resin via a network of Fluid Pipes and use a Basin-Press to solidify it."] + dependencies: ["3728DF562D6DCE3A"] + id: "3EF5F89DBD6959E3" + tasks: [ + { + id: "0F98BACE3B940BC9" + type: "item" + item: "thermal:rubber" + consume_items: false + } + { + id: "5BBF2E1143CD356E" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Curing by Flame" + icon: "thermal:cured_rubber" + x: 2.0d + y: 11.0d + shape: "square" + subtitle: "Contraption 9-3" + description: [ + "Finally, smelt the raw rubber into its cured state." + "" + "Bon Appétit!" + ] + dependencies: ["3EF5F89DBD6959E3"] + id: "29D37095C73B3DEC" + tasks: [ + { + id: "7D328EB34500FE28" + type: "item" + item: "thermal:cured_rubber" + consume_items: false + } + { + id: "17286271B0667AAA" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "All Sealed Up" + x: 3.5d + y: 11.5d + shape: "circle" + description: ["From here it's really no hassle to do things manually. If you must, you can always come back with some Mechanical Crafters later on."] + dependencies: ["29D37095C73B3DEC"] + id: "6545C3F427B12106" + tasks: [{ + id: "2C94C22FBED69EE4" + type: "item" + item: "kubejs:sealed_mechanism" + consume_items: false + }] + } + { + title: "Bonus 1A Complete!" + x: 2.0d + y: 13.0d + shape: "hexagon" + description: ["Congrats! Now you have a good supply of Sealed Mechanisms. Your future self will thank you."] + dependencies: ["6545C3F427B12106"] + size: 2.0d + id: "0E0535849D8D9279" + tasks: [{ + id: "31511DA3C34905F1" + type: "item" + item: "kubejs:copper_machine" + consume_items: false + }] + rewards: [ + { + id: "0CDF1AD650CC3EA0" + type: "item" + item: "kubejs:sealed_mechanism" + count: 16 + } + { + id: "200F3D1A04E713EF" + type: "item" + item: "thermal:cured_rubber" + random_bonus: 4 + } + { + id: "38E1B6571EDAA96B" + type: "item" + item: "create:copper_ingot" + random_bonus: 4 + } + ] + } + { + title: "Speedrun" + icon: "appliedenergistics2:speed_card" + x: 0.0d + y: -1.0d + shape: "circle" + description: [ + "The rigid flowgraph of this guide may suggest that items aren't accessible until they have been automated." + "" + "Be reassured that you already have access to tools from later ages, such as filtering- though not without a bit of manual effort." + ] + dependencies: ["5799D55BB26BA52C"] + id: "6892AE55581393C6" + tasks: [{ + id: "4DC18CB3A19686E5" + type: "checkmark" + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/stage_2.snbt b/src/overrides/config/ftbquests/quests/chapters/stage_2.snbt new file mode 100644 index 0000000..5fde420 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/stage_2.snbt @@ -0,0 +1,748 @@ +{ + id: "3CEC7BECE6B40994" + group: "331B6409EF6A7840" + order_index: 2 + filename: "stage_2" + title: "&f2&r Alluring Expedience" + icon: "kubejs:brass_machine" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Chapter 2 Start!" + icon: "kubejs:kinetic_mechanism" + x: -1.0d + y: 2.0d + shape: "hexagon" + description: [ + "The Automation Target this time is the Electron Tube. Placing them onto the Kinetic Mechanism will send you to the next tier." + "" + "Happy Inventing!" + ] + dependencies: ["28C41C062843C2CA"] + hide: true + size: 2.0d + id: "727B43FD95C4A512" + tasks: [{ + id: "2B249158FB9D453B" + type: "checkmark" + }] + rewards: [{ + id: "05FBDFB7D5A9B322" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "Temporary Sand" + x: -5.0d + y: 4.0d + shape: "circle" + description: ["Initially, Certus Quartz Seeds require sand to be crafted. However, for full automation it might be worthwhile to bypass that requirement with the help of Mechanical Crafters."] + hide_dependency_lines: true + dependencies: ["727B43FD95C4A512"] + id: "0AF5F19F5D9FB5C9" + tasks: [{ + id: "4F4219EDA9C5F9F7" + type: "item" + item: "minecraft:sand" + consume_items: false + }] + } + { + title: "Quartz Seeds" + x: -6.0d + y: 6.5d + shape: "circle" + subtitle: "Contraption 12-1" + description: [ + "This piece of quartz is too small. With enough water we might get somewhere." + "" + "If you're not too stoked about waiting hours on crystal growth, you can set up Water Spouts to greatly accellerate the process. " + ] + dependencies: [ + "0AF5F19F5D9FB5C9" + "2FFFE1C5366930BB" + ] + dependency_requirement: "one_completed" + id: "345B94F6D17605CD" + tasks: [{ + id: "4D592B701A2AE0BC" + type: "item" + item: "appliedenergistics2:certus_crystal_seed" + consume_items: false + }] + } + { + title: "Growth Started" + icon: "kubejs:tiny_certus_crystal" + x: -5.5d + y: 8.0d + shape: "circle" + subtitle: "Contraption 12-2" + description: ["Needs more Water."] + dependencies: ["345B94F6D17605CD"] + id: "34A1D176C78FB64E" + tasks: [{ + id: "28DDF51DB85DCF7D" + type: "checkmark" + }] + } + { + title: "Growth Continued" + icon: "kubejs:small_certus_crystal" + x: -4.0d + y: 8.5d + shape: "circle" + subtitle: "Contraption 12-3" + description: ["Just keep spouting it."] + dependencies: ["34A1D176C78FB64E"] + id: "1642A27606A34984" + tasks: [{ + id: "30E8BB6958ED4A44" + type: "checkmark" + }] + } + { + title: "Growth Completed" + icon: "appliedenergistics2:purified_certus_quartz_crystal" + x: -2.5d + y: 8.0d + subtitle: "Contraption 12-4" + description: ["Finally, a fully grown crystal. Don't forget to send every second one back around for seed production!"] + dependencies: ["1642A27606A34984"] + id: "1861E583C9DAA0BA" + tasks: [ + { + id: "68D808533C34AB5C" + type: "item" + item: "appliedenergistics2:purified_certus_quartz_crystal" + consume_items: false + } + { + id: "5143762A67B81B7E" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Water Supply" + icon: "minecraft:water_bucket" + x: -3.0d + y: 4.5d + description: ["The contraptions of Chapter 2 require a healthy supply of water. The easiest way is to pull from water sources directly using Mechanical Pumps and a fluid pipe network."] + hide_dependency_lines: true + dependencies: ["727B43FD95C4A512"] + id: "2FFFE1C5366930BB" + tasks: [ + { + id: "1A9DB3A538856229" + type: "item" + item: "minecraft:water_bucket" + consume_items: false + } + { + id: "2DC358D8174FC867" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Skystone Infini-mill" + icon: "appliedenergistics2:sky_dust" + x: -1.0d + y: 4.0d + subtitle: "Contraption 11" + description: [ + "You can just keep on pulverising it. Sky Stone blocks never seem to lose mass in the process. What a world we live in!" + "" + "Find Sky Stone Blocks at Meteor crash sites. If you haven't encountered any, try looking for one using the Meteorite compass." + ] + hide_dependency_lines: true + dependencies: ["727B43FD95C4A512"] + id: "4F95D5136E944ADB" + tasks: [ + { + id: "69C6513B25BB6ABA" + type: "item" + item: "appliedenergistics2:sky_dust" + consume_items: false + } + { + id: "3C8D449468C6DD27" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Skystone Mixer" + icon: "tconstruct:molten_obsidian_bucket" + x: -1.0d + y: 5.5d + subtitle: "Contraption 13-1" + description: ["Dissolving this strange reactive powder in water creates a fun and useful liquid."] + dependencies: [ + "2FFFE1C5366930BB" + "4F95D5136E944ADB" + ] + id: "1256352748B93449" + tasks: [ + { + id: "36E36D584FCBC358" + type: "item" + item: "tconstruct:molten_obsidian_bucket" + consume_items: false + } + { + id: "1CB43671DBA7EBB6" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Charged Mixer" + icon: "thermal:redstone_bucket" + x: -0.5d + y: 7.0d + subtitle: "Contraption 13-2" + description: [ + "Discharging an Energized Certus Quartz Crystal into the liquid creates a solution that reminds you of liquid redstone." + "" + "Notice that the mixing process returns an inert quartz ready to be recharged using Contraption 14." + ] + dependencies: [ + "1256352748B93449" + "24FFFE0FC9EAEF8D" + ] + dependency_requirement: "one_completed" + id: "619E34A7DE48B991" + tasks: [ + { + id: "5F47790124641B2D" + type: "item" + item: "thermal:redstone_bucket" + consume_items: false + } + { + id: "4B98217B670ECA57" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Get Melted" + icon: { + id: "tconstruct:copper_can" + Count: 1b + tag: { + fluid: "tconstruct:molten_iron" + } + } + x: 1.0d + y: 9.5d + subtitle: "Contraption 15-4" + description: ["Route the nuggets into your High-Temperature melting equipment. A Melter from Tinkers' Construct, for example."] + dependencies: ["53735DC4231AB566"] + id: "2167272204B6627B" + tasks: [ + { + id: "611F921F94FAE142" + type: "item" + title: "Copper Can (Molten Iron)" + item: { + id: "tconstruct:copper_can" + Count: 1b + tag: { + fluid: "tconstruct:molten_iron" + } + } + consume_items: false + } + { + id: "75C982848F2CEA85" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Second Coating Layer" + icon: "create:electron_tube" + x: -0.5d + y: 10.0d + subtitle: "Contraption 15-5" + description: ["Spout a droplet of Molten Iron onto the Rose Quartz Crystal to create a fully functional Electron Tube."] + dependencies: [ + "2167272204B6627B" + "06B061C0EE94BC90" + ] + id: "5351AF6CA73CB8E0" + tasks: [ + { + id: "163B1579092E6BD3" + type: "item" + item: "create:electron_tube" + consume_items: false + } + { + id: "1D7C84803766FD04" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The (Re-)Charger" + icon: "appliedenergistics2:charged_certus_quartz_crystal" + x: 1.0d + y: 6.0d + subtitle: "Contraption 14" + description: [ + "Set up a little cycle to recharge any Certus Quartz used as a Catalyst in Contraption 13-2." + "" + "The Charger from AE2 can be used here, along with the Item Trasportation of choice." + ] + hide_dependency_lines: true + dependencies: ["1256352748B93449"] + id: "24FFFE0FC9EAEF8D" + tasks: [ + { + id: "23DAE14596F025DF" + type: "item" + item: "appliedenergistics2:charged_certus_quartz_crystal" + consume_items: false + } + { + id: "56F78EAD35D1046E" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Iron for Days" + icon: "minecraft:cobblestone" + x: 3.5d + y: 7.0d + subtitle: "Contraption 15-1" + description: [ + "Known in the business as the 'Iron Generator', you will now be creating metal from Cobblestone." + "" + "Start with some Drills hooked up to regenerating Cobblestone blocks." + ] + hide_dependency_lines: true + dependencies: ["727B43FD95C4A512"] + id: "0E46C1FCE5AEB1DF" + tasks: [ + { + id: "7E68B8C4958FB0B5" + type: "item" + item: "minecraft:cobblestone" + consume_items: false + } + { + id: "5E676D2CC5975AEA" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Keep on Deploying" + icon: "create:precision_mechanism" + x: -1.0d + y: 11.5d + subtitle: "Contraption 16" + description: ["Bringing together Electron Tubes and Kinetic Mechanisms using a row of Deployers concludes your second Assembly Line."] + dependencies: [ + "5351AF6CA73CB8E0" + "6D8BB2D6A75ABB16" + ] + id: "19715EBCBBA1B4AD" + tasks: [ + { + id: "4DF52040884AB28D" + type: "item" + item: "create:precision_mechanism" + consume_items: false + } + { + id: "002032AE65148DBD" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Chapter 2 Complete!" + x: -1.0d + y: 13.5d + shape: "hexagon" + description: [ + "Congrats! Now you have a passive supply of Precision Mechanisms. Think of all the options you have access to!" + "" + "After cleaning up and briefly scanning for bottlenecks, go ahead and check back with the Overview section." + ] + dependencies: ["19715EBCBBA1B4AD"] + size: 2.0d + id: "7FC4D1E69377271D" + tasks: [{ + id: "4C32A887DA89A75C" + type: "item" + item: "kubejs:brass_machine" + consume_items: false + }] + rewards: [ + { + id: "54E81DC78E539FDD" + type: "item" + item: "create:precision_mechanism" + count: 16 + } + { + id: "7A797A069B28AE89" + type: "item" + item: "appliedenergistics2:certus_quartz_crystal" + random_bonus: 4 + } + { + id: "11BF1DF6EF76569B" + type: "item" + item: "create:brass_ingot" + random_bonus: 4 + } + ] + } + { + title: "De-Chunkify" + icon: "minecraft:gravel" + x: 4.0d + y: 9.0d + subtitle: "Contraption 15-2" + description: ["The Cobblestone first needs to be milled down into Gravel."] + dependencies: ["0E46C1FCE5AEB1DF"] + id: "1139F2E4E6FCFE29" + tasks: [ + { + id: "517441AE19EF30E2" + type: "item" + item: "minecraft:gravel" + consume_items: false + } + { + id: "63F3877902E01590" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Ferric Traces" + icon: "minecraft:iron_nugget" + x: 2.5d + y: 10.0d + subtitle: "Contraption 15-3" + description: ["Washing the Gravel with an Encased Fan leaves you with Iron Nuggets and Flint."] + dependencies: ["1139F2E4E6FCFE29"] + id: "53735DC4231AB566" + tasks: [ + { + id: "591D709D1E4EE97A" + type: "item" + item: "minecraft:iron_nugget" + consume_items: false + } + { + id: "64B405696E96FFCD" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Painted Quartz Mixer" + icon: "create:polished_rose_quartz" + x: -1.0d + y: 8.5d + subtitle: "Contraption 13-3" + description: [ + "In a third and final Mixer, our freshly grown Crystals will be treated to a nice and energetic re-design." + "(Sorry to all Mineralogists.)" + ] + dependencies: [ + "1861E583C9DAA0BA" + "619E34A7DE48B991" + ] + id: "06B061C0EE94BC90" + tasks: [ + { + id: "0AD0021818A0BB33" + type: "item" + item: "create:polished_rose_quartz" + consume_items: false + } + { + id: "0F6DB8FCC5C16A94" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Heated Treatment" + x: -1.0d + y: 17.5d + shape: "circle" + subtitle: "Contraption 18-2" + description: [ + "Dropping the Liquids onto a Precision Mechanism will convert it to its Infernal counterpart." + "" + "Once again, full automation of bonus mechanisms is not as pressing a task, since they do not lead to any further machines beyond their own." + "A semi-automatic setup for converting Precision Mechanisms whenever needed should suffice." + ] + dependencies: [ + "239C64263B91350D" + "1D9D65FBD06DD481" + ] + id: "3C50B4556375178E" + tasks: [{ + id: "24070D354D67A3DF" + type: "item" + item: "kubejs:infernal_mechanism" + consume_items: false + }] + } + { + title: "A lot. of lava" + icon: "minecraft:lava_bucket" + x: -2.5d + y: 17.0d + subtitle: "Contraption 18-1" + description: [ + "" + "Every Zinc Machine will end up using 24 Buckets of Lava in Production. It's not a great ecological footprint, but even just one Hose Pulley can make quick work of it." + ] + hide_dependency_lines: true + dependencies: [ + "19715EBCBBA1B4AD" + "21753CBB528EAADF" + ] + hide: true + id: "1D9D65FBD06DD481" + tasks: [ + { + id: "4A9BF979E823D4CB" + type: "item" + item: "minecraft:lava_bucket" + consume_items: false + } + { + id: "73BF4F3B488FBC83" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Soul Distillery" + icon: "tconstruct:liquid_soul_bucket" + x: -1.0d + y: 16.0d + subtitle: "Contraption 17-3" + description: ["Drop all the harvested vines into a Heated Mixing Basin."] + dependencies: [ + "223BB57AD0239511" + "7E59B7DC239E621E" + "5DCF9C8212AA3BE3" + ] + id: "239C64263B91350D" + tasks: [ + { + id: "7BBC2AAED0A77FDC" + type: "item" + item: "tconstruct:liquid_soul_bucket" + consume_items: false + } + { + id: "21C241D2335C67E4" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Double Decker I" + icon: "minecraft:twisting_vines" + x: -3.0d + y: 15.5d + subtitle: "Contraption 17-1" + description: [ + "For the all-mighty Infernal Mechanism, a bountiful source of soul essence is needed. Thankfully, the vines of the underworld seem to carry it in them." + "" + "Twisting Vines grow upwards, you can gather them using Mechanical Harvesters." + ] + hide_dependency_lines: true + dependencies: [ + "19715EBCBBA1B4AD" + "21753CBB528EAADF" + ] + hide: true + id: "223BB57AD0239511" + tasks: [ + { + id: "70EA8B8349BC13D1" + type: "item" + item: "minecraft:twisting_vines" + consume_items: false + } + { + id: "6F7A49C7C377ABF1" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Double Decker II" + icon: "minecraft:weeping_vines" + x: 1.0d + y: 15.5d + subtitle: "Contraption 17-2" + description: [ + "Weeping Vines grow downwards from a ceiling. You can gather them with Mechanical Harvesters." + "" + "For style points, you can use the same contraption to harvest both vine types simultaneously." + ] + hide_dependency_lines: true + dependencies: [ + "19715EBCBBA1B4AD" + "21753CBB528EAADF" + ] + hide: true + id: "7E59B7DC239E621E" + tasks: [ + { + id: "57EC8E4703FADF5E" + type: "item" + item: "minecraft:weeping_vines" + consume_items: false + } + { + id: "6149AB838FC42C17" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Arming the Deployer II" + x: -2.5d + y: 11.5d + shape: "circle" + description: [ + "It'll be good to stock up on a couple of screwdrivers for the Mechanism Assembly." + "Just like last time, the requirement does not necessarily call for automation." + ] + hide_dependency_lines: true + dependencies: ["5351AF6CA73CB8E0"] + id: "6D8BB2D6A75ABB16" + tasks: [{ + id: "7DF53EF0CF55B5D7" + type: "item" + item: { + id: "projectred-core:screwdriver" + Count: 1b + tag: { + Damage: 0 + } + } + consume_items: false + }] + } + { + title: "Bonus 2A Complete!" + x: -1.0d + y: 19.5d + shape: "hexagon" + description: ["Fantastic Work! You have mastered the challenges of the nether; you couldn't be more well-prepared for the upcoming Assembly Line."] + dependencies: ["3C50B4556375178E"] + size: 2.0d + id: "047FD4E54147D8F7" + tasks: [{ + id: "5D828A5601F86224" + type: "item" + item: "kubejs:zinc_machine" + consume_items: false + }] + rewards: [ + { + id: "5868F4AF0FBE0295" + type: "item" + item: "kubejs:infernal_mechanism" + count: 16 + } + { + id: "02A669ED33AA71DC" + type: "item" + item: "minecraft:blaze_powder" + random_bonus: 4 + } + { + id: "2BAEB1D62B8D3701" + type: "item" + item: "minecraft:gold_ingot" + random_bonus: 4 + } + ] + } + { + title: "The Alloy Mixer" + icon: "create:brass_ingot" + x: 1.0d + y: 2.0d + shape: "circle" + subtitle: "Contraption 10" + description: [ + "Not part of the Mechanism Chain, yet very important for creating relevant machines." + "" + "Using Melters, Fluid Pipes and a Mechanical Mixer, you can create a couple of different metal alloys. Brass is one of them." + "" + "Pumping the Molten Alloy into a Casting Table or Basin will Solidify it into usable Ingots." + "" + "For less hassles with manual effort, it is recommended to set up Ingot-to-Ingot semi-automation for creating Alloys using the setup above." + ] + hide_dependency_lines: false + dependencies: ["727B43FD95C4A512"] + id: "174E3A810535CAAC" + tasks: [{ + id: "4418A795B9FB076D" + type: "checkmark" + }] + } + { + title: "Blaze Escort" + x: 0.5d + y: 17.0d + shape: "circle" + description: ["For the first time in the progression, a Blaze Burner is required. Obtain them by using Empty Blaze Burners on Blazes or their Spawners."] + hide_dependency_lines: true + dependencies: [ + "19715EBCBBA1B4AD" + "21753CBB528EAADF" + ] + hide: true + id: "5DCF9C8212AA3BE3" + tasks: [{ + id: "3BBAFB33D9E2BB24" + type: "item" + item: "create:blaze_burner" + consume_items: false + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/stage_3.snbt b/src/overrides/config/ftbquests/quests/chapters/stage_3.snbt new file mode 100644 index 0000000..7c9b917 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/stage_3.snbt @@ -0,0 +1,1201 @@ +{ + id: "052B4DEA706D3A24" + group: "331B6409EF6A7840" + order_index: 3 + filename: "stage_3" + title: "&f3&r The Catharsis" + icon: "thermal:machine_frame" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Chapter 3 Start!" + icon: "create:precision_mechanism" + x: -1.5d + y: -1.0d + shape: "hexagon" + description: [ + "Working towards a passive supply of Radiant Induction Coils, you'll be sure to encounter some new and unfamiliar tasks. " + "" + "Once again it's time to grab the Wrench, re-stock the toolbox and to clear out a new plot." + "" + "Happy Creating!" + ] + dependencies: ["780E8AE86250C73D"] + hide: true + size: 2.0d + id: "397232F676CB621B" + tasks: [{ + id: "2236686383D4E61B" + type: "checkmark" + }] + rewards: [{ + id: "296358DF5AEC671C" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "Let there be light" + icon: "minecraft:torch" + x: -6.5d + y: 3.5d + shape: "circle" + subtitle: "Contraption 27" + description: [ + "The production of Refined Radiance requires either a steady supply of light emitting blocks, or an active Beacon Beam." + "" + "Choose which path you would like to take, and provide necessary preparation/automation." + ] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "3025B5861FE17ADF" + tasks: [{ + id: "7FB92D9DB34672AE" + type: "checkmark" + }] + } + { + title: "Your Favourite Colour" + icon: "minecraft:rose_bush" + x: 0.0d + y: 7.0d + subtitle: "Contraption 25" + description: ["For production of chromatic materials, a colour pigment is needed. It is up to you which colour dye should be automated for this purpose. The only exception is white dye."] + dependencies: ["402F89CABF6BCDA4"] + id: "27C191346BB14D9D" + tasks: [ + { + id: "6C47C95A06683D71" + type: "item" + title: "Dyes except White" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "minecraft:light_blue_dye" + Count: 1b + } + { + id: "minecraft:magenta_dye" + Count: 1b + } + { + id: "minecraft:gray_dye" + Count: 1b + } + { + id: "minecraft:light_gray_dye" + Count: 1b + } + { + id: "minecraft:pink_dye" + Count: 1b + } + { + id: "minecraft:lime_dye" + Count: 1b + } + { + id: "minecraft:yellow_dye" + Count: 1b + } + { + id: "minecraft:orange_dye" + Count: 1b + } + { + id: "minecraft:cyan_dye" + Count: 1b + } + { + id: "minecraft:purple_dye" + Count: 1b + } + { + id: "minecraft:blue_dye" + Count: 1b + } + { + id: "minecraft:brown_dye" + Count: 1b + } + { + id: "minecraft:green_dye" + Count: 1b + } + { + id: "minecraft:red_dye" + Count: 1b + } + { + id: "minecraft:black_dye" + Count: 1b + } + ] + } + } + consume_items: false + } + { + id: "32E697E9386ABF17" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Spectral Correction (Red)" + x: -0.85d + y: 9.0d + shape: "circle" + description: [ + "Crushing Dyed Singularities has a chance to yield little orbs of red colour." + "" + "Since this is not the colour needed for chromatic compound, you can use Item Drains for frequency correction." + ] + dependencies: ["2CCD84D55DE71EB2"] + id: "3B421C8F7947E542" + tasks: [{ + id: "26CA0A31856D4445" + type: "item" + item: "appliedenergistics2:red_paint_ball" + consume_items: false + }] + } + { + title: "Spectral Correction (Yellow)" + x: -2.0d + y: 9.0d + shape: "circle" + description: [ + "Crushing Dyed Singularities has a chance to yield little orbs of yellow colour, aswell." + "" + "Much like the red ones, these have to be drained once again to shift the frequency in the right direction." + ] + dependencies: [ + "2CCD84D55DE71EB2" + "3B421C8F7947E542" + ] + id: "381F8F373605BB97" + tasks: [{ + id: "629CDAD0644963F4" + type: "item" + item: "appliedenergistics2:yellow_paint_ball" + consume_items: false + }] + } + { + title: "Spectral Correction (Green)" + x: -3.0d + y: 8.5d + shape: "circle" + description: ["The cycle continues. "] + dependencies: [ + "2CCD84D55DE71EB2" + "381F8F373605BB97" + ] + id: "6A76E65324F0ACC0" + tasks: [{ + id: "4BBF150A1DD3A0AF" + type: "item" + item: "appliedenergistics2:green_paint_ball" + consume_items: false + }] + } + { + title: "Spectral Correction (Blue)" + x: -3.5d + y: 7.5d + shape: "circle" + description: ["Being almost there, all the Paint Balls now brought to the blue frequency will have to be run through the Item Drain one last time."] + dependencies: [ + "2CCD84D55DE71EB2" + "6A76E65324F0ACC0" + ] + id: "302FCD205CC2F708" + tasks: [{ + id: "16C40B4F7D56B9C9" + type: "item" + item: "appliedenergistics2:blue_paint_ball" + consume_items: false + }] + } + { + title: "Spectral Correction (Magenta)" + icon: "appliedenergistics2:magenta_paint_ball" + x: -3.5d + y: 6.35d + subtitle: "Contraption 26-2" + description: ["Magenta Paint Balls contain the essence needed for production of Chromatic Compound. Some will come directly from the crushed singularity, but the majority can be obtained by spectral correction on the other colours."] + dependencies: [ + "2CCD84D55DE71EB2" + "302FCD205CC2F708" + ] + id: "3BE15AA5C237AB80" + tasks: [ + { + id: "5DF1A84700EB5D15" + type: "item" + item: "appliedenergistics2:magenta_paint_ball" + consume_items: false + } + { + id: "27D5CBB137116AB1" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Colours Refined" + icon: { + id: "create:chromatic_compound" + Count: 1b + tag: { } + } + x: -5.0d + y: 6.35d + subtitle: "Contraption 26-3" + description: ["Use Mechanical Crafters once more to refine the paint orbs into Chromatic Compound."] + dependencies: ["3BE15AA5C237AB80"] + id: "7B23C933D76458BA" + tasks: [ + { + id: "2F334C3D67DE059C" + type: "item" + item: { + id: "create:chromatic_compound" + Count: 1b + tag: { } + } + consume_items: false + } + { + id: "27A8B7785CAB07C8" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Throwing Flash" + icon: "create:refined_radiance" + x: -6.5d + y: 6.35d + subtitle: "Contraption 28-1" + description: [ + "When dropped as an item, Chromatic Compound will absorb light around itself and eventually turn into Refined Radiance. Choose one of three approaches:" + "" + "- Autoplacing light emitting blocks near the dropped compound items (blocks need line of sight to item)" + "" + "- Supplying light emitting blocks as items on nearby depots/belts (blocks need line of sight to item)" + "" + "- Throwing the compound into a Beacon Beam for free and instant conversion" + ] + dependencies: [ + "3025B5861FE17ADF" + "7B23C933D76458BA" + ] + id: "286510750C333C1F" + tasks: [ + { + id: "7EF8C778FDE54DC1" + type: "item" + item: "create:refined_radiance" + consume_items: false + } + { + id: "2DC30322D81D9999" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Neon lights" + icon: "kubejs:radiant_coil" + x: -4.0d + y: 11.0d + subtitle: "Contraption 28-3" + description: ["And finally, one last Crafter to cut and wind up the radiant sheet into an Induction Coil."] + dependencies: ["410FF28B63E0FC0C"] + id: "626A7D9947D82B89" + tasks: [ + { + id: "3AF0E2934C047AA3" + type: "item" + item: "kubejs:radiant_coil" + consume_items: false + } + { + id: "27C737E08A9027A5" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "More Cobblestone" + icon: "minecraft:cobblestone" + x: -1.5d + y: 1.0d + subtitle: "Contraption 20-1" + description: ["The trusty and cheap multi-purpose material of cobblestone is making its comeback."] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "5C277D27606F64DA" + tasks: [ + { + id: "35C10E79F8F1E0DF" + type: "item" + title: "Any Cobblestone" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "forge:cobblestone" + } + } + consume_items: false + } + { + id: "36BD580312C8177B" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Deploy the Payload" + icon: "kubejs:inductive_mechanism" + x: -1.5d + y: 11.5d + subtitle: "Contraption 29" + description: ["You know the drill. It is time to upgrade your previously automated Precision Mechanisms to the next level!"] + dependencies: [ + "59D2104DB6AE93FD" + "626A7D9947D82B89" + ] + id: "6CBA3D97CAD5DB63" + tasks: [ + { + id: "153D599D82983310" + type: "item" + item: "kubejs:inductive_mechanism" + consume_items: false + } + { + id: "057A05C13C55ABC4" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Chapter 3 Complete!" + x: -1.5d + y: 13.5d + shape: "hexagon" + description: [ + "Congrats! Inductive Mechanisms will now be generated passively. This opens the door to new exciting technological and magical exploits!" + "" + "Once you are happy with the Assembly Line, head on back to the overview. There will be new options to explore." + ] + dependencies: ["6CBA3D97CAD5DB63"] + size: 2.0d + id: "3A63A48662F352CB" + tasks: [{ + id: "6F268D7B84CB1DB7" + type: "item" + item: "thermal:machine_frame" + consume_items: false + }] + rewards: [ + { + id: "002FAA00240A80FD" + type: "item" + item: "kubejs:inductive_mechanism" + count: 16 + } + { + id: "494BEA0CE2C8AF74" + type: "item" + item: "minecraft:glowstone_dust" + random_bonus: 4 + } + { + id: "5E5F5C257C45D344" + type: "item" + item: "thermal:invar_ingot" + random_bonus: 4 + } + ] + } + { + title: "Inception" + icon: "appliedenergistics2:singularity" + x: -1.5d + y: 4.0d + subtitle: "Contraption 20-3" + description: ["By Crushing the Crushing Wheels using Crushing Wheels, a strange anomaly is created and dropped. We can use this to our advantage."] + dependencies: ["7AAE71F57FB89BCC"] + id: "2C81D358594C4352" + tasks: [ + { + id: "5BF8BF7A24029B57" + type: "item" + item: "appliedenergistics2:singularity" + consume_items: false + } + { + id: "09AAD9853B976D69" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Reactor" + icon: "appliedenergistics2:quantum_entangled_singularity" + x: -1.5d + y: 5.5d + subtitle: "Contraption 24" + description: [ + "Here comes the central feature of this Factory Wing: the Reactor." + "" + "Progressing towards Inductive Coils requires a controlled Explosion where nearby Singularities and Ender Dust are combined. See if you can come up with a circuit to continuously blow up these dropped item-stacks." + "" + "Note: Ender dust and Singularities are consumed in a 1:1 ratio. They do not have to be in the exact same location. One TNT can transform multiple sets of ingredients. The result will drop at the location of the Singularity item." + ] + dependencies: [ + "02B2E249421FAE58" + "2C81D358594C4352" + "375C9A43FE5620B6" + ] + id: "5A199B898D41A309" + tasks: [ + { + id: "63C5611154B9B124" + type: "item" + item: "appliedenergistics2:quantum_entangled_singularity" + consume_items: false + } + { + id: "3A68EA184DE4D9B4" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Checker Crafters" + icon: "minecraft:tnt" + x: 0.0d + y: 4.0d + subtitle: "Contraption 23-2" + description: ["Use Mechanical Crafters to build TNT. Since most of its slots will have to be supplied individually, a mechanical Arm might help for provinding the necessary logistics."] + dependencies: [ + "5F9BA7BA46D2E5B8" + "050A20198A80CF1A" + ] + id: "02B2E249421FAE58" + tasks: [ + { + id: "39C8F3F28C7A271C" + type: "item" + item: "minecraft:tnt" + consume_items: false + } + { + id: "2AD912C0E25F5D65" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Cooking up some Gunpowder" + icon: "minecraft:gunpowder" + x: 1.5d + y: 4.0d + subtitle: "Contraption 22-2" + description: [ + "Transmuting the green reactive blend requires very special heating conditions, only available on Campfires or Stoves." + "" + "This Contraption will need the special ability to both place and collect items from these places." + ] + dependencies: [ + "3D1EEB596FDBE4E7" + "016864AD0C9247B9" + ] + dependency_requirement: "one_completed" + id: "050A20198A80CF1A" + tasks: [ + { + id: "65AD93315DC72371" + type: "item" + item: "minecraft:gunpowder" + consume_items: false + } + { + id: "34EFEE60A6755C01" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "More Sand" + icon: "minecraft:sand" + x: 0.0d + y: 1.0d + subtitle: "Contraption 23-1" + description: ["Sand will be required to build the Explosives needed for the Reactor. Thankfully, new standards have allowed you access to Crushing Wheels, which make sand production a lot less of a nuisance."] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "5F9BA7BA46D2E5B8" + tasks: [ + { + id: "1127E4C296ED5A31" + type: "item" + item: "minecraft:sand" + consume_items: false + } + { + id: "2A3EAC60765E5C7A" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Cooking up some Ender Dust" + icon: "appliedenergistics2:ender_dust" + x: 1.5d + y: 5.5d + subtitle: "Contraption 22-3" + description: [ + "Transmuting the purple reactive blend requires very special heating conditions, only available on Campfires or Stoves." + "" + "This Contraption will need the special ability to both place and collect items from these places." + ] + dependencies: [ + "3D1EEB596FDBE4E7" + "016864AD0C9247B9" + ] + dependency_requirement: "one_completed" + id: "375C9A43FE5620B6" + tasks: [ + { + id: "74E8DBEBD9AA5D72" + type: "item" + item: "appliedenergistics2:ender_dust" + consume_items: false + } + { + id: "37A6393C0AD6E861" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Painting Space itself" + icon: "kubejs:dye_entangled_singularity" + x: -1.5d + y: 7.0d + subtitle: "Contraption 26-1" + description: ["Mixing the Entangled Singularities with a dye of choice creates the very essence of colour! Just what we need for producing a perfected chromatic compound."] + dependencies: [ + "27C191346BB14D9D" + "5A199B898D41A309" + ] + id: "2CCD84D55DE71EB2" + tasks: [ + { + id: "1A034719E3B94207" + type: "item" + item: "kubejs:dye_entangled_singularity" + consume_items: false + } + { + id: "4B4BDAA9DFB0518A" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Bonus 3A Complete!" + x: -1.5d + y: 21.0d + shape: "hexagon" + description: ["Marvellous! The power of instant transportation is in your hands at last. Surely there are some places in your factory where this could really speed things up."] + dependencies: ["6DBEF7A11890ADF8"] + size: 2.0d + id: "4EDD9A8F14E48EAE" + tasks: [{ + id: "314DEBB9F9DE70F4" + type: "item" + item: "kubejs:enderium_machine" + consume_items: false + }] + rewards: [ + { + id: "2445637181E32B19" + type: "item" + item: "kubejs:abstruse_mechanism" + count: 16 + } + { + id: "6884BD55CF5F5676" + type: "item" + item: "minecraft:ender_pearl" + random_bonus: 4 + } + { + id: "1383A8E9F3AC725D" + type: "item" + item: "thermal:enderium_ingot" + random_bonus: 4 + } + ] + } + { + title: "Enderium Infused" + x: -1.5d + y: 19.0d + shape: "circle" + description: ["And finally, upgrade some of your Inductive Mechanisms in the Smelter using the newly obtained Alloy."] + dependencies: ["7B080B5C87247EA1"] + id: "6DBEF7A11890ADF8" + tasks: [{ + id: "6F8624E071829779" + type: "item" + item: "kubejs:abstruse_mechanism" + consume_items: false + }] + } + { + title: "Gateway Expedition" + x: 0.0d + y: 17.5d + shape: "circle" + description: [ + "After your flawless encounter with the Ender Dragon, make your way to the Gateway and travel to the outer Islands." + "" + "Here you should be able to find the poise bushes necessary for creating Enderium Alloy." + ] + dependencies: ["05C7E580ED88B556"] + id: "794B3C10C6110CB5" + tasks: [{ + id: "7E7DF9C3DCFF0724" + type: "item" + item: "endergetic:tall_poise_bush" + consume_items: false + }] + } + { + title: "The Poise Cycle" + icon: "endergetic:poise_cluster" + x: 0.0d + y: 19.5d + shape: "circle" + description: ["Thanks to Inductive Technology, you have the option to replicate Poise Bushes passively, should you require a steadier and more convenient supply of Enderium."] + dependencies: ["794B3C10C6110CB5"] + id: "1CCDA748B237F6F5" + tasks: [{ + id: "05F0DE924816E7F5" + type: "item" + item: "thermal:machine_insolator" + consume_items: false + }] + rewards: [{ + id: "6B1ECF8BD760D03E" + type: "item" + item: "thermal:phytogro" + count: 16 + }] + } + { + title: "Alien Alloys" + x: -1.5d + y: 18.0d + shape: "circle" + description: [ + "Fire up your Induction Smelter for two rounds of processing:" + "" + "First off, refine your Silver Ingots with Ender Dust and Poise Bushes." + ] + dependencies: [ + "0D146AD9FE774F8B" + "794B3C10C6110CB5" + "3BFC4DFCE765F3EA" + ] + id: "7B080B5C87247EA1" + tasks: [{ + id: "0EC104535857B542" + type: "item" + item: "thermal:enderium_ingot" + consume_items: false + }] + } + { + title: "Insert Coin" + x: -3.0d + y: 15.0d + shape: "circle" + description: [ + "The Special properties of Silver can prove useful in creating Enderium Alloy." + "" + "As it turns out, the only source of Silver seems to be your money. Makes you wonder where the official mints get it from.." + ] + hide_dependency_lines: true + dependencies: [ + "2BB2C7B95E3C89AE" + "6CBA3D97CAD5DB63" + ] + hide: true + id: "38B063C8DE71E86D" + tasks: [{ + id: "3B8AF2614A9EE681" + type: "item" + item: "thermal:silver_coin" + consume_items: false + }] + } + { + title: "Dissolved" + x: -1.5d + y: 15.5d + shape: "circle" + description: ["Take the coins and throw them into your Smeltery. Watch out: this is an irreversible process."] + dependencies: ["38B063C8DE71E86D"] + id: "0C11EC34D5FA508B" + tasks: [{ + id: "1E9F96D2152F7384" + type: "item" + title: "Copper Can (Molten Silver)" + item: { + id: "tconstruct:copper_can" + Count: 1b + tag: { + fluid: "tconstruct:molten_silver" + } + } + }] + } + { + title: "Not the End" + icon: "minecraft:end_portal_frame" + x: 0.0d + y: 15.0d + shape: "circle" + description: ["The Secrets to Teleportation lie behind the dimensional gate to the End."] + hide_dependency_lines: true + dependencies: [ + "6CBA3D97CAD5DB63" + "2BB2C7B95E3C89AE" + ] + hide: true + id: "05C7E580ED88B556" + tasks: [{ + id: "4E429C9E118BA2C7" + type: "item" + item: "minecraft:end_stone" + consume_items: false + }] + } + { + title: "Arming the Deployer III" + x: 0.0d + y: 11.5d + shape: "circle" + description: [ + "It'll be good to stock up on a couple of resonators for the Mechanism Assembly." + "Don't worry about automating them fully, though." + ] + hide_dependency_lines: true + dependencies: ["626A7D9947D82B89"] + id: "59D2104DB6AE93FD" + tasks: [{ + id: "6334526E14C21487" + type: "item" + item: { + id: "kubejs:chromatic_resonator" + Count: 1b + tag: { + Damage: 0 + } + } + consume_items: false + }] + } + { + title: "Express Sticks" + icon: "minecraft:stick" + x: -3.0d + y: 1.0d + subtitle: "Contraption 19" + description: ["For this next trick a supply of Wooden Sticks is required. Whether that calls for a new harvester or just a scheduled shipment from Contraption 1 is up to you."] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "194B973EAF17809C" + tasks: [ + { + id: "293DC3FF985B575B" + type: "item" + item: "minecraft:stick" + consume_items: false + } + { + id: "435C3E443BCC9176" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Wall" + icon: "create:crushing_wheel" + x: -1.5d + y: 2.5d + subtitle: "Contraption 20-2" + description: [ + "Next up, we need Crushing Wheels. Not only as a machine, but as an ingredient, too." + "" + "Walls of Mechanical Crafters can quickly get in the way of paths and other infrastructure. Make sure to give them some space." + ] + dependencies: [ + "194B973EAF17809C" + "5C277D27606F64DA" + ] + id: "7AAE71F57FB89BCC" + tasks: [ + { + id: "716CDC854FF1E8C2" + type: "item" + item: "create:crushing_wheel" + consume_items: false + } + { + id: "764E76A93ED07203" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Toxic Byproducts" + icon: "tconstruct:molten_ender_bucket" + x: 0.5d + y: 9.0d + shape: "circle" + description: ["Draining paint balls creates a significant amount of liquid byproduct, which has to be disposed of before it starts clogging up the production line."] + dependencies: ["3B421C8F7947E542"] + id: "2C40901DB42DD8F8" + tasks: [{ + id: "7058D1CE264D6769" + type: "checkmark" + }] + } + { + title: "Cooking up some Fertiliser" + icon: "minecraft:bone_meal" + x: 1.5d + y: 7.0d + subtitle: "Contraption 22-4" + description: [ + "Transmuting the blue reactive blend requires very special heating conditions, only available on Campfires or Stoves." + "" + "This Contraption will need the special ability to both place and collect items from these places." + ] + dependencies: [ + "3D1EEB596FDBE4E7" + "016864AD0C9247B9" + ] + dependency_requirement: "one_completed" + id: "402F89CABF6BCDA4" + tasks: [ + { + id: "0B625314B34801AA" + type: "item" + item: "minecraft:bone_meal" + consume_items: false + } + { + id: "4002627D52C3A616" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Mysterious Biomass" + icon: "kubejs:sky_slime_fern_paste" + x: 3.5d + y: 4.0d + subtitle: "Contraption 22-1" + description: ["Route the excess leaves into a crusher, in preparation for the upcoming magic trick."] + dependencies: ["38D19F4EC634F33B"] + id: "3D1EEB596FDBE4E7" + tasks: [ + { + id: "3EB8C2219D74126B" + type: "item" + item: "kubejs:ender_slime_fern_paste" + consume_items: false + } + { + id: "4CB87BE063DACC5F" + type: "item" + item: "kubejs:earth_slime_fern_paste" + consume_items: false + } + { + id: "1F0B0F9D72A6F611" + type: "item" + item: "kubejs:sky_slime_fern_paste" + consume_items: false + } + { + id: "65864C0AE5B28091" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Spirit Cycle" + icon: "kubejs:sky_slimy_fern_leaf" + x: 3.5d + y: 2.5d + subtitle: "Contraption 21" + description: [ + "Slimy Ferns have the property of instant regeneration when exposed to Spirit Fire. Much like the Quartz Incubator in the other Factory, we can use this property to create a passive supply." + "" + "The cycle is simple: Cut the fern plant into halves using a Deployer, then throw one of the leaves into Spirit Fire. It is recommended to ensure that all colours of fern are duplicated at similar rates." + "" + "Create Spirit Fire by tossing a Demon's Dream Fruit on the floor and then setting a fire in its space." + "" + "Oh, and keep a backup of each fern somewhere safe." + ] + dependencies: ["01BE1A7FCE79C63D"] + id: "38D19F4EC634F33B" + tasks: [ + { + id: "135871C95B811F71" + type: "item" + item: "kubejs:sky_slimy_fern_leaf" + consume_items: false + } + { + id: "315328866377A0DC" + type: "item" + item: "kubejs:ender_slimy_fern_leaf" + consume_items: false + } + { + id: "65D5A32F475D78B6" + type: "item" + item: "kubejs:earth_slimy_fern_leaf" + consume_items: false + } + { + id: "40B23393B8A6D2E8" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Post-Process" + icon: "kubejs:radiant_sheet" + x: -6.0d + y: 9.0d + subtitle: "Contraption 28-2" + description: [ + "The main work is done. All that's left is a small assembly line to process Refined Radiance into Radiant Coils." + "" + "Start with a Mechanical Press." + ] + dependencies: ["286510750C333C1F"] + id: "410FF28B63E0FC0C" + tasks: [ + { + id: "0B3A86351C4C94D9" + type: "item" + item: "kubejs:radiant_sheet" + consume_items: false + } + { + id: "37BF06FF4255C1B1" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Expensive Bricks" + x: -1.5d + y: 16.5d + shape: "circle" + description: ["Cast the molten silver into an Ingot and admire how shiny it is."] + dependencies: ["0C11EC34D5FA508B"] + id: "0D146AD9FE774F8B" + tasks: [{ + id: "7A7EE0DF809CEDC8" + type: "item" + title: "Silver Ingot" + icon: "thermal:silver_ingot" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "forge:ingots/silver" + } + } + consume_items: false + }] + } + { + title: "Ender for Garnish" + x: -3.0d + y: 17.5d + shape: "circle" + description: ["Set aside some Ender dust from your Reactor. In case your supply is bottlenecked, you can use Ender Pearls, too."] + hide_dependency_lines: true + dependencies: [ + "2BB2C7B95E3C89AE" + "6CBA3D97CAD5DB63" + ] + hide: true + id: "3BFC4DFCE765F3EA" + tasks: [{ + id: "56C6D2D683E35E74" + type: "item" + item: "appliedenergistics2:ender_dust" + consume_items: false + }] + } + { + title: "Slimy Ferns" + icon: "tconstruct:sky_slime_fern" + x: 3.5d + y: 1.0d + shape: "circle" + description: [ + "In order to produce Gunpowder, Bone Meal and Ender Dust, the peculiar 'slimy fern' can be used as an alternative to Monster farms." + "" + "Roam the lands for a bit and look out for egregiously vibrant spots of colour in the vegetation. Don't forget to bring a pair of Shears." + ] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "01BE1A7FCE79C63D" + tasks: [ + { + id: "2967A771F32C223D" + type: "item" + item: "tconstruct:earth_slime_fern" + consume_items: false + } + { + id: "2A559C5996DF8E69" + type: "item" + item: "tconstruct:sky_slime_fern" + consume_items: false + } + { + id: "1EE76BAC230B9232" + type: "item" + item: "tconstruct:ender_slime_fern" + consume_items: false + } + ] + } + { + title: "Overcorrection" + icon: "appliedenergistics2:black_paint_ball" + x: -3.5d + y: 5.0d + shape: "circle" + description: ["Oops! Draining the colour's essence one too many times will create a mundane paint ball not able to be used for further processing."] + dependencies: ["3BE15AA5C237AB80"] + id: "03B7909623F97843" + tasks: [{ + id: "07521D1C50A8B75F" + type: "checkmark" + }] + } + { + title: "I like Mobs, actually" + icon: "minecraft:zombie_head" + x: 3.5d + y: 5.5d + shape: "circle" + subtitle: "Alt. Contraption 21 \\& 22" + description: [ + "An automation alternative to the Spirit Cycle is to set up a Monster Spawner of some kind." + "" + "Click the Checkmark to skip the Fern Duplication Contraption." + ] + hide_dependency_lines: true + dependencies: ["397232F676CB621B"] + id: "016864AD0C9247B9" + tasks: [{ + id: "53728BDEA8F1938C" + type: "checkmark" + title: "Checkmark" + }] + } + { + title: "Keeping Stock" + x: -3.5d + y: -1.0d + shape: "circle" + description: [ + "A few of the following contraptions involve dropping items on the ground. Whenever a process will not backstack on overflow (e.g. belt items waiting automatically), it is important to toggle the production at certain buffer thresholds." + "" + "More concretely: When the output buffer exceeds 75%, stop producing items. Once it reaches below 25%, start the process up again. This prevents overflow and machines from spewing items everywhere." + "" + "The Stockpile Switch is designed for this purpose exactly. " + ] + dependencies: ["397232F676CB621B"] + id: "472FB03D0E5A38D6" + tasks: [{ + id: "3C38C38462B73396" + type: "item" + item: "create:stockpile_switch" + consume_items: false + }] + rewards: [{ + id: "1DADD3BF4F389910" + type: "item" + item: "create:redstone_link" + count: 2 + }] + } + { + title: "Mechanical Auto Hammer" + icon: "thermal:invar_ingot" + x: 0.5d + y: -1.0d + shape: "circle" + subtitle: "Contraption 30" + description: [ + "Aside from the Inductive Mechanism, Invar Machinery builds on a tough Metal Alloy between Iron and Nickel." + "" + "Since the full refinement process of Invar takes a few lengthy steps, automation is recommended." + ] + dependencies: ["397232F676CB621B"] + id: "26A1E68DA7ACB025" + tasks: [{ + id: "428A5B60D9C268BD" + type: "checkmark" + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/stage_4.snbt b/src/overrides/config/ftbquests/quests/chapters/stage_4.snbt new file mode 100644 index 0000000..59f451b --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/stage_4.snbt @@ -0,0 +1,855 @@ +{ + id: "2FDA7DFC0C684E58" + group: "331B6409EF6A7840" + order_index: 4 + filename: "stage_4" + title: "&f4&r Into the Box" + icon: "chisel:futura/controller_purple" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Chapter 4 Start!" + icon: "kubejs:inductive_mechanism" + x: 1.0d + y: -2.5d + shape: "hexagon" + description: [ + "The next target will be Printed Silicon. As one of two known ways to obtain it, the assembly line will move items, fluids and energy in and out of the new and rather compact Invar Machinery." + "" + "Much like previous chapters, a few new material sources or shipments are required first." + ] + dependencies: ["74CFD83C501C4952"] + hide: true + size: 2.0d + id: "4B80A801A5BE4A01" + tasks: [{ + id: "0C162B64EE377FC8" + type: "checkmark" + }] + rewards: [{ + id: "01697377D270DD3C" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "Ready to Deploy" + icon: "kubejs:calculation_mechanism" + x: 1.0d + y: 7.5d + subtitle: "Contraption 40-2" + description: ["For one last time, a line of Deployers will be needed to upgrade the previous mechanism to the next tier."] + dependencies: [ + "1BF8F3CC8BEBB620" + "71D90A1E5D53FC0A" + ] + id: "6824055533465010" + tasks: [ + { + id: "34B7E632F7FD83DB" + type: "item" + item: "kubejs:calculation_mechanism" + consume_items: false + } + { + id: "48B114D2C0F51F6D" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Chapter 4 Complete!" + x: 1.0d + y: 9.5d + shape: "hexagon" + description: [ + "Great work! The final assembly line is now complete. Your factory just entered the Digital Age." + "" + "New options have opened up in the Overview. Whenever you are ready." + ] + dependencies: ["6824055533465010"] + size: 2.0d + id: "28DAED70768C6A50" + tasks: [{ + id: "3E607053D3B0C552" + type: "item" + item: "appliedenergistics2:controller" + consume_items: false + }] + rewards: [ + { + id: "40B14407CE6BAB56" + type: "item" + item: "kubejs:calculation_mechanism" + count: 16 + } + { + id: "1825E20FFD3BEBFF" + type: "item" + item: "appliedenergistics2:fluix_crystal" + random_bonus: 4 + } + { + id: "3FD881040347300A" + type: "item" + item: "thermal:lead_plate" + random_bonus: 4 + } + ] + } + { + title: "Sand Delivery" + icon: "minecraft:sand" + x: -1.0d + y: -0.5d + subtitle: "Contraption 31-1" + description: ["A new Shipment of Sand should be scheduled, for it is significantly rich in silicon."] + hide_dependency_lines: true + dependencies: ["4B80A801A5BE4A01"] + id: "22202C87352242D6" + tasks: [ + { + id: "54D2F2F87424AB45" + type: "item" + item: "minecraft:sand" + consume_items: false + } + { + id: "58353DEAB0670141" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Ball o' Sand" + icon: "kubejs:sand_ball" + x: -1.0d + y: 0.5d + subtitle: "Contraption 31-2" + description: [ + "First, the raw blocks are washed and refined into small orbs of wet sand." + "" + "Since they could easily collapse, they should never be stacked on top of another. The inductive Fluid Encapsulator should have the necessary precision to generate these reliably." + ] + dependencies: ["22202C87352242D6"] + id: "42F1A649D86DB86D" + tasks: [ + { + id: "05FFE255DDB4E66F" + type: "item" + item: "kubejs:sand_ball" + consume_items: false + } + { + id: "36183F0BBDAA8DB8" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Liquid Sand" + icon: "kubejs:fine_sand_bucket" + x: 1.0d + y: 1.5d + shape: "circle" + description: ["Sifting for Coarse Sand creates a byproduct relevant for further refining the silicon compound."] + dependencies: ["42F1A649D86DB86D"] + id: "4412F3B2827606E4" + tasks: [{ + id: "5C23F9DBF4F2F484" + type: "checkmark" + }] + } + { + title: "Coarse Sand" + icon: "kubejs:rough_sand" + x: -1.0d + y: 1.5d + subtitle: "Contraption 31-3" + description: ["Rolling the sand ball over an item drain reveals the larger chunks contained within."] + dependencies: ["42F1A649D86DB86D"] + id: "0F5AA5DF001DCDF5" + tasks: [ + { + id: "006110328A2D022F" + type: "item" + item: "kubejs:rough_sand" + consume_items: false + } + { + id: "589AB5A61CD95E2F" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Crystalline Sand" + icon: "kubejs:purified_sand" + x: -1.0d + y: 3.0d + subtitle: "Contraption 33-3" + description: ["Enriching coarse sand with earth charges creates Sand Crystals. Not much more processing is left until the Silicon content reaches a state usable for circuits."] + dependencies: [ + "60A8B4C736CE3226" + "0F5AA5DF001DCDF5" + ] + id: "343050A40A3AB1F0" + tasks: [ + { + id: "76715E399222E329" + type: "item" + item: "kubejs:purified_sand" + consume_items: false + } + { + id: "2BE9DD7F346679E2" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Pyrolyzer Round I" + icon: "minecraft:charcoal" + x: 3.0d + y: 0.5d + subtitle: "Contraption 34-2" + description: ["A Pyrolisation process is not strictly required for Charcoal, but the increased yield makes it worthwhile if the wood supply is limited."] + dependencies: ["46820FBDDDEE491E"] + id: "3249CD08992F2BCD" + tasks: [ + { + id: "700F644CCBEBCA5A" + type: "item" + item: "minecraft:charcoal" + consume_items: false + } + { + id: "760709B05A0FEF11" + type: "checkmark" + } + ] + } + { + title: "Pyrolyzer Round II" + icon: "thermal:coal_coke" + x: 3.0d + y: 1.5d + subtitle: "Contraption 34-3" + description: ["In a secondary, more lengthy pyrolisation process, Coal Coke is formed. An ideal material for both refining Silicon and to provide heat as Solid Fuel."] + dependencies: ["3249CD08992F2BCD"] + id: "1A383F96B312D1B8" + tasks: [ + { + id: "7AFFEF4014CE671C" + type: "item" + item: "thermal:coal_coke" + consume_items: false + } + { + id: "4960B920CCF3C186" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Controlled Cuts" + icon: "kubejs:coke_chunk" + x: 3.0d + y: 3.0d + subtitle: "Contraption 35" + description: ["Using Mechanical Saws and Water, the coke can to be cut up into chunks in order to become a more effective catalyst."] + dependencies: ["1A383F96B312D1B8"] + id: "16F920C2AF2FA2E0" + tasks: [ + { + id: "36A367A143AD6175" + type: "item" + item: "kubejs:coke_chunk" + consume_items: false + } + { + id: "44D36B403AA26E97" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Merge" + icon: "kubejs:silicon_compound" + x: 1.0d + y: 4.0d + subtitle: "Contraption 36" + description: ["The process of refining silicon requires a blend of Sand Crystals, Fine Sand and the Carbon Catalyst."] + dependencies: [ + "343050A40A3AB1F0" + "4412F3B2827606E4" + "16F920C2AF2FA2E0" + ] + id: "2268AFAF6E9AB5E2" + tasks: [ + { + id: "7824435744C12C18" + type: "item" + item: "kubejs:silicon_compound" + consume_items: false + } + { + id: "2F239D4D9BB9B47A" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Concentrated Heat" + icon: "thermal:earth_charge" + x: -3.0d + y: 3.0d + subtitle: "Contraption 33-2" + description: ["Compact enough powder back together to create the highly reactive Earth Charge."] + dependencies: ["5799B4124EE20DB1"] + id: "60A8B4C736CE3226" + tasks: [ + { + id: "2C3C495C9B18005A" + type: "item" + item: "thermal:earth_charge" + consume_items: false + } + { + id: "21545C0F55D9D8C8" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Basalz Mill" + icon: "thermal:basalz_powder" + x: -3.0d + y: 2.0d + subtitle: "Contraption 33-1" + description: ["Before it is ready for processing, the basalz essence needs a bit of refinement. "] + dependencies: ["6C4CB8F616A9C3DF"] + id: "5799B4124EE20DB1" + tasks: [ + { + id: "54F29099D9D81837" + type: "item" + item: "thermal:basalz_powder" + consume_items: false + } + { + id: "05969082F437FCA9" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Hot Laser" + icon: "thermal:basalz_rod" + x: -3.0d + y: 0.5d + subtitle: "Contraption 32-2" + description: [ + "The first Alchemical Laser forms activated basalz essence from Basalt. This works only if a charged FluxoMagnet is present alongside it in the Hopper Cart." + "" + "A reliable way to automate the Laser is to use two Cart Loaders, one to place a magnet, one to fill the remaining slots with Basalt Blocks. Move the cart under the laser and activate it. From here you can use one Unloader to extract the worn magnet as well as the desired output." + ] + dependencies: ["0B602ED47A0195A4"] + id: "6C4CB8F616A9C3DF" + tasks: [ + { + id: "712E7C4EEB4BCF55" + type: "item" + item: "thermal:basalz_rod" + consume_items: false + } + { + id: "7DF47F688E5C795C" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Modern Cobblegen" + icon: "minecraft:basalt" + x: -3.0d + y: -1.0d + subtitle: "Contraption 32-1" + description: ["Basalt is an accessible type of rock that contains traces of inert Basalz Powder. For the purposes of this, a steady supply of them is needed."] + hide_dependency_lines: true + dependencies: ["4B80A801A5BE4A01"] + id: "0B602ED47A0195A4" + tasks: [ + { + id: "4649973A51C977D9" + type: "item" + item: "minecraft:basalt" + consume_items: false + } + { + id: "738E569981496B56" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Flux Charger" + icon: { + id: "thermal:flux_magnet" + Count: 1b + tag: { } + } + x: -4.0d + y: 1.0d + subtitle: "Contraption 32-3" + description: [ + "In order for the basalz essence to form, the FluxoMagnet present in the cart has to be charged." + "" + "Therefore, the contraption will have to route the magnets from the cart unloader through an Energetic Infuser before passing it back into the circuit." + ] + dependencies: ["0B602ED47A0195A4"] + id: "58B534C4AEB4139D" + tasks: [ + { + id: "7538F2E8CFAF69F6" + type: "item" + item: { + id: "thermal:flux_magnet" + Count: 1b + tag: { } + } + consume_items: false + } + { + id: "11A074DF1CA99AD3" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Snowball Machine" + icon: "minecraft:snowball" + x: 5.0d + y: -1.0d + subtitle: "Contraption 37" + description: ["New Invar Technology makes forming snowballs out of Water quite a simple process. Perhaps we should set aside a few for our next unannounced visitor.."] + hide_dependency_lines: true + dependencies: ["4B80A801A5BE4A01"] + id: "4B34B52092BA32BE" + tasks: [ + { + id: "56F4F1F21FE5FB17" + type: "item" + item: "minecraft:snowball" + consume_items: false + } + { + id: "193D8F8FEC7F864B" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Entropy Charger" + icon: { + id: "appliedenergistics2:entropy_manipulator" + Count: 1b + tag: { } + } + x: 6.0d + y: 3.0d + subtitle: "Contraption 38-2" + description: [ + "In order for the blizz essence to form, the Entropy Manipulator present in the cart has to be charged." + "" + "Ensure the charge in it restored before its next use." + ] + dependencies: ["4B34B52092BA32BE"] + id: "6D1519B746E032FB" + tasks: [ + { + id: "641183133CA49CCA" + type: "item" + item: { + id: "appliedenergistics2:entropy_manipulator" + Count: 1b + tag: { } + } + consume_items: false + } + { + id: "49EAB67814570219" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Cool Laser" + icon: "thermal:blizz_rod" + x: 5.0d + y: 2.5d + subtitle: "Contraption 38-1" + description: [ + "The second Alchemical Laser forms activated blizz essence from Snowballs. This works only if a charged Entropy Manipulator is present alongside it in the Hopper Cart." + "" + "Your automation strategy from Contraption 32 will perform just as effective here." + ] + dependencies: ["4B34B52092BA32BE"] + id: "0AE7FAEBD5F86D9C" + tasks: [ + { + id: "11B1248ECFCD2F26" + type: "item" + item: "thermal:blizz_rod" + consume_items: false + } + { + id: "518D5675C9D1757D" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Blizz Mill" + icon: "thermal:blizz_powder" + x: 5.0d + y: 4.0d + subtitle: "Contraption 39-1" + description: ["Just like earlier, the essence becomes usable only after a bit of refinement."] + dependencies: ["0AE7FAEBD5F86D9C"] + id: "01B0A6236A5073D1" + tasks: [ + { + id: "7EA6D73F7A49EBAF" + type: "item" + item: "thermal:blizz_powder" + consume_items: false + } + { + id: "5CA556BB4614DD06" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Concentrated Cold" + icon: "thermal:ice_charge" + x: 5.0d + y: 5.0d + subtitle: "Contraption 39-2" + description: ["Compact enough powder back together to create the highly reactive Ice Charge."] + dependencies: ["01B0A6236A5073D1"] + id: "4732465116D723EE" + tasks: [ + { + id: "3DFF735C19CE82A5" + type: "item" + item: "thermal:ice_charge" + consume_items: false + } + { + id: "220B89A9B897FA67" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Final Induction" + icon: "appliedenergistics2:silicon" + x: 3.0d + y: 5.0d + subtitle: "Contraption 39-3" + description: ["One final pass in the Induction Smelter now produces a chunk of high-quality Silicon."] + dependencies: [ + "2268AFAF6E9AB5E2" + "4732465116D723EE" + ] + id: "067C5FDA4709F195" + tasks: [ + { + id: "263459FBEC9F9868" + type: "item" + item: "appliedenergistics2:silicon" + consume_items: false + } + { + id: "57D267DD10A22D32" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Circuit Stamper" + icon: "appliedenergistics2:printed_silicon" + x: 1.0d + y: 6.0d + subtitle: "Contraption 40-1" + description: ["Use Deployers to create a circuit base out of silicon. The required Press can be located at the center of Sky Stone Meteors."] + dependencies: [ + "067C5FDA4709F195" + "4B19B6EAD511378D" + ] + dependency_requirement: "one_completed" + id: "71D90A1E5D53FC0A" + tasks: [ + { + id: "12C1BB8D09D664B4" + type: "item" + item: "appliedenergistics2:printed_silicon" + consume_items: false + } + { + id: "20B36555F58C4DB1" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Secrets uncovered" + icon: "kubejs:substrate_silicon" + disable_toast: true + x: -3.0d + y: 5.0d + shape: "hexagon" + description: ["The Secret path has been discovered and pursued. From here, getting the Calculation Mechanism will be trivial."] + dependencies: ["3B431AAADE8845FA"] + hide: true + size: 1.5d + id: "0CE88FEA070DC46C" + tasks: [{ + id: "5B4F2E2F7BDEA6A0" + type: "stat" + title: "Complete Chapter 4a" + icon: "kubejs:substrate_chaos" + disable_toast: true + stat: "minecraft:play_one_minute" + value: 1 + }] + } + { + title: "The Alchemical Laser" + icon: "projectred-illumination:lime_inverted_cage_light" + x: 3.0d + y: -2.5d + shape: "circle" + description: [ + "A central role in this age of technology is played by the Alchemical Laser." + "" + "It usually involves converting one material into another, using a high-energy beam and a catalyst or tool of some kind." + "" + "Inventors can familiarise themselves with the necessary machinery components via JEI or via entering" + "" + " &6/c ponder kubejs:alchemical_laser" + ] + dependencies: ["4B80A801A5BE4A01"] + id: "6D26DAB7D0FF6E90" + tasks: [{ + id: "16897A4EF323B02E" + type: "checkmark" + }] + rewards: [{ + id: "14F213F493035F9B" + type: "command" + title: "Open Ponder Scene" + icon: { + id: "occultism:book_of_calling_djinni_manage_machine" + Count: 1b + tag: { + spiritName: "Rayarces" + } + } + team_reward: false + command: "/create ponder kubejs:alchemical_laser" + player_command: true + }] + } + { + title: "Wood Delivery" + icon: "minecraft:oak_log" + x: 3.0d + y: -0.5d + shape: "square" + subtitle: "Contraption 34-1" + description: ["It'll be good to order a Wood supply to this location. Aside from Silicon it can contribute to this assembly line for some other useful products."] + hide_dependency_lines: true + dependencies: ["4B80A801A5BE4A01"] + id: "46820FBDDDEE491E" + tasks: [ + { + id: "0AA0DEB1A87DA675" + type: "item" + title: "Any Wooden Log" + icon: "minecraft:oak_log" + item: { + id: "itemfilters:tag" + Count: 1b + tag: { + value: "minecraft:logs" + } + } + consume_items: false + } + { + id: "72BA1D3BD545CBE6" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Arming the Deployer IV" + x: -0.5d + y: 7.5d + shape: "circle" + description: [ + "The installation process of Calculation Mechanisms can be facilitated by a Flash Drive." + "The precious Cobalt required can be found in the Nether. " + ] + hide_dependency_lines: true + dependencies: ["71D90A1E5D53FC0A"] + id: "1BF8F3CC8BEBB620" + tasks: [{ + id: "1CC8A01100CE4AE3" + type: "item" + item: { + id: "kubejs:flash_drive" + Count: 1b + tag: { + Damage: 0 + } + } + consume_items: false + }] + } + { + title: "Unboxing" + icon: "appliedenergistics2:silicon" + x: -1.0d + y: 5.0d + subtitle: "Contraption 39-A" + description: ["Separate the Silicon from its jar using a Reagent Extractor."] + dependencies: ["0CE88FEA070DC46C"] + id: "4B19B6EAD511378D" + tasks: [ + { + id: "6FCB9E7E2CC10348" + type: "item" + item: "appliedenergistics2:silicon" + consume_items: false + } + { + id: "0A4B691EF3CDC7A0" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Coal Juice" + icon: "thermal:creosote_bucket" + x: 4.0d + y: 1.0d + shape: "circle" + description: ["Creosote is created as a by-product. It can be used as an additional Fuel Source."] + dependencies: ["3249CD08992F2BCD"] + id: "33674138F4866C18" + tasks: [{ + id: "224ACB0727C6F84E" + type: "checkmark" + }] + } + { + title: "Express Circuitry I" + x: 3.0d + y: 9.5d + subtitle: "Contraption 41-1" + description: ["Additional Processors are required in creating logistical components of ME Technology. At some point some Semi-Automation should come into consideration."] + dependencies: ["28DAED70768C6A50"] + id: "24C48CFAAD71B230" + tasks: [ + { + id: "10D5C1E5071B1B53" + type: "item" + item: "appliedenergistics2:printed_calculation_processor" + consume_items: false + } + { + id: "32F50DF8BD6E3927" + type: "item" + item: "appliedenergistics2:printed_logic_processor" + consume_items: false + } + { + id: "2E5AD5026FDB28CB" + type: "item" + item: "appliedenergistics2:printed_engineering_processor" + consume_items: false + } + ] + } + { + title: "Express Circuitry II" + x: 4.0d + y: 9.5d + subtitle: "Contraption 41-2" + description: ["Assembling the Processors is not a trivial process. But it sure is fun to watch it work."] + dependencies: ["24C48CFAAD71B230"] + id: "2B8F1D804107EB8C" + tasks: [ + { + id: "186FEC9FE047828F" + type: "item" + item: "appliedenergistics2:calculation_processor" + consume_items: false + } + { + id: "2DCA8F3CB7884170" + type: "item" + item: "appliedenergistics2:logic_processor" + consume_items: false + } + { + id: "75950A3A22C9DC8E" + type: "item" + item: "appliedenergistics2:engineering_processor" + consume_items: false + } + ] + } + { + title: "New Capacity" + icon: "thermal:dynamo_magmatic" + x: -1.0d + y: -2.5d + shape: "circle" + description: ["The upcoming Assembly Line will require a significant amount of flux energy to run. It is recommended to find a suitable generation method and to consider higher scales in planning should it become necessary later."] + dependencies: ["4B80A801A5BE4A01"] + id: "13B197C90F9812C8" + tasks: [{ + id: "4C687EF00A44ED1E" + type: "checkmark" + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/stage_4b.snbt b/src/overrides/config/ftbquests/quests/chapters/stage_4b.snbt new file mode 100644 index 0000000..df1df00 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/stage_4b.snbt @@ -0,0 +1,865 @@ +{ + id: "102E012616516E5D" + group: "331B6409EF6A7840" + order_index: 5 + filename: "stage_4b" + title: "&f4a&r Chaotic Alchemy" + icon: "kubejs:substrate_chaos" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Another way forward" + icon: "kubejs:inductive_mechanism" + x: 1.75d + y: 2.0d + shape: "hexagon" + description: [ + "As an alternative, more risky approach to a refined Silicon resource, Laser Alchemy can provide an obscure yet rewarding new path of progression." + "" + "Discover the secret codes of each reagent class in order to learn about the recipe of Chaos Catalysts." + "" + "Once found, the Chaos Catalyst can not only transmute a material into Silicon, but potentially create other valuable resources from the most trivial ingredients!" + ] + dependencies: ["5DF206B1738D08A0"] + hide: true + size: 2.0d + id: "05446225038D260A" + tasks: [{ + id: "38B2DFD6233E49FD" + type: "checkmark" + }] + rewards: [{ + id: "4AF4A93C5D5FB6DD" + type: "item" + item: "farmersdelight:hot_cocoa" + }] + } + { + title: "Encapsulate - Decapsulate" + x: -0.25d + y: 2.0d + shape: "circle" + description: [ + "Aside from the Alchemical Laser setup, you'll need a few other Machines for your new Alchemy Lab. " + "" + "- The Fluid Encapsulator uses Molten Glass to create Reagents from resources." + "" + "- The Reagent Extractor can reverse this process." + "" + "- The Centrifugal Separator is required to analyse alchemical blends for clues. A vital routine when researching the recipe of Catalysts." + ] + dependencies: ["05446225038D260A"] + id: "42B615F7BECA6E58" + tasks: [ + { + id: "39000CC22827EE50" + type: "item" + item: "thermal:machine_bottler" + consume_items: false + } + { + id: "6485567EC6630BF2" + type: "item" + item: "thermal:machine_sawmill" + consume_items: false + } + { + id: "75F82E2858B93DBD" + type: "item" + item: "thermal:machine_centrifuge" + consume_items: false + } + ] + } + { + x: -5.0d + y: 0.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "36A2C5B3E20C28DF" + tasks: [{ + id: "1E93F39E5F1F678E" + type: "item" + item: "kubejs:substrate_andesite" + consume_items: false + }] + } + { + x: -5.0d + y: 1.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "60F7A50F984284F1" + tasks: [{ + id: "5D98554C2EF24A62" + type: "item" + item: "kubejs:substrate_diorite" + consume_items: false + }] + } + { + x: -5.0d + y: 2.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "35406FED565B7EFF" + tasks: [{ + id: "090BAD8069B5962C" + type: "item" + item: "kubejs:substrate_granite" + consume_items: false + }] + } + { + x: -5.0d + y: 3.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "6CBB7512CDFF4C2E" + tasks: [{ + id: "739A22504FFAC363" + type: "item" + item: "kubejs:substrate_cobblestone" + consume_items: false + }] + } + { + x: -5.0d + y: 4.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "0F688EAF792BAE96" + tasks: [{ + id: "2F714B82CD1A3FDD" + type: "item" + item: "kubejs:substrate_basalt" + consume_items: false + }] + } + { + x: -5.0d + y: 5.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "560F2995CE2862D7" + tasks: [{ + id: "6F2432F797A27549" + type: "item" + item: "kubejs:substrate_gabbro" + consume_items: false + }] + } + { + x: -2.5d + y: 3.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "3978E4B39C9DB44D" + tasks: [{ + id: "0A7F5C2865C6F5F5" + type: "item" + item: "kubejs:substrate_red" + consume_items: false + }] + } + { + x: -3.5d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "122D3D6743D1DD04" + tasks: [{ + id: "6FD70BEFECE67F2C" + type: "item" + item: "kubejs:substrate_orange" + consume_items: false + }] + } + { + x: -2.5d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "1E856F69C03B1D75" + tasks: [{ + id: "2A79E5D1D6C6787F" + type: "item" + item: "kubejs:substrate_yellow" + consume_items: false + }] + } + { + x: -3.5d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "49957428564E8101" + tasks: [{ + id: "183677E3CD7A38E0" + type: "item" + item: "kubejs:substrate_green" + consume_items: false + }] + } + { + x: -2.5d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "678C5FC6A898E988" + tasks: [{ + id: "7E01B9B59066FD90" + type: "item" + item: "kubejs:substrate_blue" + consume_items: false + }] + } + { + x: -3.5d + y: 3.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "3377A2C391B6F03A" + tasks: [{ + id: "217E5A578A83222B" + type: "item" + item: "kubejs:substrate_magenta" + consume_items: false + }] + } + { + x: 1.0d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "616D07DC2CE17BA4" + tasks: [{ + id: "119E7FC4D7BB242F" + type: "item" + item: "kubejs:substrate_blaze" + consume_items: false + }] + } + { + x: 1.0d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "758B836F53187B8C" + tasks: [{ + id: "6B17F1E13DF99E50" + type: "item" + item: "kubejs:substrate_slime" + consume_items: false + }] + } + { + x: 0.0d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "4E3B9AA2062424F4" + tasks: [{ + id: "0F0273B7441B6840" + type: "item" + item: "kubejs:substrate_nether" + consume_items: false + }] + } + { + x: 0.0d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "20AA864C5201C638" + tasks: [{ + id: "465B3645832D5B9A" + type: "item" + item: "kubejs:substrate_obsidian" + consume_items: false + }] + } + { + x: -1.0d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "35A6E3BBD80FB00F" + tasks: [{ + id: "3D85594FB65E7A91" + type: "item" + item: "kubejs:substrate_gunpowder" + consume_items: false + }] + } + { + x: -1.0d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "03DB1FCC30B7321C" + tasks: [{ + id: "6BE52A47FB071345" + type: "item" + item: "kubejs:substrate_prismarine" + consume_items: false + }] + } + { + x: 2.5d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "421E285B7D642676" + tasks: [{ + id: "10EF9D8072B539A4" + type: "item" + item: "kubejs:substrate_arcane" + consume_items: false + }] + } + { + x: 2.5d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "6E154A8C81D8DD5F" + tasks: [{ + id: "0E7911464600ABEC" + type: "item" + item: "kubejs:substrate_apatite" + consume_items: false + }] + } + { + x: 4.5d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "58A0EA80BB3A3262" + tasks: [{ + id: "3106C362414AB238" + type: "item" + item: "kubejs:substrate_sulfur" + consume_items: false + }] + } + { + x: 3.5d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "2C6EE5BEB945F154" + tasks: [{ + id: "665D6D91F09233AE" + type: "item" + item: "kubejs:substrate_niter" + consume_items: false + }] + } + { + x: 3.5d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "7CA6AC3B07E07D81" + tasks: [{ + id: "6C839FAE45EC2AB4" + type: "item" + item: "kubejs:substrate_certus" + consume_items: false + }] + } + { + x: 4.5d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "40FDCF626F5EBB08" + tasks: [{ + id: "55AA2EC101DB9047" + type: "item" + item: "kubejs:substrate_quartz" + consume_items: false + }] + } + { + x: 7.0d + y: 3.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "5C0CE1EDF9BF49C9" + tasks: [{ + id: "185775BFC6FE2D89" + type: "item" + item: "kubejs:substrate_zinc" + consume_items: false + }] + } + { + x: 7.0d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "5A957C9B5D8DE1A1" + tasks: [{ + id: "3FA02655BC1E99A6" + type: "item" + item: "kubejs:substrate_copper" + consume_items: false + }] + } + { + x: 7.0d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "2995ADCCB6496A22" + tasks: [{ + id: "4932CD6D8FE77BB7" + type: "item" + item: "kubejs:substrate_iron" + consume_items: false + }] + } + { + x: 6.0d + y: 3.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "285F815678D5F32A" + tasks: [{ + id: "0EFBC080DFC4F106" + type: "item" + item: "kubejs:substrate_nickel" + consume_items: false + }] + } + { + x: 6.0d + y: 4.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "394A502BD8B5B1A0" + tasks: [{ + id: "08F2F111C97B57CD" + type: "item" + item: "kubejs:substrate_lead" + consume_items: false + }] + } + { + x: 6.0d + y: 5.0d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "22F0C935130ADCF4" + tasks: [{ + id: "4A4C9D6E372A5466" + type: "item" + item: "kubejs:substrate_gold" + consume_items: false + }] + } + { + x: 8.5d + y: 1.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "235264EC150EDB4B" + tasks: [{ + id: "2D94A57470F15112" + type: "item" + item: "kubejs:substrate_lapis" + consume_items: false + }] + } + { + x: 8.5d + y: 0.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "33B3AB3394DD012A" + tasks: [{ + id: "01253AF4C04D6EE2" + type: "item" + item: "kubejs:substrate_cinnabar" + consume_items: false + }] + } + { + x: 8.5d + y: 2.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "58A6D5414035EEA1" + tasks: [{ + id: "09ADE0525C1D7379" + type: "item" + item: "kubejs:substrate_sapphire" + consume_items: false + }] + } + { + x: 8.5d + y: 3.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "2EECFBC4E2BF1F37" + tasks: [{ + id: "36A7406CD330E7AB" + type: "item" + item: "kubejs:substrate_emerald" + consume_items: false + }] + } + { + x: 8.5d + y: 4.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "2FD7D312EE63EA53" + tasks: [{ + id: "68CD031A5C815200" + type: "item" + item: "kubejs:substrate_ruby" + consume_items: false + }] + } + { + x: 8.5d + y: 5.5d + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "2644760FA76D5F30" + tasks: [{ + id: "61BF1495FCB27EEB" + type: "item" + item: "kubejs:substrate_diamond" + consume_items: false + }] + } + { + x: -5.0d + y: 7.0d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Igneous Category." + "" + "The Igneous Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + "" + "It's recommended to always take notes of previous results. This way it is not uncommon to find the solution in under six attempts!" + ] + hide_dependency_lines: true + dependencies: [ + "36A2C5B3E20C28DF" + "60F7A50F984284F1" + "35406FED565B7EFF" + "0F688EAF792BAE96" + "6CBB7512CDFF4C2E" + "560F2995CE2862D7" + ] + id: "3EB5CD9776DF0E63" + tasks: [{ + id: "34B1FAA6107B2411" + type: "item" + item: "kubejs:substrate_igneous" + consume_items: false + }] + } + { + x: -2.5d + y: 6.5d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Herbal Category." + "" + "The Herbal Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + ] + hide_dependency_lines: true + dependencies: [ + "3377A2C391B6F03A" + "3978E4B39C9DB44D" + "678C5FC6A898E988" + "49957428564E8101" + "1E856F69C03B1D75" + "122D3D6743D1DD04" + ] + id: "2B195E5B195246F5" + tasks: [{ + id: "1F5A37CC8E10B3DB" + type: "item" + item: "kubejs:substrate_herbal" + consume_items: false + }] + } + { + x: 0.0d + y: 6.25d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Volatile Category." + "" + "The Volatile Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + ] + hide_dependency_lines: true + dependencies: [ + "4E3B9AA2062424F4" + "616D07DC2CE17BA4" + "758B836F53187B8C" + "03DB1FCC30B7321C" + "20AA864C5201C638" + "35A6E3BBD80FB00F" + ] + id: "62EB94758A862091" + tasks: [{ + id: "744E156650A1F4B3" + type: "item" + item: "kubejs:substrate_volatile" + consume_items: false + }] + } + { + x: 3.5d + y: 6.25d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Crystalline Category." + "" + "The Crystalline Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + ] + hide_dependency_lines: true + dependencies: [ + "58A0EA80BB3A3262" + "2C6EE5BEB945F154" + "7CA6AC3B07E07D81" + "40FDCF626F5EBB08" + "421E285B7D642676" + "6E154A8C81D8DD5F" + ] + id: "549D7F67A97CD2CE" + tasks: [{ + id: "0881E44E3823D060" + type: "item" + item: "kubejs:substrate_crystal" + consume_items: false + }] + } + { + x: 6.0d + y: 6.5d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Metallurgic Category." + "" + "The Metallurgic Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + ] + hide_dependency_lines: true + dependencies: [ + "2995ADCCB6496A22" + "5C0CE1EDF9BF49C9" + "5A957C9B5D8DE1A1" + "22F0C935130ADCF4" + "394A502BD8B5B1A0" + "285F815678D5F32A" + ] + id: "0CC92E94D10E681D" + tasks: [{ + id: "4E81FAFD3B80DFE9" + type: "item" + item: "kubejs:substrate_metal" + consume_items: false + }] + } + { + x: 8.5d + y: 7.0d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered all reagents of the Gemstone Category." + "" + "The Gemstone Catalyst can be created by a combination of four reagents of this Category in the Alchemical Laser. &7(See the Catalyst's JEI entry for more information)" + ] + hide_dependency_lines: true + dependencies: [ + "235264EC150EDB4B" + "2644760FA76D5F30" + "2FD7D312EE63EA53" + "58A6D5414035EEA1" + "2EECFBC4E2BF1F37" + "33B3AB3394DD012A" + ] + id: "5200AD3B32D219C6" + tasks: [{ + id: "10F212525DABED77" + type: "item" + item: "kubejs:substrate_gem" + consume_items: false + }] + } + { + title: "The Final Code" + x: 1.75d + y: 7.5d + shape: "circle" + description: [ + "If this is Unlocked, you have gathered Catalysts of every Category." + "" + "This Ultimate Catalyst is now a combination of four of the Catalysts, much in the way the Catalysts are found and made by their Reagents." + "&7(See this item's JEI entry for more information)" + ] + dependencies: [ + "3EB5CD9776DF0E63" + "549D7F67A97CD2CE" + "2B195E5B195246F5" + "62EB94758A862091" + "0CC92E94D10E681D" + "5200AD3B32D219C6" + ] + id: "7A9AA27029185035" + tasks: [{ + id: "3299FF447F8110CF" + type: "item" + item: "kubejs:substrate_chaos" + consume_items: false + }] + } + { + title: "The Discovery" + x: 1.0d + y: 8.5d + shape: "circle" + description: [ + "Armed with the Chaos Catalyst, you will find all manner of transmutation pairs among the Reagents above." + "" + "Simply put the Chaos Catalyst and a few jars of one reagent (The transmutation is lossy) into the hopper cart and find a different reagent returned after activating the laser. Mind that the Catalyst is never consumed in the process." + "" + "One of the Reagents should lead not to another known one, but to the Reagent of Silicon. If this turns out to be one that is reasonably accessible, you can consider choosing this path of production over the main one." + ] + dependencies: ["7A9AA27029185035"] + id: "6FDC8DA2FDED5FDD" + tasks: [{ + id: "68FBEFA1BC6479ED" + type: "item" + item: "kubejs:substrate_silicon" + consume_items: false + }] + } + { + title: "The Alchemical Laser" + icon: "projectred-illumination:lime_inverted_cage_light" + x: 3.75d + y: 2.0d + shape: "circle" + description: [ + "A central role in your Laboratory is played by the Alchemical Laser." + "" + "The Laser is the only way to obtain Catalysts or to find the necessary clues toward their recipe. Another use is the actual application of the Chaos Catalyst to a specific Reagent, causing the Transmutation." + "" + "Inventors can familiarise themselves with the necessary machinery components via JEI or via entering" + "" + " &6/c ponder kubejs:alchemical_laser" + ] + dependencies: ["05446225038D260A"] + id: "1D1D1FEAF49C5E11" + tasks: [{ + id: "04CC23968DBD8CC9" + type: "checkmark" + }] + rewards: [{ + id: "5F8758212BE89602" + type: "command" + title: "Open Ponder Scene" + icon: { + id: "occultism:book_of_calling_djinni_manage_machine" + Count: 1b + tag: { + spiritName: "Zedzeraeus" + } + } + team_reward: false + command: "/create ponder kubejs:alchemical_laser" + player_command: true + }] + } + { + title: "Automatic Chaos" + icon: "minecraft:hopper_minecart" + x: 2.5d + y: 9.0d + subtitle: "Contraption 31-A" + description: [ + "With the transmutation recipe in hand, it is time to build a facility able to create an infinite amount of Silicon Reagent via Laser Alchemy and the other steps part of the process." + "" + "Note that the concete solution depends highly on the transmutation pairings of your World, which is why it cannot be laid out in this Guide. You can use JEI to find other necessary recipes leading up to the reagent you require." + ] + dependencies: ["6FDC8DA2FDED5FDD"] + id: "630DA0C83959E9D8" + tasks: [{ + id: "3E080B5561AD314E" + type: "checkmark" + title: "Automated" + }] + } + { + title: "Warp Zone" + icon: "create:warped_window_pane" + x: 1.75d + y: 11.0d + shape: "hexagon" + description: ["Now that you have a passive supply of Silicon Reagent, you may head over to the main section of Chapter 4. You will have opened up an entry point near the end of its recipe chain."] + dependencies: ["630DA0C83959E9D8"] + size: 2.0d + id: "3B431AAADE8845FA" + tasks: [{ + id: "7201E3A86096F5CF" + type: "checkmark" + }] + } + { + title: "Clueless" + x: -6.5d + y: 5.0d + shape: "circle" + description: [ + "Glowstone or Redstone Accelerator can optionally be placed in the fifth slot of the Hopper Minecart when entering a catalyst code." + "" + "This may reveal additional information about the correct combination as described in their tooltip." + ] + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + optional: true + id: "1BCFB709E97A74FA" + tasks: [ + { + id: "6A30FCE70C7C7289" + type: "item" + item: "kubejs:accellerator_redstone" + consume_items: false + } + { + id: "3D9F64E8128BB9A6" + type: "item" + item: "kubejs:accellerator_glowstone" + consume_items: false + } + ] + } + { + x: 10.0d + y: 5.0d + shape: "circle" + description: ["Your coins seem to have a corresponding Reagent, too. Though do not expect to be able to mint new currency out of your silver ingots."] + hide_dependency_lines: true + dependencies: ["05446225038D260A"] + id: "566E72AE7D580917" + tasks: [{ + id: "7EA2895F0FB5A5D6" + type: "item" + item: "kubejs:substrate_silver" + consume_items: false + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/stage_5.snbt b/src/overrides/config/ftbquests/quests/chapters/stage_5.snbt new file mode 100644 index 0000000..9ba2fc3 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/stage_5.snbt @@ -0,0 +1,936 @@ +{ + id: "75CF8B6BAC6A01EF" + group: "331B6409EF6A7840" + order_index: 6 + filename: "stage_5" + title: "&f5&r Divide by Digital" + icon: "kubejs:computation_matrix" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Finale Start!" + icon: "kubejs:calculation_mechanism" + x: 5.0d + y: 15.5d + shape: "hexagon" + description: [ + "Welcome to the final Chapter of this Journey: building the Data Centre. What will this entail? Thousands of numeric calculations! " + "But do not fear, as an inventor you will let your creation do all the work for you, as usual." + "" + "Cast the combined logic of all your Calculation Mechanisms into two digits, from which you will calculate 8 others through a series of crafting operations. A digital ME system is recommended for managing the logistics, though not strictly required." + ] + dependencies: ["251A91F6C21AEAFB"] + hide: true + size: 2.0d + id: "5D0454F977C4F080" + tasks: [{ + id: "1F6009A328AA0184" + type: "checkmark" + }] + rewards: [{ + id: "0397D214E0A6CC89" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "We have lift off!" + icon: "advancedrocketry:guidancecomputer" + x: 2.0d + y: 7.75d + shape: "hexagon" + description: [ + "With everything in place and the Matrices programmed, you can go ahead and assemble the Guidance Computer and add it to your Spaceship." + "" + "Take a minute to craft a flag representing your space program to bring to the moon. You can apply patterns to it just like a Banner." + "" + "In your own time, take a seat in your assembled rocket, and press Space." + ] + dependencies: [ + "6BA9A176EDA001A3" + "1AE7B6CA4D1DBA6F" + "462CE0A4C80442FB" + "69311E02A8B3451D" + "3AD7553F3C8593F9" + "4800892E1E70648D" + "25B76A897D97C9F1" + "73473DC7269EC5B0" + ] + size: 2.0d + id: "47965C310D9847DC" + tasks: [ + { + id: "05BDC7ACF64D13C2" + type: "item" + item: "advancedrocketry:guidancecomputer" + consume_items: false + } + { + id: "4418C7A289B17158" + type: "item" + title: "Any Flag" + icon: { + id: "supplementaries:flag_gray" + Count: 1b + tag: { + BlockEntityTag: { + Patterns: [ + { + Pattern: "gra" + Color: 0 + } + { + Pattern: "bo" + Color: 15 + } + { + Pattern: "bs" + Color: 15 + } + { + Pattern: "ts" + Color: 15 + } + { + Pattern: "rs" + Color: 15 + } + { + Pattern: "ls" + Color: 11 + } + ] + } + } + } + disable_toast: true + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "supplementaries:flag_orange" + Count: 1b + } + { + id: "supplementaries:flag_magenta" + Count: 1b + } + { + id: "supplementaries:flag_light_blue" + Count: 1b + } + { + id: "supplementaries:flag_lime" + Count: 1b + } + { + id: "supplementaries:flag_gray" + Count: 1b + } + { + id: "supplementaries:flag_cyan" + Count: 1b + } + { + id: "supplementaries:flag_green" + Count: 1b + } + { + id: "supplementaries:flag_red" + Count: 1b + } + { + id: "supplementaries:flag_white" + Count: 1b + } + { + id: "supplementaries:flag_light_gray" + Count: 1b + } + { + id: "supplementaries:flag_yellow" + Count: 1b + } + { + id: "supplementaries:flag_pink" + Count: 1b + } + { + id: "supplementaries:flag_purple" + Count: 1b + } + { + id: "supplementaries:flag_blue" + Count: 1b + } + { + id: "supplementaries:flag_brown" + Count: 1b + } + { + id: "supplementaries:flag_black" + Count: 1b + } + ] + } + } + consume_items: false + } + ] + rewards: [{ + id: "7F4FDBDE58C30C3A" + type: "item" + item: { + id: "desolation:charred_fence" + Count: 1b + tag: { + RepairCost: 0 + display: { + Name: "{\"text\":\"Flag Pole\",\"italic\":false,\"color\":\"aqua\"}" + } + } + } + count: 3 + }] + } + { + title: "Solving Trajectories" + x: 2.0d + y: 9.5d + shape: "circle" + subtitle: "Contraption 45" + description: [ + "For the calculations of the Guidance computer, we will need.. a lot of these Digits." + "" + "Before letting items exit the logistical ecosystem of the calculations, make sure each digit leaves in equal amounts. Brass Tunnels can solve this issue in a straight-forward fashion." + "" + "Each digit now has to be dissolved back into its liquified form via Smeltery. Once a Smeltery collected 10 liquified items of each digit, they combine into the encoded logic required for our Computer. Once enough of this figurative alloy has accumulated, it can be cast into the powerful Computation Matrix." + "" + "The Guidance Computer requires 8 Matrices to function. Depending on your data centre and mechanism assembly lines, this may take a while." + ] + dependencies: [ + "42B5C0102B22F389" + "5358E5F7FB59DD60" + "5550A3E383EFEC90" + "55F959A18E904D6C" + "7927B6162577FA7B" + "1C6657984648B0D4" + "4A16CE3BC111280F" + "3126DE83A6741671" + "7D808F15BEDD7A7B" + "2441491CB5D5E57D" + ] + dependency_requirement: "one_completed" + id: "69311E02A8B3451D" + tasks: [{ + id: "2C98415D43457049" + type: "item" + item: "kubejs:computation_matrix" + count: 8L + consume_items: false + }] + } + { + title: "Processing Power" + icon: { + id: "thermal:fluid_cell" + Count: 1b + tag: { + Properties: { } + BlockEntityTag: { + RSControl: { + RSThreshold: 0b + RSMode: 0b + } + AmountOut: 1000 + Xfer: { + XferOut: 1b + XferIn: 0b + } + TankInv: [{ + FluidName: "kubejs:raw_logic" + Capacity: 32000 + Tank: 0b + Amount: 32000 + }] + AmountIn: 1000 + } + } + } + x: 2.0d + y: 15.5d + shape: "square" + subtitle: "Contraption 42" + description: ["In order to provide 'Mechanical' Calculators with numbers and operators, all available Calculation Mechanisms have to be melted down into the figurative processing power they provide."] + dependencies: ["5D0454F977C4F080"] + size: 1.5d + id: "70D563EF30E9CB97" + tasks: [ + { + id: "2A4A54EBAFBEB39F" + type: "item" + item: "kubejs:raw_logic_bucket" + consume_items: false + } + { + id: "406AAC43EBD44F6A" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:three" + x: 0.5d + y: 13.5d + subtitle: "Contraption 43-1" + description: [ + "As one of the two available digits, Threes can be cast from unprocessed logic. Together with the Eight and available Operators, your Calculators will have to create the remaining digits from 0 to 9 in equal amounts." + "" + "This casting process can quickly become a bottleneck, for most running calculations depend on the numbers generated here. Make sure things move fluently." + ] + dependencies: ["70D563EF30E9CB97"] + id: "5550A3E383EFEC90" + tasks: [ + { + id: "343E4ED28EA67219" + type: "item" + item: "kubejs:three" + consume_items: false + } + { + id: "61DEC75D20A61088" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:eight" + x: 3.5d + y: 13.5d + subtitle: "Contraption 43-3" + description: [ + "The second available Digit is the Eight. It can be cast from unprocessed logic." + "" + "From here, plan via which calculations the other digits will be created, and how the cost can be minimised. Remember that each added calculation step ends up increasing the amount of Calculation Mechanisms required for the digit it leads to." + ] + dependencies: ["70D563EF30E9CB97"] + id: "3126DE83A6741671" + tasks: [ + { + id: "18BB7C8E32701CB6" + type: "item" + item: "kubejs:eight" + consume_items: false + } + { + id: "4DAD021C66AB2A27" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:zero" + x: 5.5d + y: 11.5d + subtitle: "Contraption 44-8" + description: ["3-3, 2-2, 8-8,...? A total of 39 options exist to calculate zeros. A tough decision!"] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "2441491CB5D5E57D" + tasks: [ + { + id: "6FF94B3F20E69F43" + type: "item" + item: "kubejs:zero" + consume_items: false + } + { + id: "3413FA802F33F4BF" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:one" + x: -1.5d + y: 11.5d + subtitle: "Contraption 44-1" + description: ["3-2, 4/4, 8-7,...? A total of 21 options exist to calculate ones. Whichever will it be?"] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "42B5C0102B22F389" + tasks: [ + { + id: "61A3EF7882F2A31E" + type: "item" + item: "kubejs:one" + consume_items: false + } + { + id: "402FD7973EC66AEA" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:two" + x: -0.5d + y: 11.5d + subtitle: "Contraption 44-2" + description: ["3-1, 8/4, 1+1,...? A total of 17 options exist to calculate twos. Any favourites?"] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "5358E5F7FB59DD60" + tasks: [ + { + id: "2AD655BD7E1A0EBF" + type: "item" + item: "kubejs:two" + consume_items: false + } + { + id: "14D9C52366D6AF27" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:four" + x: 0.5d + y: 11.5d + subtitle: "Contraption 44-3" + description: ["6-2, 2x2, 3+1,...? A total of 16 options exist to calculate fours. Choose wisely."] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "55F959A18E904D6C" + tasks: [ + { + id: "54FEAD9C942788CF" + type: "item" + item: "kubejs:four" + consume_items: false + } + { + id: "3662CA8BEE33E02D" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:five" + x: 1.5d + y: 11.5d + subtitle: "Contraption 44-4" + description: ["3+2, 6-1, 8-3,...? A total of 14 options exist to calculate fives. How do you want to do this?"] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "7927B6162577FA7B" + tasks: [ + { + id: "0B94D4B1C2A131DA" + type: "item" + item: "kubejs:five" + consume_items: false + } + { + id: "4963498277C8A578" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:six" + x: 2.5d + y: 11.5d + subtitle: "Contraption 44-5" + description: ["3x2, 3+3, 8-2,...? A total of 16 options exist to calculate sixes. May the best be victorious."] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "1C6657984648B0D4" + tasks: [ + { + id: "0127797E6B5249A2" + type: "item" + item: "kubejs:six" + consume_items: false + } + { + id: "3E69BC01E47532D1" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:seven" + x: 3.5d + y: 11.5d + subtitle: "Contraption 44-6" + description: ["9-2, 4+3, 8-1,...? A total of 14 options exist to calculate sevens. Feeling Lucky?"] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "4A16CE3BC111280F" + tasks: [ + { + id: "7FA25AD87CBD6B62" + type: "item" + item: "kubejs:seven" + consume_items: false + } + { + id: "44A10C4B490D3C62" + type: "checkmark" + title: "Automated" + } + ] + } + { + icon: "kubejs:nine" + x: 4.5d + y: 11.5d + subtitle: "Contraption 44-7" + description: ["3x3, 4+5, 8+1,...? A total of 15 options exist to calculate nines. The choice is yours."] + dependencies: [ + "5550A3E383EFEC90" + "3126DE83A6741671" + "4E85C8A2EEEB57C3" + ] + id: "7D808F15BEDD7A7B" + tasks: [ + { + id: "2F81E83410906BB5" + type: "item" + item: "kubejs:nine" + consume_items: false + } + { + id: "5521427D5BAF2771" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Upcycle Bin" + icon: "appliedenergistics2:matter_ball" + x: 2.0d + y: 3.0d + subtitle: "Contraption 47" + description: [ + "Rocketry Equipment is built from the light but robust material of Matter Plastics. Matter Balls can be created in a Matter Condenser." + "" + "First, insert a 1k ME Storage Component into the Matter Condenser, set it to produce Matter Balls and then supply it with the most abundant flow of items you can come up with. Don't throw your valuables in; the items are consumed in the process." + ] + hide_dependency_lines: true + dependencies: ["5D0454F977C4F080"] + id: "3CBED6B591BCEDEA" + tasks: [ + { + id: "245415CFAEFCA7ED" + type: "item" + item: "appliedenergistics2:matter_ball" + consume_items: false + } + { + id: "0811C927283EE155" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "Expensive Bricks II" + x: 2.0d + y: 4.5d + shape: "circle" + description: ["Create bars of Matter Plastics in a Super-Heated Compacter. You'll need a couple of these."] + dependencies: [ + "6F750A66D0A559DE" + "3CBED6B591BCEDEA" + ] + id: "6A156D11D983661D" + tasks: [{ + id: "25532A2369192051" + type: "item" + item: "kubejs:matter_plastics" + consume_items: false + }] + } + { + title: "Black Gold" + icon: "thermal:crude_oil_bucket" + x: -2.5d + y: 8.0d + shape: "circle" + description: ["For powering our Rocket, we will require some very potent fuel. Search some of the warmer biomes for a source of Crude Oil. You cannot miss it."] + hide_dependency_lines: true + dependencies: ["5D0454F977C4F080"] + id: "4761DAE59CDD93AF" + tasks: [{ + id: "69EE10F8CDFF7980" + type: "item" + title: "Any Crude Oil Bucket" + item: { + id: "itemfilters:or" + Count: 1b + tag: { + items: [ + { + id: "kubejs:crude_oil_bucket" + Count: 1b + } + { + id: "thermal:crude_oil_bucket" + Count: 1b + } + ] + } + } + consume_items: false + }] + } + { + title: "Hydrocarbon Sorter I" + x: -1.0d + y: 8.0d + shape: "circle" + description: ["Crude Oil can be refined into Heavy Oil using a Fractionating Still."] + dependencies: ["4761DAE59CDD93AF"] + id: "2BD76CB3F8BC215E" + tasks: [{ + id: "0F12D5A3157F61C4" + type: "item" + item: "thermal:heavy_oil_bucket" + consume_items: false + }] + } + { + title: "Hydrocarbon Sorter II" + x: -1.0d + y: 9.0d + shape: "circle" + description: ["Refining Crude Oil into Heavy Oil creates a by-product of Light Oil."] + dependencies: ["4761DAE59CDD93AF"] + id: "26DD1CA6A8D4E249" + tasks: [{ + id: "2EA66D1B4EEBFA62" + type: "item" + item: "thermal:light_oil_bucket" + consume_items: false + }] + } + { + title: "Hydrocarbon Sorter III" + x: 0.5d + y: 9.0d + shape: "circle" + subtitle: "Contraption 46" + description: ["Both Heavy and Light Oil can be further refined into suitable Rocket Fuel."] + dependencies: [ + "2BD76CB3F8BC215E" + "26DD1CA6A8D4E249" + ] + dependency_requirement: "one_completed" + id: "25B76A897D97C9F1" + tasks: [{ + id: "5CAC7E6BDD460233" + type: "item" + item: "thermal:refined_fuel_bucket" + consume_items: false + }] + } + { + title: "Treat for Heat" + x: 3.5d + y: 3.5d + shape: "circle" + description: ["To form Matter Plastics, we need temperatures unreachable by even the most overclocked Invar Machines. However, your little Blaze friend will be happy to trade..."] + hide_dependency_lines: true + dependencies: ["5D0454F977C4F080"] + id: "6F750A66D0A559DE" + tasks: [{ + id: "588732AF86BA6A8D" + type: "item" + item: "create:blaze_cake" + consume_items: false + }] + } + { + title: "Attire" + icon: "advancedrocketry:spacehelmet" + x: -1.0d + y: 6.0d + shape: "circle" + description: ["If you intend to survive past the landing, a special set of armour will be required."] + dependencies: ["6A156D11D983661D"] + id: "6BA9A176EDA001A3" + tasks: [ + { + id: "7E45D4E589606928" + type: "item" + item: "advancedrocketry:spacehelmet" + consume_items: false + } + { + id: "00E67717F76ABA56" + type: "item" + item: "advancedrocketry:spacechest" + consume_items: false + } + { + id: "3D1FB475F19FB099" + type: "item" + item: "advancedrocketry:spaceleggings" + consume_items: false + } + { + id: "29F72399D75E555C" + type: "item" + item: "advancedrocketry:spaceboots" + consume_items: false + } + ] + } + { + title: "Where to?" + x: 3.5d + y: 9.0d + shape: "circle" + description: ["In order for your Guidance Computer to know its Destination, a Planet Id Chip has to be inserted."] + hide_dependency_lines: true + dependencies: ["5D0454F977C4F080"] + id: "462CE0A4C80442FB" + tasks: [{ + id: "4036EE2984EFEA1A" + type: "item" + item: { + id: "advancedrocketry:planet_id_chip" + Count: 1b + tag: { + dimId: "custommoon:moon" + DimensionName: " The Moon " + } + } + consume_items: false + }] + } + { + title: "Electrolysis" + icon: "advancedrocketry:oxygencharger" + x: 0.5d + y: 6.0d + shape: "circle" + subtitle: "Contraption 48" + description: [ + "In order to fill your Oxygen Tanks, stand on a Gas Charge Pad with oxygen in its internal storage." + "" + "Suitable Oxygen can be gained by separating water into its components via heated mixing." + ] + dependencies: ["6A156D11D983661D"] + id: "3AD7553F3C8593F9" + tasks: [ + { + id: "045DB251DB8BB97F" + type: "item" + item: "advancedrocketry:oxygencharger" + consume_items: false + } + { + id: "23140AC17E9BE946" + type: "item" + item: "advancedrocketry:bucketoxygen" + count: 4L + consume_items: false + } + ] + } + { + title: "Launch Pad Structure" + icon: "advancedrocketry:launchpad" + x: 2.0d + y: 6.0d + shape: "circle" + subtitle: "Contraption 49" + description: [ + "The Launch Pad for your Rocket requires special surface materials and reinforcement structures." + "" + "In order to learn about the specific guidelines, locate the ponder scene of the Guidance Computer, or use the command" + "" + "&6/c ponder advancedrocketry:guidancecomputer" + ] + dependencies: ["6A156D11D983661D"] + id: "4800892E1E70648D" + tasks: [ + { + id: "1F86655043929A18" + type: "item" + item: "advancedrocketry:launchpad" + consume_items: false + } + { + id: "2BC9E126D403902B" + type: "item" + item: "advancedrocketry:structuretower" + consume_items: false + } + { + id: "3D2474BE8BAE28D1" + type: "item" + item: "advancedrocketry:rocketassembler" + consume_items: false + } + ] + rewards: [{ + id: "6023AC8699FE1451" + type: "command" + title: "Open Ponder Scene" + icon: { + id: "occultism:book_of_calling_djinni_manage_machine" + Count: 1b + tag: { + spiritName: "Zedzeraeus" + } + } + team_reward: false + command: "/c ponder advancedrocketry:guidancecomputer" + player_command: true + }] + } + { + title: "Pipeless Loading" + icon: "libvulpes:linker" + x: 5.0d + y: 6.0d + shape: "circle" + description: ["A couple of additional Gadgets are required in order to load the rocket with fuel. For usages refer to the Ponder Scene of the Guidance Computer."] + dependencies: ["6A156D11D983661D"] + id: "1AE7B6CA4D1DBA6F" + tasks: [ + { + id: "4D0D4FCDA84500F4" + type: "item" + item: "advancedrocketry:fuelingstation" + consume_items: false + } + { + id: "0CA84D5F0130C60E" + type: "item" + item: "libvulpes:linker" + consume_items: false + } + ] + } + { + title: "Operators" + icon: "kubejs:plus" + x: 2.0d + y: 14.0d + subtitle: "Contraption 43-2" + description: ["Without the operators, a data center would not be able to combine digits into others. Provide your Calculators with an automated supply of any operator they end up requiring."] + dependencies: ["70D563EF30E9CB97"] + id: "4E85C8A2EEEB57C3" + tasks: [ + { + id: "69462AA912169E3B" + type: "item" + item: "kubejs:plus" + consume_items: false + } + { + id: "56E1C75AD6DF3119" + type: "item" + item: "kubejs:minus" + consume_items: false + } + { + id: "3BF3D9E9B3782EA3" + type: "item" + item: "kubejs:multiply" + consume_items: false + } + { + id: "5914CB0D1D6E839E" + type: "item" + item: "kubejs:divide" + consume_items: false + } + { + id: "26517C9D1C3D8269" + type: "checkmark" + title: "Automated" + } + ] + } + { + title: "The Spaceship" + icon: "advancedrocketry:fueltank" + x: 3.5d + y: 6.0d + shape: "circle" + subtitle: "Contraption &b50" + description: [ + "With the Launch Pad in place, it is time to construct your Spaceship. " + "" + "Give it your best, after all this is the final Contraption you've been working towards. " + "&7Though perhaps keep the palette simple- with the state that mod is in, see if you can avoid using any funky special rendered blocks here. Crashing to this now would be devastating." + ] + dependencies: [ + "6A156D11D983661D" + "4800892E1E70648D" + ] + id: "73473DC7269EC5B0" + tasks: [ + { + id: "5A1CC7C1BAFFABBC" + type: "item" + item: "advancedrocketry:rocketmotor" + consume_items: false + } + { + id: "303C6C7B357D47D9" + type: "item" + item: "advancedrocketry:fueltank" + consume_items: false + } + { + id: "5140EF835413E2FC" + type: "item" + item: "advancedrocketry:seat" + consume_items: false + } + ] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/chapters/welcome.snbt b/src/overrides/config/ftbquests/quests/chapters/welcome.snbt new file mode 100644 index 0000000..76e0673 --- /dev/null +++ b/src/overrides/config/ftbquests/quests/chapters/welcome.snbt @@ -0,0 +1,229 @@ +{ + id: "2EE5FBD9BD7C0265" + group: "" + order_index: 0 + filename: "welcome" + title: "Welcome" + icon: "biomesoplenty:wildflower" + default_quest_shape: "" + default_hide_dependency_lines: false + quests: [ + { + title: "Limitless Potential" + icon: "minecraft:gold_ore" + disable_toast: true + x: -3.5d + y: -5.0d + shape: "hexagon" + description: [ + "This pack is for you." + "We hope you'll have a good time with it." + "" + ] + size: 2.0d + id: "09356B3BEF298E06" + tasks: [{ + id: "7670232EEE67FE29" + type: "checkmark" + }] + rewards: [ + { + id: "732AA66A91BA5C2B" + type: "item" + item: "biomesoplenty:wildflower" + } + { + id: "1EE277823ACFB886" + type: "item" + item: "minecraft:flower_pot" + } + ] + } + { + title: "Completely Optional" + icon: "minecraft:grass_block" + disable_toast: true + x: -3.5d + y: -2.5d + shape: "hexagon" + description: [ + "The Questing system helps you with the primary customisations of the Modpack: &3Trades&r and the &6Progression of Tech&r" + "" + "Completing Quests is not required to progress through the game." + ] + hide_dependency_lines: true + dependencies: ["09356B3BEF298E06"] + size: 1.5d + id: "69D55492A8F42A94" + tasks: [{ + id: "0680791525813778" + type: "checkmark" + }] + } + { + title: "I" + icon: "create:cogwheel" + disable_toast: true + x: -4.0d + y: -1.0d + shape: "hexagon" + description: [ + "Modpack Description:" + "The sandbox has been turned upside down - be ready to invent your best Create Contraptions yet. " + "&7(Or the first, if you are that brave!)" + ] + dependencies: ["69D55492A8F42A94"] + size: 1.5d + id: "407236D2B1D2257D" + tasks: [{ + id: "71C8186F3C7861F2" + type: "checkmark" + }] + rewards: [{ + id: "3D4250D2B4800C1C" + type: "item" + item: "create:builders_tea" + }] + } + { + title: "II" + icon: "create:large_cogwheel" + disable_toast: true + x: -3.5d + y: 0.5d + shape: "hexagon" + description: [ + "About fifty inventions lie between you and the moon. " + "" + "Thousands of components will flow through the ever-growing sequence of your machines, providing the means to explore the next level of technology. " + ] + dependencies: ["407236D2B1D2257D"] + size: 1.5d + id: "2C7ADB6C11B918B1" + tasks: [{ + id: "36AF6DA4FFED8DC2" + type: "checkmark" + }] + rewards: [{ + id: "1BF6428DE53BC0FF" + type: "item" + item: "minecraft:cookie" + }] + } + { + title: "III" + icon: "kubejs:andesite_machine" + disable_toast: true + x: -2.0d + y: 1.0d + shape: "hexagon" + description: [ + "Your entire factory will be put to the test as final products flow into the Data Centre, programming the Guidance computer of your Spaceship." + "" + "Every step is different, some may even differ depending on the generation seed of your World." + ] + dependencies: ["2C7ADB6C11B918B1"] + size: 1.5d + id: "1947C6CE179EBAC6" + tasks: [{ + id: "235CD0501F0E807C" + type: "checkmark" + }] + rewards: [{ + id: "4000DE1B90DA84CE" + type: "item" + item: "minecraft:wheat_seeds" + }] + } + { + title: "IV" + icon: "thermal:machine_press" + disable_toast: true + x: -0.5d + y: 0.5d + shape: "hexagon" + description: [ + "Tired of the grind?" + "" + "Fund the operation with coin provided either from various errands, or your chosen professions. " + "" + "Automatically ship produce from your farms or gather other players to aid you in your mission." + "" + "Then you can purchase all manner of resources, artifacts and building blocks from the market, making your life just a little bit easier." + ] + dependencies: ["1947C6CE179EBAC6"] + size: 1.5d + id: "58E38BA6D927409F" + tasks: [{ + id: "3A69DCA5AB7A36F2" + type: "checkmark" + }] + rewards: [{ + id: "583C35BA7A7B9004" + type: "item" + item: "thermal:silver_coin" + }] + } + { + title: "Quest Content Overwiew" + icon: { + id: "occultism:book_of_calling_djinni_manage_machine" + Count: 1b + tag: { + spiritName: "Marredaeus" + } + } + disable_toast: true + x: -1.5d + y: -1.5d + shape: "hexagon" + description: [ + "- &6The Bulletin Board&r provides means to earn currency for Trading." + "Here you can complete various errands or buy a profession permit for use in the Trading Machine." + "" + "- &6The Market&r gives you options to spend your money on a variety of fun and useful items and gadgets." + "" + "- &6Shipments&r are the Automated way to exchange coin for resources. Here you can buy Import Cards for use in the Trading Machine." + "" + "- The &3Factory Guide&r provides useful information for the path of Technology and Automation. All challenges to be overcome have been neatly organised into chapters and tasks. It is entirely optional to follow this Guide." + "" + "- The Section on &3Metallurgy&r gives an overview of the ways to turn your ore into refined metal. Different paths yield differently." + "" + "- &3Lifesavers&r brings a spotlight to all those little utilities that can help you overcome the challenges set before you." + ] + dependencies: ["58E38BA6D927409F"] + size: 1.5d + id: "00003FCBB33E62C4" + tasks: [{ + id: "181383A364ECB6F1" + type: "checkmark" + }] + rewards: [{ + id: "67E25D801A479C56" + type: "item" + item: "minecraft:writable_book" + }] + } + { + title: "Off you go" + icon: "minecraft:gold_block" + disable_toast: true + x: 2.0d + y: -1.5d + shape: "hexagon" + description: ["Now that you have an idea of what is new and what is not, settle in and start your Journey."] + dependencies: ["00003FCBB33E62C4"] + size: 2.0d + id: "31EDFA6D2FF86CB0" + tasks: [{ + id: "422CD0E2E5F2F158" + type: "checkmark" + }] + rewards: [{ + id: "27FC36C810ADB897" + type: "xp_levels" + xp_levels: 3 + }] + } + ] +} diff --git a/src/overrides/config/ftbquests/quests/data.snbt b/src/overrides/config/ftbquests/quests/data.snbt new file mode 100644 index 0000000..c129d6a --- /dev/null +++ b/src/overrides/config/ftbquests/quests/data.snbt @@ -0,0 +1,22 @@ +{ + version: 13 + title: "&6 Above &f\\&&6 Beyond" + icon: "kubejs:abstruse_mechanism" + disable_toast: true + default_reward_team: true + default_consume_items: true + default_autoclaim_rewards: "disabled" + default_quest_shape: "square" + default_quest_disable_jei: false + emergency_items_cooldown: 300 + drop_loot_crates: false + loot_crate_no_drop: { + passive: 4000 + monster: 600 + boss: 0 + } + disable_gui: false + grid_scale: 1.0d + pause_game: false + lock_message: "" +} diff --git a/src/overrides/config/grapplemod.toml b/src/overrides/config/grapplemod.toml new file mode 100644 index 0000000..3ffc446 --- /dev/null +++ b/src/overrides/config/grapplemod.toml @@ -0,0 +1,216 @@ +[options.grapplinghook.custom.rope.maxlen] +default_value = 30.0 +enabled = 0 +max = 60.0 +max_upgraded = 200.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.rope.phaserope] +default_value = false +enabled = 0 +[options.grapplinghook.custom.rope.sticky] +default_value = false +enabled = 0 +[options.grapplinghook.custom.hookthrower.hookgravity] +default_value = 1.0 +enabled = 0 +max = 100.0 +max_upgraded = 100.0 +min = 1.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.hookthrower.throwspeed] +default_value = 2.0 +enabled = 0 +max = 5.0 +max_upgraded = 20.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.hookthrower.reelin] +default_value = true +enabled = 0 +[options.grapplinghook.custom.hookthrower.verticalthrowangle] +default_value = 0.0 +enabled = 0 +max = 45.0 +max_upgraded = 90.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.hookthrower.sneakingverticalthrowangle] +default_value = 0.0 +enabled = 0 +max = 45.0 +max_upgraded = 90.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.hookthrower.detachonkeyrelease] +default_value = false +enabled = 0 +[options.grapplinghook.custom.motor.motor] +default_value = false +enabled = 0 +[options.grapplinghook.custom.motor.motormaxspeed] +default_value = 4.0 +enabled = 0 +max = 4.0 +max_upgraded = 10.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.motor.motoracceleration] +default_value = 0.2 +enabled = 0 +max = 0.2 +max_upgraded = 1.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.motor.motorwhencrouching] +default_value = false +enabled = 0 +[options.grapplinghook.custom.motor.motorwhennotcrouching] +default_value = true +enabled = 0 +[options.grapplinghook.custom.motor.smartmotor] +default_value = false +enabled = 0 +[options.grapplinghook.custom.motor.motordampener] +default_value = false +enabled = 1 +[options.grapplinghook.custom.motor.pullbackwards] +default_value = true +enabled = 0 +[options.grapplinghook.custom.swing.playermovementmult] +default_value = 1.0 +enabled = 0 +max = 2.0 +max_upgraded = 5.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.enderstaff.enderstaff] +default_value = false +enabled = 0 +[options.grapplinghook.custom.forcefield.repel] +default_value = false +enabled = 0 +[options.grapplinghook.custom.forcefield.repelforce] +default_value = 1.0 +enabled = 0 +max = 1.0 +max_upgraded = 5.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.magnet.attract] +default_value = false +enabled = 0 +[options.grapplinghook.custom.magnet.attractradius] +default_value = 3.0 +enabled = 0 +max = 3.0 +max_upgraded = 10.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.doublehook.doublehook] +default_value = false +enabled = 0 +[options.grapplinghook.custom.doublehook.smartdoublemotor] +default_value = true +enabled = 0 +[options.grapplinghook.custom.doublehook.angle] +default_value = 20.0 +enabled = 0 +max = 45.0 +max_upgraded = 90.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.doublehook.sneakingangle] +default_value = 10.0 +enabled = 0 +max = 45.0 +max_upgraded = 90.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.doublehook.oneropepull] +default_value = false +enabled = 0 +[options.grapplinghook.custom.rocket.rocketenabled] +default_value = false +enabled = 0 +[options.grapplinghook.custom.rocket.rocket_force] +default_value = 1.0 +enabled = 0 +max = 1.0 +max_upgraded = 5.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.rocket.rocket_active_time] +default_value = 0.5 +enabled = 0 +max = 0.5 +max_upgraded = 20.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.custom.rocket.rocket_refuel_ratio] +default_value = 15.0 +enabled = 0 +max = 30.0 +max_upgraded = 30.0 +min = 15.0 +min_upgraded = 1.0 +[options.grapplinghook.custom.rocket.rocket_vertical_angle] +default_value = 0.0 +enabled = 0 +max = 90.0 +max_upgraded = 90.0 +min = 0.0 +min_upgraded = 0.0 +[options.grapplinghook.blocks] +grapplingBlocks = "any" +grapplingNonBlocks = "none" +grappleBreakBlocks = "none" +[options.grapplinghook.other] +hookaffectsentities = true +rope_snap_buffer = 5.0 +default_durability = 500 +rope_jump_power = 1.0 +rope_jump_at_angle = false +rope_jump_cooldown_s = 0.0 +climb_speed = 0.3 +[options.longfallboots] +longfallbootsrecipe = true +[options.enderstaff] +ender_staff_strength = 1.5 +ender_staff_recharge = 100 +[options.enchantments.wallrun] +wall_jump_up = 0.7 +wall_jump_side = 0.4 +max_wallrun_time = 3.0 +wallrun_speed = 0.1 +wallrun_max_speed = 0.7 +wallrun_drag = 0.05 +wallrun_min_speed = 0.0 +enchant_rarity_wallrun = 0 +[options.enchantments.doublejump] +doublejumpforce = 0.8 +doublejump_relative_to_falling = false +dont_doublejump_if_falling_faster_than = 9.9999999E7 +enchant_rarity_double_jump = 0 +[options.enchantments.slide] +slidingjumpforce = 0.6 +sliding_friction = 0.006666666828095913 +sliding_min_speed = 0.15 +sliding_end_min_speed = 0.01 +enchant_rarity_sliding = 0 +[options.other] +override_allowflight = true +airstrafe_max_speed = 0.7 +airstrafe_acceleration = 0.015 +dont_override_movement_in_air = false +[clientOptions.camera] +wallrun_camera_tilt_degrees = 10.0 +wallrun_camera_animation_s = 0.5 +[clientOptions.sounds] +wallrun_sound_effect_time_s = 0.35 +wallrun_sound_volume = 1.0 +doublejump_sound_volume = 1.0 +slide_sound_volume = 1.0 +wallrunjump_sound_volume = 1.0 +rocket_sound_volume = 1.0 +enderstaff_sound_volume = 1.0 diff --git a/src/overrides/config/ichunutil.toml b/src/overrides/config/ichunutil.toml new file mode 100644 index 0000000..00bcf44 --- /dev/null +++ b/src/overrides/config/ichunutil.toml @@ -0,0 +1,38 @@ + +[bns] + #Number of ticks before showing a tooltip + #Range: > 0 + guiTooltipCooldown = 20 + #Renders iChunUtil's GUIs (Boxes & Stuff) in a Minecraft Style instead. 1 = Vanilla Style, 2 = Texture Pack Style + #Range: 0 ~ 2 + guiMinecraftStyle = 0 + #Default Theme for Boxes & Stuff + guiDefaultTheme = "default" + #Speed, in ticks, to register a double click + #Range: > 1 + guiDoubleClickSpeed = 10 + #How much padding to add to the docked windows + #Range: 0 ~ 50 + guiDockPadding = 0 + #Number of pixels before iChunUtil thinks you're trying to dock a window + #Range: > 1 + guiDockBorder = 8 + +#These options affect only the client that loads the mod. +[clientOnly] + #Override the Options button so pressing Shift when clicking it shows the Mods list. + buttonOptionsShiftOpensMods = true + #The Minecraft Toast Renderer has a bug where toasts with different heights might overlap. This override fixes it if the renderer is still the default renderer. + overrideToastGui = true + #Enables (most) Client-Side Easter Eggs for iChun's Mods + easterEgg = true + +[headTracking] + #Enable the easter egg where the horse/llama's "head" is its behind. This is an easter egg on how Hats used to put hats on Horses. + horseEasterEgg = true + #Track the head model aggressively to try and fix improper head tracking that may be caused by mod conflicts? + #1 = All Entities + #2 = Players Only + #Range: 0 ~ 2 + aggressiveHeadTracking = 1 + diff --git a/src/overrides/config/ichunutil/themes/aztec.json b/src/overrides/config/ichunutil/themes/aztec.json new file mode 100644 index 0000000..64c2655 --- /dev/null +++ b/src/overrides/config/ichunutil/themes/aztec.json @@ -0,0 +1,43 @@ +{ + "name": "Aztec", + "author": "LordFokas", + + "workspaceBackground": [8, 8, 8], + "windowBorder": [96, 96, 96], + "windowBackground": [48, 48, 48], + + "tabBorder": [0, 0, 0], + "tabSideInactive": [50, 50, 50], + + "elementInputBackgroundInactive": [32, 32, 32], + "elementInputBackgroundHover": [24, 24, 24], + "elementInputBorder": [96, 96, 96], + "elementInputUpDownHover": [64, 64, 64], + "elementInputUpDownClick": [48, 48, 48], + + "elementButtonBackgroundInactive": [32, 32, 32], + "elementButtonBackgroundHover": [24, 24, 24], + "elementButtonBorder": [96, 96, 96], + "elementButtonClick": [48, 48, 48], + "elementButtonToggle": [32, 32, 32], + "elementButtonToggleHover": [24, 24, 24], + + "elementProjectTabActive": [80, 80, 80], + "elementProjectTabHover": [64, 64, 64], + "elementProjectTabFont": [240, 240, 240], + "elementProjectTabFontChanges": [120, 120, 240], + + "elementTreeBorder": [192, 192, 192], + "elementTreeScrollBar": [32, 32, 32], + "elementTreeScrollBarBorder": [192, 192, 192], + "elementTreeItemBorder": [32, 32, 32], + "elementTreeItemBg": [32, 32, 32], + "elementTreeItemBgSelect": [12, 12, 12], + "elementTreeItemBgHover": [24, 24, 24], + + "fontChat": [240, 240, 240], + "font": [240, 240, 240], + "fontDim": [192, 192, 192], + + "workspaceBlock": "minecraft:gray_wool" +} \ No newline at end of file diff --git a/src/overrides/config/ichunutil/themes/blue&black.json b/src/overrides/config/ichunutil/themes/blue&black.json new file mode 100644 index 0000000..0efb624 --- /dev/null +++ b/src/overrides/config/ichunutil/themes/blue&black.json @@ -0,0 +1,186 @@ +{ + "name": "Blue & Black", + "author": "SizzlinBacen", + //Done + "workspaceBackground": [ + 204, + 204, + 204 + ], + //Done + "windowBorder": [ + 0, + 128, + 225 + ], + //Done + "windowBackground": [ + 34, + 34, + 34 + ], + //Done + "tabBorder": [ + 0, + 128, + 225 + ], + + //Done + "tabSideInactive": [ + 0, + 128, + 225 + ], + //Done + "elementInputBackgroundInactive": [ + 60, + 60, + 60 + ], + //Done + "elementInputBackgroundHover": [ + 70, + 70, + 70 + ], + //Done + "elementInputBorder": [ + 0, + 128, + 225 + ], + //Done + "elementInputUpDownHover": [ + 68, + 156, + 223 + ], + //Done + "elementInputUpDownClick": [ + 0, + 0, + 225 + ], + //Done + "elementButtonBackgroundInactive": [ + 60, + 60, + 60 + ], + //Done + "elementButtonBackgroundHover": [ + 70, + 70, + 70 + ], + //Done + "elementButtonBorder": [ + 0, + 150, + 225 + ], + //Done + "elementButtonClick": [ + 100, + 100, + 100 + ], + //Done + "elementButtonToggle": [ + 30, + 30, + 30 + ], + //Done + "elementButtonToggleHover": [ + 170, + 170, + 170 + ], + //Done + "elementProjectTabActive": [ + 60, + 60, + 60 + ], + //Done + "elementProjectTabHover": [ + 100, + 100, + 100 + ], + //Done + "elementProjectTabFont": [ + 140, + 140, + 140 + ], + //Done + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + //Done + "elementTreeBorder": [ + 0, + 128, + 225 + ], + //Done + "elementTreeScrollBar": [ + 34, + 34, + 34 + ], + //Done + "elementTreeScrollBarBorder": [ + 0, + 128, + 225 + ], + //Done + "elementTreeItemBorder": [ + 0, + 128, + 225 + ], + //Done + "elementTreeItemBg": [ + 60, + 60, + 60 + ], + //Done + "elementTreeItemBgSelect": [ + 100, + 100, + 100 + ], + //Done + "elementTreeItemBgHover": [ + 120, + 120, + 120 + ], + //Done + "fontChat": [ + 220, + 220, + 220 + ], + //Done + "font": [ + 255, + 255, + 255 + ], + //Done + "fontDim": [ + 150, + 150, + 150 + ], + "workspaceBlock": "minecraft:light_blue_wool" +} \ No newline at end of file diff --git a/src/overrides/config/ichunutil/themes/blue&orange.json b/src/overrides/config/ichunutil/themes/blue&orange.json new file mode 100644 index 0000000..beea094 --- /dev/null +++ b/src/overrides/config/ichunutil/themes/blue&orange.json @@ -0,0 +1,187 @@ +{ + "name": "Blue & Orange", + "author": "ASolvie", + //Done + "workspaceBackground": [ + 255, + 204, + 94 + ], + //Done + "windowBorder": [ + 0, + 128, + 225 + ], + //Done + "windowBackground": [ + 255, + 136, + 34 + ], + //Done + "tabBorder": [ + 0, + 128, + 225 + ], + + //Done + "tabSideInactive": [ + 0, + 128, + 225 + ], + //Done + "elementInputBackgroundInactive": [ + 255, + 100, + 60 + ], + //Done + "elementInputBackgroundHover": [ + 255, + 174, + 70 + ], + //Done + "elementInputBorder": [ + 0, + 128, + 225 + ], + //Done + "elementInputUpDownHover": [ + 68, + 156, + 223 + ], + //Done + "elementInputUpDownClick": [ + 0, + 0, + 225 + ], + //Done + "elementButtonBackgroundInactive": [ + 255, + 100, + 60 + ], + //Done + "elementButtonBackgroundHover": [ + 255, + 174, + 70 + ], + //Done + "elementButtonBorder": [ + 0, + 150, + 225 + ], + //Done + "elementButtonClick": [ + 255, + 100, + 0 + ], + //Done + "elementButtonToggle": [ + 255, + 144, + 30 + ], + //Done + "elementButtonToggleHover": [ + 255, + 200, + 82 + ], + //Done + "elementProjectTabActive": [ + 255, + 100, + 60 + ], + //Done + "elementProjectTabHover": [ + 100, + 100, + 100 + ], + //Done + "elementProjectTabFont": [ + 140, + 140, + 140 + ], + //Done + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + //Done + "elementTreeBorder": [ + 0, + 128, + 225 + ], + //Done + "elementTreeScrollBar": [ + 34, + 34, + 34 + ], + //Done + "elementTreeScrollBarBorder": [ + 0, + 128, + 225 + ], + //Done + "elementTreeItemBorder": [ + 0, + 128, + 225 + ], + //Done + "elementTreeItemBg": [ + 60, + 60, + 60 + ], + //Done + "elementTreeItemBgSelect": [ + 255, + 162, + 98 + ], + //Done + "elementTreeItemBgHover": [ + 255, + 120, + 120 + ], + //Done + "fontChat": [ + 255, + 190, + 120 + ], + //Done + "font": [ + 255, + 255, + 255 + ], + //Done + "fontDim": [ + 255, + 224, + 0 + ], + //Done + "workspaceBlock": "minecraft:light_blue_wool" +} \ No newline at end of file diff --git a/src/overrides/config/ichunutil/themes/default.json b/src/overrides/config/ichunutil/themes/default.json new file mode 100644 index 0000000..eab702c --- /dev/null +++ b/src/overrides/config/ichunutil/themes/default.json @@ -0,0 +1,155 @@ +{ + "name": "Default", + "author": "iChun", + "workspaceBackground": [ + 204, + 204, + 204 + ], + "windowBorder": [ + 150, + 150, + 150 + ], + "windowBackground": [ + 34, + 34, + 34 + ], + "tabBorder": [ + 255, + 255, + 255 + ], + "tabSideInactive": [ + 100, + 100, + 100 + ], + "elementInputBackgroundInactive": [ + 60, + 60, + 60 + ], + "elementInputBackgroundHover": [ + 70, + 70, + 70 + ], + "elementInputBorder": [ + 140, + 140, + 140 + ], + "elementInputUpDownHover": [ + 170, + 170, + 170 + ], + "elementInputUpDownClick": [ + 100, + 100, + 100 + ], + "elementButtonBackgroundInactive": [ + 60, + 60, + 60 + ], + "elementButtonBackgroundHover": [ + 70, + 70, + 70 + ], + "elementButtonBorder": [ + 140, + 140, + 140 + ], + "elementButtonClick": [ + 100, + 100, + 100 + ], + "elementButtonToggle": [ + 120, + 120, + 120 + ], + "elementButtonToggleHover": [ + 170, + 170, + 170 + ], + "elementProjectTabActive": [ + 60, + 60, + 60 + ], + "elementProjectTabHover": [ + 100, + 100, + 100 + ], + "elementProjectTabFont": [ + 140, + 140, + 140 + ], + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + "elementTreeBorder": [ + 100, + 100, + 100 + ], + "elementTreeScrollBar": [ + 34, + 34, + 34 + ], + "elementTreeScrollBarBorder": [ + 60, + 60, + 60 + ], + "elementTreeItemBorder": [ + 40, + 40, + 40 + ], + "elementTreeItemBg": [ + 60, + 60, + 60 + ], + "elementTreeItemBgSelect": [ + 100, + 100, + 100 + ], + "elementTreeItemBgHover": [ + 120, + 120, + 120 + ], + "fontChat": [ + 220, + 220, + 220 + ], + "font": [ + 255, + 255, + 255 + ], + "fontDim": [ + 150, + 150, + 150 + ], + "workspaceBlock": "minecraft:spruce_planks" +} \ No newline at end of file diff --git a/src/overrides/config/ichunutil/themes/grassgreen.json b/src/overrides/config/ichunutil/themes/grassgreen.json new file mode 100644 index 0000000..6e76b0a --- /dev/null +++ b/src/overrides/config/ichunutil/themes/grassgreen.json @@ -0,0 +1,185 @@ +{ + "name": "GrassGreen", + "author": "SizzlinBacen", + //Done + "workspaceBackground": [ + 183, + 255, + 183 + ], + //Done + "windowBorder": [ + 6, + 179, + 0 + ], + //Done + "windowBackground": [ + 74, + 230, + 74 + ], + //Done + "tabBorder": [ + 74, + 230, + 74 + ], + //Done + "tabSideInactive": [ + 70, + 148, + 70 + ], + //Done + "elementInputBackgroundInactive": [ + 45, + 209, + 45 + ], + //Done + "elementInputBackgroundHover": [ + 110, + 225, + 110 + ], + //Done + "elementInputBorder": [ + 6, + 179, + 0 + ], + //Done + "elementInputUpDownHover": [ + 7, + 223, + 0 + ], + //Done + "elementInputUpDownClick": [ + 46, + 188, + 46 + ], + //Done + "elementButtonBackgroundInactive": [ + 74, + 230, + 74 + ], + //Done + "elementButtonBackgroundHover": [ + 6, + 195, + 0 + ], + //Done + "elementButtonBorder": [ + 6, + 179, + 0 + ], + //Done + "elementButtonClick": [ + 60, + 152, + 60 + ], + //Done + "elementButtonToggle": [ + 48, + 111, + 48 + ], + //Done + "elementButtonToggleHover": [ + 170, + 170, + 170 + ], + //Done + "elementProjectTabActive": [ + 74, + 230, + 74 + ], + //Done + "elementProjectTabHover": [ + 46, + 188, + 46 + ], + //Done + "elementProjectTabFont": [ + 255, + 255, + 255 + ], + //Done + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + //Done + "elementTreeBorder": [ + 6, + 179, + 0 + ], + //Done + "elementTreeScrollBar": [ + 74, + 230, + 74 + ], + //Done + "elementTreeScrollBarBorder": [ + 6, + 179, + 0 + ], + //Done + "elementTreeItemBorder": [ + 6, + 179, + 0 + ], + //Done + "elementTreeItemBg": [ + 74, + 230, + 74 + ], + //Done + "elementTreeItemBgSelect": [ + 60, + 152, + 60 + ], + //Done + "elementTreeItemBgHover": [ + 46, + 188, + 46 + ], + //Done + "fontChat": [ + 0, + 100, + 0 + ], + //Done + "font": [ + 255, + 255, + 255 + ], + //Done + "fontDim": [ + 225, + 225, + 225 + ], + "workspaceBlock": "minecraft:grass_block" +} \ No newline at end of file diff --git a/src/overrides/config/ichunutil/themes/green&black.json b/src/overrides/config/ichunutil/themes/green&black.json new file mode 100644 index 0000000..950fb4f --- /dev/null +++ b/src/overrides/config/ichunutil/themes/green&black.json @@ -0,0 +1,186 @@ +{ + "name": "Green & Black", + "author": "SizzlinBacen", + //Done + "workspaceBackground": [ + 204, + 204, + 204 + ], + //Done + "windowBorder": [ + 0, + 175, + 0 + ], + //Done + "windowBackground": [ + 34, + 34, + 34 + ], + //Done + "tabBorder": [ + 0, + 175, + 0 + ], + + //Done + "tabSideInactive": [ + 0, + 175, + 0 + ], + //Done + "elementInputBackgroundInactive": [ + 60, + 60, + 60 + ], + //Done + "elementInputBackgroundHover": [ + 70, + 70, + 70 + ], + //Done + "elementInputBorder": [ + 0, + 175, + 0 + ], + //Done + "elementInputUpDownHover": [ + 0, + 150, + 0 + ], + //Done + "elementInputUpDownClick": [ + 0, + 225, + 0 + ], + //Done + "elementButtonBackgroundInactive": [ + 60, + 60, + 60 + ], + //Done + "elementButtonBackgroundHover": [ + 70, + 70, + 70 + ], + //Done + "elementButtonBorder": [ + 0, + 152, + 0 + ], + //Done + "elementButtonClick": [ + 100, + 100, + 100 + ], + //Done + "elementButtonToggle": [ + 30, + 30, + 30 + ], + //Done + "elementButtonToggleHover": [ + 170, + 170, + 170 + ], + //Done + "elementProjectTabActive": [ + 60, + 60, + 60 + ], + //Done + "elementProjectTabHover": [ + 100, + 100, + 100 + ], + //Done + "elementProjectTabFont": [ + 140, + 140, + 140 + ], + //Done + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + //Done + "elementTreeBorder": [ + 0, + 204, + 0 + ], + //Done + "elementTreeScrollBar": [ + 34, + 34, + 34 + ], + //Done + "elementTreeScrollBarBorder": [ + 0, + 175, + 0 + ], + //Done + "elementTreeItemBorder": [ + 0, + 175, + 0 + ], + //Done + "elementTreeItemBg": [ + 60, + 60, + 60 + ], + //Done + "elementTreeItemBgSelect": [ + 100, + 100, + 100 + ], + //Done + "elementTreeItemBgHover": [ + 120, + 120, + 120 + ], + //Done + "fontChat": [ + 220, + 220, + 220 + ], + //Done + "font": [ + 255, + 255, + 255 + ], + //Done + "fontDim": [ + 150, + 150, + 150 + ], + "workspaceBlock": "minecraft:lime_wool" +} \ No newline at end of file diff --git a/src/overrides/config/ichunutil/themes/lazygray.json b/src/overrides/config/ichunutil/themes/lazygray.json new file mode 100644 index 0000000..53c4cbc --- /dev/null +++ b/src/overrides/config/ichunutil/themes/lazygray.json @@ -0,0 +1,155 @@ +{ + "name": "Lazy Gray", + "author": "iLexiconn", + "workspaceBackground": [ + 255, + 255, + 255 + ], + "windowBorder": [ + 41, + 41, + 41 + ], + "windowBackground": [ + 61, + 61, + 61 + ], + "tabBorder": [ + 255, + 255, + 255 + ], + "tabSideInactive": [ + 100, + 100, + 100 + ], + "elementInputBackgroundInactive": [ + 60, + 60, + 60 + ], + "elementInputBackgroundHover": [ + 70, + 70, + 70 + ], + "elementInputBorder": [ + 140, + 140, + 140 + ], + "elementInputUpDownHover": [ + 170, + 170, + 170 + ], + "elementInputUpDownClick": [ + 100, + 100, + 100 + ], + "elementButtonBackgroundInactive": [ + 60, + 60, + 60 + ], + "elementButtonBackgroundHover": [ + 70, + 70, + 70 + ], + "elementButtonBorder": [ + 140, + 140, + 140 + ], + "elementButtonClick": [ + 100, + 100, + 100 + ], + "elementButtonToggle": [ + 120, + 120, + 120 + ], + "elementButtonToggleHover": [ + 170, + 170, + 170 + ], + "elementProjectTabActive": [ + 60, + 60, + 60 + ], + "elementProjectTabHover": [ + 100, + 100, + 100 + ], + "elementProjectTabFont": [ + 140, + 140, + 140 + ], + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + "elementTreeBorder": [ + 100, + 100, + 100 + ], + "elementTreeScrollBar": [ + 34, + 34, + 34 + ], + "elementTreeScrollBarBorder": [ + 60, + 60, + 60 + ], + "elementTreeItemBorder": [ + 40, + 40, + 40 + ], + "elementTreeItemBg": [ + 60, + 60, + 60 + ], + "elementTreeItemBgSelect": [ + 100, + 100, + 100 + ], + "elementTreeItemBgHover": [ + 100, + 100, + 100 + ], + "fontChat": [ + 220, + 220, + 220 + ], + "font": [ + 255, + 255, + 255 + ], + "fontDim": [ + 150, + 150, + 150 + ], + "workspaceBlock": "minecraft:gray_wool" +} diff --git a/src/overrides/config/ichunutil/themes/monogeneric.json b/src/overrides/config/ichunutil/themes/monogeneric.json new file mode 100644 index 0000000..0a9727d --- /dev/null +++ b/src/overrides/config/ichunutil/themes/monogeneric.json @@ -0,0 +1,185 @@ +{ + "name": "MonoGeneric", + "author": "Arcaratus", + //Done + "workspaceBackground": [ + 200, + 200, + 200 + ], + //Done + "windowBorder": [ + 0, + 0, + 0 + ], + //Done + "windowBackground": [ + 50, + 50, + 50 + ], + //Done + "tabBorder": [ + 10, + 10, + 10 + ], + //Done + "tabSideInactive": [ + 70, + 70, + 70 + ], + //Done + "elementInputBackgroundInactive": [ + 75, + 75, + 75 + ], + //Done + "elementInputBackgroundHover": [ + 100, + 100, + 100 + ], + //Done + "elementInputBorder": [ + 0, + 0, + 0 + ], + //Done + "elementInputUpDownHover": [ + 100, + 100, + 100 + ], + //Done + "elementInputUpDownClick": [ + 140, + 140, + 140 + ], + //Done + "elementButtonBackgroundInactive": [ + 80, + 80, + 80 + ], + //Done + "elementButtonBackgroundHover": [ + 130, + 130, + 130 + ], + //Done + "elementButtonBorder": [ + 180, + 180, + 180 + ], + //Done + "elementButtonClick": [ + 160, + 160, + 160 + ], + //Done + "elementButtonToggle": [ + 190, + 190, + 190 + ], + //Done + "elementButtonToggleHover": [ + 170, + 170, + 170 + ], + //Done + "elementProjectTabActive": [ + 190, + 190, + 190 + ], + //Done + "elementProjectTabHover": [ + 150, + 150, + 150 + ], + //Done + "elementProjectTabFont": [ + 255, + 255, + 255 + ], + //Done + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + //Done + "elementTreeBorder": [ + 20, + 20, + 20 + ], + //Done + "elementTreeScrollBar": [ + 60, + 60, + 60 + ], + //Done + "elementTreeScrollBarBorder": [ + 35, + 35, + 35 + ], + //Done + "elementTreeItemBorder": [ + 45, + 45, + 45 + ], + //Done + "elementTreeItemBg": [ + 90, + 90, + 90 + ], + //Done + "elementTreeItemBgSelect": [ + 120, + 120, + 120 + ], + //Done + "elementTreeItemBgHover": [ + 105, + 105, + 105 + ], + //Done + "fontChat": [ + 255, + 255, + 255 + ], + //Done + "font": [ + 255, + 255, + 255 + ], + //Done + "fontDim": [ + 235, + 235, + 235 + ], + "workspaceBlock": "minecraft:smooth_stone_slab" +} \ No newline at end of file diff --git a/src/overrides/config/ichunutil/themes/nightblack.json b/src/overrides/config/ichunutil/themes/nightblack.json new file mode 100644 index 0000000..b455b75 --- /dev/null +++ b/src/overrides/config/ichunutil/themes/nightblack.json @@ -0,0 +1,155 @@ +{ + "name": "Night Black", + "author": "pfgichun", + "workspaceBackground": [ + 0, + 0, + 0 + ], + "windowBorder": [ + 0, + 0, + 0 + ], + "windowBackground": [ + 0, + 0, + 0 + ], + "tabBorder": [ + 0, + 0, + 0 + ], + "tabSideInactive": [ + 50, + 50, + 50 + ], + "elementInputBackgroundInactive": [ + 0, + 0, + 0 + ], + "elementInputBackgroundHover": [ + 10, + 10, + 10 + ], + "elementInputBorder": [ + 50, + 50, + 50 + ], + "elementInputUpDownHover": [ + 40, + 40, + 40 + ], + "elementInputUpDownClick": [ + 30, + 30, + 30 + ], + "elementButtonBackgroundInactive": [ + 50, + 50, + 50 + ], + "elementButtonBackgroundHover": [ + 40, + 40, + 40 + ], + "elementButtonBorder": [ + 50, + 50, + 50 + ], + "elementButtonClick": [ + 30, + 30, + 30 + ], + "elementButtonToggle": [ + 50, + 50, + 50 + ], + "elementButtonToggleHover": [ + 40, + 40, + 40 + ], + "elementProjectTabActive": [ + 50, + 50, + 50 + ], + "elementProjectTabHover": [ + 40, + 40, + 40 + ], + "elementProjectTabFont": [ + 60, + 60, + 60 + ], + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + "elementTreeBorder": [ + 50, + 50, + 50 + ], + "elementTreeScrollBar": [ + 50, + 50, + 50 + ], + "elementTreeScrollBarBorder": [ + 50, + 50, + 50 + ], + "elementTreeItemBorder": [ + 50, + 50, + 50 + ], + "elementTreeItemBg": [ + 50, + 50, + 50 + ], + "elementTreeItemBgSelect": [ + 30, + 30, + 30 + ], + "elementTreeItemBgHover": [ + 40, + 40, + 40 + ], + "fontChat": [ + 255, + 255, + 255 + ], + "font": [ + 255, + 255, + 255 + ], + "fontDim": [ + 150, + 150, + 150 + ], + "workspaceBlock": "minecraft:black_wool" +} \ No newline at end of file diff --git a/src/overrides/config/ichunutil/themes/red&black.json b/src/overrides/config/ichunutil/themes/red&black.json new file mode 100644 index 0000000..9c128ab --- /dev/null +++ b/src/overrides/config/ichunutil/themes/red&black.json @@ -0,0 +1,187 @@ +{ + "name": "Red & Black", + "author": "SizzlinBacen", + //Done + "workspaceBackground": [ + 204, + 204, + 204 + ], + //Done + "windowBorder": [ + 255, + 100, + 100 + ], + //Done + "windowBackground": [ + 34, + 34, + 34 + ], + //Done + "tabBorder": [ + 255, + 100, + 100 + ], + + //Done + "tabSideInactive": [ + 255, + 100, + 100 + ], + //Done + "elementInputBackgroundInactive": [ + 60, + 60, + 60 + ], + //Done + "elementInputBackgroundHover": [ + 70, + 70, + 70 + ], + //Done + "elementInputBorder": [ + 255, + 100, + 100 + ], + //Done + "elementInputUpDownHover": [ + 255, + 150, + 150 + ], + //Done + "elementInputUpDownClick": [ + 255, + 50, + 50 + ], + //Done + "elementButtonBackgroundInactive": [ + 60, + 60, + 60 + ], + //Done + "elementButtonBackgroundHover": [ + 70, + 70, + 70 + ], + //Done + "elementButtonBorder": [ + 225, + 100, + 100 + ], + //Done + "elementButtonClick": [ + 100, + 100, + 100 + ], + //Done + "elementButtonToggle": [ + 30, + 30, + 30 + ], + //Done + "elementButtonToggleHover": [ + 170, + 170, + 170 + ], + //Done + "elementProjectTabActive": [ + 60, + 60, + 60 + ], + //Done + "elementProjectTabHover": [ + 100, + 100, + 100 + ], + //Done + "elementProjectTabFont": [ + 140, + 140, + 140 + ], + //Done + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + //Done + "elementTreeBorder": [ + 255, + 100, + 100 + ], + //Done + "elementTreeScrollBar": [ + 34, + 34, + 34 + ], + //Done + "elementTreeScrollBarBorder": [ + 255, + 100, + 100 + ], + //Done + "elementTreeItemBorder": [ + 255, + 100, + 100 + ], + //Done + "elementTreeItemBg": [ + 60, + 60, + 60 + ], + //Done + "elementTreeItemBgSelect": [ + 100, + 100, + 100 + ], + //Done + "elementTreeItemBgHover": [ + 120, + 120, + 120 + ], + //Done + "fontChat": [ + 220, + 220, + 220 + ], + //Done + "font": [ + 255, + 255, + 255 + ], + //Done + "fontDim": [ + 150, + 150, + 150 + ], + //Done + "workspaceBlock": "minecraft:red_wool" +} \ No newline at end of file diff --git a/src/overrides/config/ichunutil/themes/skyblue.json b/src/overrides/config/ichunutil/themes/skyblue.json new file mode 100644 index 0000000..5bdeebb --- /dev/null +++ b/src/overrides/config/ichunutil/themes/skyblue.json @@ -0,0 +1,188 @@ +{ + "name": "SkyBlue", + "author": "SizzlinBacen", + //Done + "workspaceBackground": [ + 138, + 205, + 255 + ], + //Done + "windowBorder": [ + 36, + 131, + 255 + ], + //Done + "windowBackground": [ + 88, + 155, + 243 + ], + //Done + "tabBorder": [ + 159, + 230, + 255 + ], + //Done + "tabSideInactive": [ + 159, + 230, + 255 + ], + //Done + "elementInputBackgroundInactive": [ + 166, + 217, + 255 + ], + //Done + "elementInputBackgroundHover": [ + 201, + 232, + 255 + ], + //Done + "elementInputBorder": [ + 0, + 128, + 255 + ], + //Done + "elementInputUpDownHover": [ + 20, + 148, + 225 + ], + //Done + "elementInputUpDownClick": [ + 50, + 178, + 225 + ], + //Done + "elementButtonBackgroundInactive": [ + 166, + 217, + 255 + ], + //Done + "elementButtonBackgroundHover": [ + 186, + 237, + 255 + ], + //Done + "elementButtonBorder": [ + 0, + 128, + 225 + ], + //Done + "elementButtonClick": [ + 20, + 148, + 225 + ], + //Done + "elementButtonToggle": [ + 166, + 217, + 255 + ], + //Done + "elementButtonToggleHover": [ + 0, + 128, + 255 + ], + //Done + "elementProjectTabActive": [ + 92, + 185, + 255 + ], + //Done + "elementProjectTabHover": [ + 62, + 165, + 235 + ], + + //Done + "elementProjectTabFont": [ + 200, + 200, + 200 + ], + //Done + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + //Done + "elementTreeBorder": [ + 36, + 131, + 255 + ], + //Done + "elementTreeScrollBar": [ + 166, + 217, + 255 + ], + //Done + "elementTreeScrollBarBorder": [ + 36, + 131, + 255 + ], + //Done + "elementTreeItemBorder": [ + 36, + 131, + 255 + ], + //Done + "elementTreeItemBg": [ + 166, + 217, + 255 + ], + //Done + "elementTreeItemBgSelect": [ + 146, + 187, + 255 + ], + //Done + "elementTreeItemBgHover": [ + 201, + 232, + 255 + ], + + //Done + "fontChat": [ + 51, + 51, + 225 + ], + + //Done + "font": [ + 255, + 255, + 255 + ], + //Done + "fontDim": [ + 255, + 255, + 255 + ], + "workspaceBlock": "minecraft:ice" +} \ No newline at end of file diff --git a/src/overrides/config/ichunutil/themes/whitelight.json b/src/overrides/config/ichunutil/themes/whitelight.json new file mode 100644 index 0000000..7faa893 --- /dev/null +++ b/src/overrides/config/ichunutil/themes/whitelight.json @@ -0,0 +1,155 @@ +{ + "name": "White Light", + "author": "pfgichun", + "workspaceBackground": [ + 255, + 255, + 255 + ], + "windowBorder": [ + 255, + 255, + 255 + ], + "windowBackground": [ + 255, + 255, + 255 + ], + "tabBorder": [ + 255, + 255, + 255 + ], + "tabSideInactive": [ + 205, + 205, + 205 + ], + "elementInputBackgroundInactive": [ + 255, + 255, + 255 + ], + "elementInputBackgroundHover": [ + 245, + 245, + 245 + ], + "elementInputBorder": [ + 205, + 205, + 205 + ], + "elementInputUpDownHover": [ + 215, + 215, + 215 + ], + "elementInputUpDownClick": [ + 225, + 225, + 225 + ], + "elementButtonBackgroundInactive": [ + 205, + 205, + 205 + ], + "elementButtonBackgroundHover": [ + 215, + 215, + 215 + ], + "elementButtonBorder": [ + 205, + 205, + 205 + ], + "elementButtonClick": [ + 225, + 225, + 225 + ], + "elementButtonToggle": [ + 205, + 205, + 205 + ], + "elementButtonToggleHover": [ + 215, + 215, + 215 + ], + "elementProjectTabActive": [ + 205, + 205, + 205 + ], + "elementProjectTabHover": [ + 215, + 215, + 215 + ], + "elementProjectTabFont": [ + 195, + 195, + 195 + ], + "elementProjectTabFontChanges": [ + 255, + 255, + 255 + ], + "elementTreeBorder": [ + 205, + 205, + 205 + ], + "elementTreeScrollBar": [ + 205, + 205, + 205 + ], + "elementTreeScrollBarBorder": [ + 205, + 205, + 205 + ], + "elementTreeItemBorder": [ + 205, + 205, + 205 + ], + "elementTreeItemBg": [ + 205, + 205, + 205 + ], + "elementTreeItemBgSelect": [ + 225, + 225, + 225 + ], + "elementTreeItemBgHover": [ + 215, + 215, + 215 + ], + "fontChat": [ + 0, + 0, + 0 + ], + "font": [ + 0, + 0, + 0 + ], + "fontDim": [ + 105, + 105, + 105 + ], + "workspaceBlock": "minecraft:white_wool" +} \ No newline at end of file diff --git a/src/overrides/config/improvedbackpacks-common.toml b/src/overrides/config/improvedbackpacks-common.toml new file mode 100644 index 0000000..f3693e3 --- /dev/null +++ b/src/overrides/config/improvedbackpacks-common.toml @@ -0,0 +1,36 @@ +#Number of slots in new crafted backpack +#Range: 1 ~ 63 +defaultBackpackSize = 18 +#Durability of Ender Backpack (-1 to make it unbreakable) +#Range: > -1 +enderBackpackDurability = 128 +#Number of levels required to rename backpack +#Range: > 0 +backpackRenameLevelCost = 3 + +[pockets] + + [pockets.large] + #Max count of this pocket per one backpack + #Range: > 0 + maxCount = 2 + #Number of slots that one pocket adds to backpack + #Range: > 1 + addSlotsCount = 9 + + [pockets.tiny] + #Max count of this pocket per one backpack + #Range: > 0 + maxCount = 3 + #Number of slots that one pocket adds to backpack + #Range: > 1 + addSlotsCount = 3 + + [pockets.medium] + #Max count of this pocket per one backpack + #Range: > 0 + maxCount = 3 + #Number of slots that one pocket adds to backpack + #Range: > 1 + addSlotsCount = 6 + diff --git a/src/overrides/config/infinitylib/config-common.toml b/src/overrides/config/infinitylib/config-common.toml new file mode 100644 index 0000000..93f44cc --- /dev/null +++ b/src/overrides/config/infinitylib/config-common.toml @@ -0,0 +1,5 @@ + +[Debug] + #Set to true if you wish to enable debug mode. + debug = false + diff --git a/src/overrides/config/jade-common.toml b/src/overrides/config/jade-common.toml new file mode 100644 index 0000000..d1248ad --- /dev/null +++ b/src/overrides/config/jade-common.toml @@ -0,0 +1,15 @@ + +[inventory] + #Range: 0 ~ 54 + sneakShowAmount = 54 + #Range: 0 ~ 54 + normalShowAmount = 0 + bypassLockedContainer = false + blacklist = ["refinedstorage:disk_drive"] + #Range: 1 ~ 18 + showItemPreLine = 9 + +[customContainerName] + blacklist = ["thermal"] + onlyShowVanilla = false + diff --git a/src/overrides/config/jei-client.toml b/src/overrides/config/jei-client.toml new file mode 100644 index 0000000..474943b --- /dev/null +++ b/src/overrides/config/jei-client.toml @@ -0,0 +1,55 @@ + +[advanced] + #How items should be handed to you + #Allowed Values: INVENTORY, MOUSE_PICKUP + GiveMode = "MOUSE_PICKUP" + #Debug mode enabled + DebugMode = false + #Display search bar in the center + CenterSearch = false + #Max. recipe gui height + #Range: > 175 + RecipeGuiHeight = 350 + #Set low-memory mode (makes search very slow, but uses less RAM) + LowMemorySlowSearchEnabled = false + #Max number of columns shown + #Range: 4 ~ 100 + MaxColumns = 18 + +[colors] + #Color values to search for + SearchColors = ["White:EEEEEE", "LightBlue:7492cc", "Cyan:00EEEE", "Blue:2222dd", "LapisBlue:25418b", "Teal:008080", "Yellow:cacb58", "GoldenYellow:EED700", "Orange:d97634", "Pink:D1899D", "HotPink:FC0FC0", "Magenta:b24bbb", "Purple:813eb9", "JadedPurple:43324f", "EvilPurple:2e1649", "Lavender:B57EDC", "Indigo:480082", "Sand:dbd3a0", "Tan:bb9b63", "LightBrown:A0522D", "Brown:634b33", "DarkBrown:3a2d13", "LimeGreen:43b239", "SlimeGreen:83cb73", "Green:008000", "DarkGreen:224d22", "GrassGreen:548049", "Red:963430", "BrickRed:b0604b", "NetherBrick:2a1516", "Redstone:ce3e36", "Black:181515", "CharcoalGray:464646", "IronGray:646464", "Gray:808080", "Silver:C0C0C0"] + +[sorting] + #Sorting order for the ingredient list. Valid stages: [MOD_NAME, INGREDIENT_TYPE, ALPHABETICAL, CREATIVE_MENU, TAG, TOOL_TYPE, WEAPON_DAMAGE, ARMOR, MAX_DURABILITY] + IngredientSortStages = ["MOD_NAME", "INGREDIENT_TYPE", "CREATIVE_MENU", "ALPHABETICAL", "WEAPON_DAMAGE", "TOOL_TYPE", "ARMOR", "TAG"] + +[search] + #Search mode for Mod Names (prefix: @) + #Allowed Values: ENABLED, REQUIRE_PREFIX, DISABLED + ModNameSearchMode = "REQUIRE_PREFIX" + #Search mode for Tag Names (prefix: $) + #Allowed Values: ENABLED, REQUIRE_PREFIX, DISABLED + TagSearchMode = "REQUIRE_PREFIX" + #Search mode for Creative Tab Names (prefix: %) + #Allowed Values: ENABLED, REQUIRE_PREFIX, DISABLED + CreativeTabSearchMode = "DISABLED" + #Search mode for Colors (prefix: ^) + #Allowed Values: ENABLED, REQUIRE_PREFIX, DISABLED + ColorSearchMode = "DISABLED" + #Search mode for resources IDs (prefix: &) + #Allowed Values: ENABLED, REQUIRE_PREFIX, DISABLED + ResourceIdSearchMode = "DISABLED" + #Search mode for Tooltips (prefix: #) + #Allowed Values: ENABLED, REQUIRE_PREFIX, DISABLED + TooltipSearchMode = "ENABLED" + #Search advanced tooltips (visible with F3+H) + SearchAdvancedTooltips = false + +[modname] + #Formatting for mod name tooltip + #Use these formatting keys: + #black, dark_blue, dark_green, dark_aqua, dark_red, dark_purple, gold, gray, dark_gray, blue, green, aqua, red, light_purple, yellow, white + #obfuscated, bold, strikethrough, underline, italic + ModNameFormat = "blue italic" + diff --git a/src/overrides/config/jei/blacklist.cfg b/src/overrides/config/jei/blacklist.cfg new file mode 100644 index 0000000..42ccaf5 --- /dev/null +++ b/src/overrides/config/jei/blacklist.cfg @@ -0,0 +1,1236 @@ +itemfilters:always_true +itemfilters:mod +itemfilters:tag +itemfilters:xor +itemfilters:not +itemfilters:and +itemfilters:or +itemfilters:always_false +itemfilters:item_group +itemfilters:id_regex +itemfilters:damage +itemfilters:block +itemfilters:max_count +itemfilters:strong_nbt +itemfilters:weak_nbt +itemfilters:custom +thermal:tin_ingot +thermal:tin_nugget +thermal:tin_dust +thermal:tin_gear +thermal:tin_plate +thermal:tin_coin +thermal:silver_dust +thermal:silver_gear +thermal:silver_plate +thermal:copper_ingot +thermal:copper_nugget +thermal:copper_plate +thermal:copper_coin +thermal:iron_coin +thermal:lead_coin +thermal:nickel_coin +thermal:bronze_coin +thermal:electrum_coin +thermal:bronze_ingot +thermal:bronze_nugget +thermal:bronze_dust +thermal:bronze_gear +thermal:bronze_plate +thermal:invar_coin +thermal:constantan_coin +thermal:signalum_coin +thermal:enderium_coin +thermal:lumium_coin +thermal:press_coin_die +thermal:press_gear_die +thermal:press_packing_2x2_die +thermal:press_packing_3x3_die +thermal:press_unpacking_die +appliedenergistics2:debug_part_placer +appliedenergistics2:facade +libvulpes:dustdilithium +libvulpes:dustiron +libvulpes:dustgold +libvulpes:dustcopper +libvulpes:dusttin +libvulpes:duststeel +libvulpes:dusttitanium +libvulpes:dustaluminum +libvulpes:dustiridium +libvulpes:ingotcopper +libvulpes:ingottin +libvulpes:ingotsteel +libvulpes:ingottitanium +libvulpes:ingotaluminum +libvulpes:ingotiridium +libvulpes:gemdilithium +libvulpes:dustsilicon +libvulpes:ingotsilicon +libvulpes:boulesilicon +libvulpes:nuggetcopper +libvulpes:nuggetsilicon +libvulpes:nuggettin +libvulpes:nuggetsteel +libvulpes:nuggettitanium +libvulpes:nuggetaluminum +libvulpes:nuggetiridium +libvulpes:coilgold +libvulpes:coilcopper +libvulpes:coiltitanium +libvulpes:coilaluminum +libvulpes:coiliridium +libvulpes:plateiron +libvulpes:platealuminum +libvulpes:platetitanium +libvulpes:platesteel +libvulpes:platetin +libvulpes:platecopper +libvulpes:platesilicon +libvulpes:plategold +libvulpes:plateiridium +libvulpes:stickiron +libvulpes:stickcopper +libvulpes:sticksteel +libvulpes:sticktitanium +libvulpes:stickiridium +libvulpes:blockcopper +libvulpes:orecopper +libvulpes:oredilithium +libvulpes:blockiridium +libvulpes:blockaluminum +libvulpes:blocktitanium +libvulpes:blocksteel +libvulpes:blocktin +libvulpes:oretin +libvulpes:orerutile +libvulpes:orealuminum +libvulpes:oreiridium +libvulpes:fansteel +libvulpes:sheetiron +libvulpes:sheetcopper +libvulpes:sheetsteel +libvulpes:sheettitanium +libvulpes:sheetaluminum +libvulpes:gearsteel +libvulpes:geartitanium +libvulpes:smallbattery +libvulpes:adv_structure_machine +libvulpes:fluidihatch +libvulpes:itemihatch +libvulpes:fluidohatch +libvulpes:itemohatch +libvulpes:holo_projector +libvulpes:small2xbattery +libvulpes:structure_machine +libvulpes:creative_power_battery +libvulpes:forge_power_input +libvulpes:forge_power_output +libvulpes:coal_generator +libvulpes:motor +libvulpes:advanced_motor +libvulpes:enhanced_motor +libvulpes:elite_motor +projectred-core:silver_ingot +projectred-core:copper_ingot +projectred-core:tin_ingot +projectred-core:ruby +projectred-core:sapphire +projectred-core:peridot +projectred-core:electrotine_ingot +projectred-core:electrotine_dust +projectred-core:electrotine_iron_comp +xreliquary:potion_essence +xreliquary:magazines/neutral_magazine +xreliquary:magazines/exorcism_magazine +xreliquary:magazines/blaze_magazine +xreliquary:magazines/ender_magazine +xreliquary:magazines/concussive_magazine +xreliquary:magazines/buster_magazine +xreliquary:magazines/seeker_magazine +xreliquary:magazines/sand_magazine +xreliquary:magazines/storm_magazine +xreliquary:bullets/empty_bullet +xreliquary:bullets/exorcism_bullet +xreliquary:bullets/blaze_bullet +xreliquary:bullets/ender_bullet +xreliquary:bullets/concussive_bullet +xreliquary:bullets/buster_bullet +xreliquary:bullets/seeker_bullet +xreliquary:bullets/sand_bullet +xreliquary:bullets/storm_bullet +xreliquary:bullets/neutral_bullet:{effects:[{duration:300,name:"minecraft:haste",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:150,name:"minecraft:haste",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:150,name:"minecraft:fire_resistance",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:150,name:"minecraft:blindness",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:1500,name:"minecraft:absorption",potency:2}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:450,name:"minecraft:absorption",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:300,name:"minecraft:absorption",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:450,name:"minecraft:health_boost",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:1500,name:"minecraft:health_boost",potency:2}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:150,name:"minecraft:hunger",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:1,name:"minecraft:instant_damage",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:1,name:"minecraft:instant_damage",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:1,name:"minecraft:instant_damage",potency:2}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:1,name:"minecraft:instant_health",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:1,name:"minecraft:instant_health",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:100,name:"minecraft:invisibility",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:350,name:"minecraft:jump_boost",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:1350,name:"minecraft:jump_boost",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:100,name:"minecraft:mining_fatigue",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:500,name:"minecraft:mining_fatigue",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:600,name:"minecraft:mining_fatigue",potency:2}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:100,name:"minecraft:nausea",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:350,name:"minecraft:night_vision",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:150,name:"minecraft:poison",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:50,name:"minecraft:regeneration",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:150,name:"minecraft:regeneration",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:350,name:"minecraft:resistance",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:450,name:"minecraft:resistance",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:1,name:"minecraft:saturation",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:1,name:"minecraft:saturation",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:100,name:"minecraft:slowness",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:200,name:"minecraft:slowness",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:350,name:"minecraft:speed",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:450,name:"minecraft:speed",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:600,name:"minecraft:speed",potency:2}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:150,name:"minecraft:strength",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:300,name:"minecraft:strength",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:150,name:"minecraft:water_breathing",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:100,name:"minecraft:weakness",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:200,name:"minecraft:weakness",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:50,name:"minecraft:wither",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:100,name:"minecraft:wither",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:100,name:"xreliquary:cure",potency:0}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:100,name:"xreliquary:cure",potency:1}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:100,name:"xreliquary:cure",potency:2}]} +xreliquary:bullets/neutral_bullet:{effects:[{duration:100,name:"xreliquary:cure",potency:3}]} +xreliquary:bullets/neutral_bullet +waterstrainer:string_mesh +waterstrainer:iron_mesh +waterstrainer:obsidian_mesh +waterstrainer:strainer_survivalist_solid +waterstrainer:strainer_fisherman_solid +ftbquests:missing_item +ftbquests:custom_icon +ftbquests:barrier +ftbquests:stage_barrier +ftbquests:detector +thermal:gold_plate +thermal:iron_plate +advancedrocketry:monitoringstation +advancedrocketry:satellitebuilder +advancedrocketry:moonturf_dark +advancedrocketry:hotturf +advancedrocketry:precisionassemblingmachine +advancedrocketry:observatory +advancedrocketry:aliensapling +advancedrocketry:alienleaves +advancedrocketry:alienwood +advancedrocketry:cuttingmachine +advancedrocketry:crystallizer +advancedrocketry:blastbrick +advancedrocketry:blackholegenerator +advancedrocketry:concrete +advancedrocketry:planetselector +advancedrocketry:satellitecontrolcenter +advancedrocketry:planetanalyser +advancedrocketry:arcfurnace +advancedrocketry:electrolyser +advancedrocketry:stationbuilder +advancedrocketry:platepress +advancedrocketry:rollingmachine +advancedrocketry:lathe +advancedrocketry:sawbladeassbly +advancedrocketry:precisionlaseretcher +advancedrocketry:chemicalreactor +advancedrocketry:oxygenscrubber +advancedrocketry:landingpad +advancedrocketry:warpcore +advancedrocketry:stationmonitor +advancedrocketry:crystal +advancedrocketry:electricmushroom +advancedrocketry:charcoallog +advancedrocketry:vitrifiedsand +advancedrocketry:geode +advancedrocketry:unlittorch +advancedrocketry:atmospheredetector +advancedrocketry:crystal_red +advancedrocketry:crystal_orange +advancedrocketry:crystal_yellow +advancedrocketry:crystal_green +advancedrocketry:crystal_cyan +advancedrocketry:crystal_blue +advancedrocketry:crystal_purple +advancedrocketry:suitworkstation +advancedrocketry:solarpanel +advancedrocketry:lightsource +advancedrocketry:microwavereciever +advancedrocketry:gravitycontroller +advancedrocketry:drill +advancedrocketry:orientationcontroller +advancedrocketry:databus +advancedrocketry:satbay +advancedrocketry:funloader +advancedrocketry:floader +advancedrocketry:rloader +advancedrocketry:runloader +advancedrocketry:compaccesshatch +advancedrocketry:solargenerator +advancedrocketry:circlelight +advancedrocketry:intake +advancedrocketry:liquidtank +advancedrocketry:deployablerocketbuilder +advancedrocketry:terraformer +advancedrocketry:biomescanner +advancedrocketry:stationmarker +advancedrocketry:gravitymachine +advancedrocketry:altitudecontroller +advancedrocketry:pipesealer +advancedrocketry:railgun +advancedrocketry:spaceelevatorcontroller +advancedrocketry:planetholoselector +advancedrocketry:beacon +advancedrocketry:blocklens +advancedrocketry:planks +advancedrocketry:forcefield +advancedrocketry:thermitetorch +advancedrocketry:forcefieldprojector +advancedrocketry:wirelesstransciever +advancedrocketry:beacon_finder +advancedrocketry:thermite +advancedrocketry:hovercraft +advancedrocketry:biome_changer +advancedrocketry:sensor_biomechanger +advancedrocketry:bipropellantrocketmotor +advancedrocketry:advrocketmotor +advancedrocketry:bipropellantfueltank +advancedrocketry:vacuumlaser +advancedrocketry:blockpump +advancedrocketry:centrifuge +advancedrocketry:basalt +advancedrocketry:landingfloat +advancedrocketry:spacelaser +advancedrocketry:bucketrocketfuel +advancedrocketry:bucketnitrogen +advancedrocketry:bucketenrichedlava +fluid:advancedrocketry:enriched_lava +fluid:advancedrocketry:nitrogen +fluid:advancedrocketry:rocket_fuel +advancedrocketry:dusttitaniumaluminide +advancedrocketry:dusttitaniumiridium +advancedrocketry:ingottitaniumaluminide +advancedrocketry:sticktitaniumiridium +advancedrocketry:sticktitaniumaluminide +advancedrocketry:platetitaniumiridium +advancedrocketry:platetitaniumaluminide +advancedrocketry:nuggettitaniumiridium +advancedrocketry:nuggettitaniumaluminide +advancedrocketry:ingottitaniumiridium +advancedrocketry:blocktitaniumaluminide +advancedrocketry:blocktitaniumiridium +advancedrocketry:sheettitaniumaluminide +advancedrocketry:sheettitaniumiridium +advancedrocketry:geartitaniumaluminide +advancedrocketry:geartitaniumiridium +advancedrocketry:qcrucible +advancedrocketry:ore_scanner +advancedrocketry:satellite_power_source_basic +advancedrocketry:satellite_power_source_adv +advancedrocketry:sensor_optical +advancedrocketry:sensor_composition +advancedrocketry:sensor_mass +advancedrocketry:sensor_microwave +advancedrocketry:circuit_ic_control +advancedrocketry:circuit_ic_tracking +advancedrocketry:circuit_ic_adv +advancedrocketry:circuit_ic_basic +advancedrocketry:advcircuitplate +advancedrocketry:basiccircuitplate +advancedrocketry:sensor_oremapper +advancedrocketry:circuit_ic_item_io +advancedrocketry:circuit_ic_fluid_io +advancedrocketry:wafer +advancedrocketry:dataunit +advancedrocketry:satellite +advancedrocketry:satellite_id_chip +advancedrocketry:spacestationcontainer +advancedrocketry:chip_station +advancedrocketry:sawbladeiron +advancedrocketry:carbon_brick +advancedrocketry:item_ui +advancedrocketry:airlock_door +advancedrocketry:carbon_scrubber_cartridge +advancedrocketry:sealdetector +advancedrocketry:jackhammer +advancedrocketry:chip_asteroid +advancedrocketry:chip_elevator +advancedrocketry:upgrade_boots +advancedrocketry:basiclens +advancedrocketry:upgrade_flight_speed +advancedrocketry:jetpack +advancedrocketry:upgrade_foggles +advancedrocketry:pressure_tank_low +advancedrocketry:upgrade_hover +advancedrocketry:pressure_tank_med +advancedrocketry:upgrade_legs +advancedrocketry:pressure_tank_high +advancedrocketry:atm_analyser +advancedrocketry:pressure_tank_superhigh +advancedrocketry:basic_laser_gun +thermal:silver_ore +thermal:tin_ore +thermal:copper_ore +ftblibrary:fluid_container +chisel:concrete/white/solid_bricks +chisel:concrete/white/small_bricks +chisel:concrete/white/soft_bricks +chisel:concrete/white/cracked +chisel:concrete/white/triple_bricks +chisel:concrete/white/encased_bricks +chisel:concrete/white/chaotic_bricks +chisel:concrete/white/array +chisel:concrete/white/tiles_medium +chisel:concrete/white/tiles_large +chisel:concrete/white/tiles_small +chisel:concrete/white/cracked_bricks +chisel:concrete/white/chaotic_medium +chisel:concrete/white/chaotic_small +chisel:concrete/white/braid +chisel:concrete/white/french_1 +chisel:concrete/white/dent +chisel:concrete/white/french_2 +chisel:concrete/white/jellybean +chisel:concrete/orange/ornate +chisel:concrete/white/layers +chisel:concrete/white/circular +chisel:concrete/orange/cracked +chisel:concrete/orange/chaotic_bricks +chisel:concrete/orange/braid +chisel:concrete/orange/weaver +chisel:concrete/magenta/small_bricks +chisel:concrete/magenta/tiles_medium +chisel:concrete/magenta/french_1 +chisel:concrete/magenta/road +chisel:concrete/magenta/twisted +chisel:concrete/light_blue/cracked_bricks +chisel:concrete/light_blue/tiles_small +chisel:concrete/light_blue/chaotic_medium +chisel:concrete/light_blue/triple_bricks +chisel:concrete/magenta/prism +chisel:concrete/magenta/slanted +chisel:concrete/magenta/french_2 +chisel:concrete/magenta/tiles_large +chisel:concrete/magenta/soft_bricks +chisel:concrete/orange/pillar +chisel:concrete/orange/panel +chisel:concrete/orange/dent +chisel:concrete/orange/array +chisel:concrete/orange/solid_bricks +chisel:concrete/white/circularct +chisel:concrete/white/mosaic +chisel:concrete/white/ornate +chisel:concrete/white/weaver +chisel:concrete/orange/small_bricks +chisel:concrete/orange/tiles_medium +chisel:concrete/orange/french_1 +chisel:concrete/orange/twisted +chisel:concrete/orange/road +chisel:concrete/magenta/cracked_bricks +chisel:concrete/magenta/tiles_small +chisel:concrete/magenta/jellybean +chisel:concrete/magenta/zag +chisel:concrete/magenta/cuts +chisel:concrete/light_blue/encased_bricks +chisel:concrete/light_blue/chaotic_small +chisel:concrete/light_blue/braid +chisel:concrete/light_blue/chaotic_bricks +chisel:concrete/light_blue/cracked +chisel:concrete/magenta/circular +chisel:concrete/magenta/layers +chisel:concrete/magenta/chaotic_medium +chisel:concrete/orange/prism +chisel:concrete/magenta/triple_bricks +chisel:concrete/orange/slanted +chisel:concrete/orange/french_2 +chisel:concrete/orange/tiles_large +chisel:concrete/orange/soft_bricks +chisel:concrete/white/pillar +chisel:concrete/white/panel +chisel:concrete/white/road +chisel:concrete/white/twisted +chisel:concrete/orange/cracked_bricks +chisel:concrete/orange/tiles_small +chisel:concrete/orange/jellybean +chisel:concrete/orange/zag +chisel:concrete/orange/cuts +chisel:concrete/magenta/encased_bricks +chisel:concrete/magenta/chaotic_small +chisel:concrete/magenta/mosaic +chisel:concrete/magenta/circularct +chisel:concrete/light_blue/solid_bricks +chisel:concrete/light_blue/array +chisel:concrete/light_blue/dent +chisel:concrete/light_blue/french_1 +chisel:concrete/light_blue/tiles_medium +chisel:concrete/light_blue/small_bricks +chisel:concrete/magenta/weaver +chisel:concrete/magenta/ornate +chisel:concrete/magenta/braid +chisel:concrete/magenta/chaotic_bricks +chisel:concrete/magenta/cracked +chisel:concrete/orange/circular +chisel:concrete/orange/chaotic_medium +chisel:concrete/orange/layers +chisel:concrete/orange/triple_bricks +chisel:concrete/white/prism +chisel:concrete/white/slanted +chisel:concrete/white/zag +chisel:concrete/white/cuts +chisel:concrete/orange/encased_bricks +chisel:concrete/orange/chaotic_small +chisel:concrete/orange/mosaic +chisel:concrete/magenta/solid_bricks +chisel:concrete/orange/circularct +chisel:concrete/magenta/array +chisel:concrete/magenta/dent +chisel:concrete/magenta/panel +chisel:concrete/magenta/pillar +chisel:concrete/light_blue/soft_bricks +chisel:concrete/light_blue/tiles_large +chisel:concrete/light_blue/french_2 +chisel:concrete/black/cuts +chisel:concrete/black/prism +chisel:concrete/black/twisted +chisel:concrete/black/pillar +chisel:concrete/black/weaver +chisel:concrete/black/ornate +chisel:concrete/black/panel +chisel:concrete/black/road +chisel:concrete/black/slanted +chisel:concrete/black/zag +chisel:concrete/black/circular +chisel:concrete/black/circularct +chisel:concrete/black/mosaic +chisel:concrete/black/layers +chisel:concrete/black/jellybean +chisel:concrete/black/french_2 +chisel:concrete/black/french_1 +chisel:concrete/black/dent +chisel:concrete/black/braid +chisel:concrete/black/chaotic_bricks +chisel:concrete/black/array +chisel:concrete/black/tiles_medium +chisel:concrete/black/tiles_large +chisel:concrete/black/tiles_small +chisel:concrete/black/chaotic_medium +chisel:concrete/black/chaotic_small +chisel:concrete/black/encased_bricks +chisel:concrete/black/soft_bricks +chisel:concrete/black/cracked_bricks +chisel:concrete/black/triple_bricks +chisel:concrete/black/small_bricks +chisel:concrete/black/solid_bricks +chisel:concrete/black/cracked +chisel:concrete/red/circular +chisel:concrete/red/circularct +chisel:concrete/red/weaver +chisel:concrete/red/pillar +chisel:concrete/red/twisted +chisel:concrete/red/prism +chisel:concrete/red/cuts +chisel:concrete/red/zag +chisel:concrete/red/slanted +chisel:concrete/red/road +chisel:concrete/red/panel +chisel:concrete/red/ornate +chisel:concrete/red/mosaic +chisel:concrete/red/layers +chisel:concrete/red/chaotic_medium +chisel:concrete/red/chaotic_small +chisel:concrete/red/braid +chisel:concrete/red/dent +chisel:concrete/red/french_2 +chisel:concrete/red/french_1 +chisel:concrete/red/jellybean +chisel:concrete/red/tiles_small +chisel:concrete/red/tiles_medium +chisel:concrete/red/tiles_large +chisel:concrete/red/array +chisel:concrete/red/chaotic_bricks +chisel:concrete/red/encased_bricks +chisel:concrete/red/triple_bricks +chisel:concrete/green/prism +chisel:concrete/green/slanted +chisel:concrete/green/french_2 +chisel:concrete/green/tiles_large +chisel:concrete/green/soft_bricks +chisel:concrete/brown/pillar +chisel:concrete/brown/panel +chisel:concrete/brown/dent +chisel:concrete/brown/french_1 +chisel:concrete/brown/road +chisel:concrete/brown/twisted +chisel:concrete/green/cracked_bricks +chisel:concrete/green/tiles_small +chisel:concrete/green/jellybean +chisel:concrete/green/zag +chisel:concrete/green/cuts +chisel:concrete/red/cracked +chisel:concrete/green/circular +chisel:concrete/green/chaotic_medium +chisel:concrete/green/triple_bricks +chisel:concrete/brown/prism +chisel:concrete/brown/slanted +chisel:concrete/brown/french_2 +chisel:concrete/brown/jellybean +chisel:concrete/brown/cuts +chisel:concrete/green/chaotic_small +chisel:concrete/green/circularct +chisel:concrete/red/solid_bricks +chisel:concrete/red/small_bricks +chisel:concrete/green/mosaic +chisel:concrete/green/ornate +chisel:concrete/green/weaver +chisel:concrete/green/layers +chisel:concrete/green/braid +chisel:concrete/green/chaotic_bricks +chisel:concrete/green/encased_bricks +chisel:concrete/green/cracked +chisel:concrete/brown/circular +chisel:concrete/brown/zag +chisel:concrete/brown/layers +chisel:concrete/brown/mosaic +chisel:concrete/brown/circularct +chisel:concrete/green/solid_bricks +chisel:concrete/green/array +chisel:concrete/green/dent +chisel:concrete/green/panel +chisel:concrete/green/pillar +chisel:concrete/red/soft_bricks +chisel:concrete/red/cracked_bricks +chisel:concrete/green/twisted +chisel:concrete/green/road +chisel:concrete/green/french_1 +chisel:concrete/green/small_bricks +chisel:concrete/brown/weaver +chisel:concrete/green/tiles_medium +chisel:concrete/brown/ornate +chisel:concrete/light_blue/jellybean +chisel:concrete/light_blue/layers +chisel:concrete/light_blue/mosaic +chisel:concrete/light_blue/ornate +chisel:concrete/light_blue/panel +chisel:concrete/light_blue/road +chisel:concrete/light_blue/slanted +chisel:concrete/light_blue/prism +chisel:concrete/light_blue/twisted +chisel:concrete/light_blue/pillar +chisel:concrete/light_blue/weaver +chisel:concrete/light_blue/circularct +chisel:concrete/light_blue/zag +chisel:concrete/light_blue/circular +chisel:concrete/light_blue/cuts +chisel:concrete/yellow/cracked +chisel:concrete/yellow/solid_bricks +chisel:concrete/yellow/small_bricks +chisel:concrete/yellow/soft_bricks +chisel:concrete/yellow/cracked_bricks +chisel:concrete/yellow/triple_bricks +chisel:concrete/yellow/chaotic_medium +chisel:concrete/yellow/tiles_small +chisel:concrete/yellow/tiles_large +chisel:concrete/yellow/tiles_medium +chisel:concrete/yellow/array +chisel:concrete/yellow/chaotic_bricks +chisel:concrete/yellow/encased_bricks +chisel:concrete/yellow/chaotic_small +chisel:concrete/yellow/braid +chisel:concrete/yellow/dent +chisel:concrete/yellow/french_1 +chisel:concrete/yellow/french_2 +chisel:concrete/yellow/layers +chisel:concrete/yellow/jellybean +chisel:concrete/yellow/circular +chisel:concrete/yellow/zag +chisel:concrete/yellow/road +chisel:concrete/yellow/ornate +chisel:concrete/yellow/mosaic +chisel:concrete/yellow/circularct +chisel:concrete/yellow/panel +chisel:concrete/yellow/pillar +chisel:concrete/yellow/weaver +chisel:concrete/yellow/twisted +chisel:concrete/yellow/prism +chisel:concrete/yellow/slanted +chisel:concrete/yellow/cuts +chisel:concrete/lime/cracked +chisel:concrete/lime/chaotic_bricks +chisel:concrete/lime/encased_bricks +chisel:concrete/lime/triple_bricks +chisel:concrete/lime/cracked_bricks +chisel:concrete/lime/small_bricks +chisel:concrete/lime/solid_bricks +chisel:concrete/lime/soft_bricks +chisel:concrete/lime/array +chisel:concrete/lime/dent +chisel:concrete/lime/panel +chisel:concrete/lime/pillar +chisel:concrete/pink/soft_bricks +chisel:concrete/pink/tiles_large +chisel:concrete/pink/tiles_small +chisel:concrete/pink/cracked_bricks +chisel:concrete/lime/twisted +chisel:concrete/lime/road +chisel:concrete/lime/french_1 +chisel:concrete/lime/tiles_medium +chisel:concrete/lime/tiles_large +chisel:concrete/lime/french_2 +chisel:concrete/lime/slanted +chisel:concrete/lime/prism +chisel:concrete/pink/triple_bricks +chisel:concrete/pink/chaotic_medium +chisel:concrete/pink/encased_bricks +chisel:concrete/pink/chaotic_small +chisel:concrete/lime/cuts +chisel:concrete/lime/jellybean +chisel:concrete/lime/zag +chisel:concrete/lime/tiles_small +chisel:concrete/lime/chaotic_medium +chisel:concrete/lime/layers +chisel:concrete/lime/circular +chisel:concrete/pink/cracked +chisel:concrete/pink/braid +chisel:concrete/pink/chaotic_bricks +chisel:concrete/pink/dent +chisel:concrete/pink/solid_bricks +chisel:concrete/lime/circularct +chisel:concrete/lime/mosaic +chisel:concrete/lime/braid +chisel:concrete/lime/ornate +chisel:concrete/lime/weaver +chisel:concrete/pink/tiles_medium +chisel:concrete/pink/french_1 +chisel:concrete/pink/array +chisel:concrete/pink/small_bricks +chisel:concrete/lime/chaotic_small +chisel:concrete/pink/french_2 +chisel:concrete/pink/slanted +chisel:concrete/pink/prism +chisel:concrete/gray/chaotic_medium +chisel:concrete/gray/layers +chisel:concrete/gray/circular +chisel:concrete/light_gray/chaotic_bricks +chisel:concrete/light_gray/ornate +chisel:concrete/light_gray/weaver +chisel:concrete/cyan/small_bricks +chisel:concrete/cyan/tiles_medium +chisel:concrete/cyan/tiles_large +chisel:concrete/light_gray/pillar +chisel:concrete/light_gray/panel +chisel:concrete/light_gray/dent +chisel:concrete/light_gray/solid_bricks +chisel:concrete/gray/circularct +chisel:concrete/gray/chaotic_small +chisel:concrete/gray/encased_bricks +chisel:concrete/pink/zag +chisel:concrete/pink/layers +chisel:concrete/pink/circular +chisel:concrete/gray/chaotic_bricks +chisel:concrete/gray/ornate +chisel:concrete/light_gray/small_bricks +chisel:concrete/light_gray/tiles_medium +chisel:concrete/light_gray/road +chisel:concrete/cyan/tiles_small +chisel:concrete/cyan/triple_bricks +chisel:concrete/light_gray/prism +chisel:concrete/light_gray/french_2 +chisel:concrete/light_gray/tiles_large +chisel:concrete/gray/pillar +chisel:concrete/gray/panel +chisel:concrete/gray/array +chisel:concrete/gray/solid_bricks +chisel:concrete/pink/circularct +chisel:concrete/pink/mosaic +chisel:concrete/pink/weaver +chisel:concrete/gray/tiles_medium +chisel:concrete/gray/road +chisel:concrete/light_gray/cracked_bricks +chisel:concrete/light_gray/tiles_small +chisel:concrete/light_gray/zag +chisel:concrete/cyan/encased_bricks +chisel:concrete/cyan/chaotic_bricks +chisel:concrete/cyan/cracked +chisel:concrete/light_gray/layers +chisel:concrete/light_gray/chaotic_medium +chisel:concrete/gray/prism +chisel:concrete/gray/french_2 +chisel:concrete/gray/tiles_large +chisel:concrete/gray/soft_bricks +chisel:concrete/pink/pillar +chisel:concrete/pink/panel +chisel:concrete/pink/road +chisel:concrete/pink/twisted +chisel:concrete/gray/tiles_small +chisel:concrete/gray/zag +chisel:concrete/light_gray/encased_bricks +chisel:concrete/light_gray/mosaic +chisel:concrete/light_gray/circularct +chisel:concrete/cyan/solid_bricks +chisel:concrete/cyan/array +chisel:concrete/cyan/dent +chisel:concrete/cyan/braid +chisel:concrete/cyan/chaotic_medium +chisel:concrete/cyan/chaotic_small +chisel:concrete/cyan/soft_bricks +chisel:concrete/cyan/cracked_bricks +chisel:concrete/light_gray/twisted +chisel:concrete/light_gray/cuts +chisel:concrete/light_gray/slanted +chisel:concrete/pink/jellybean +chisel:concrete/pink/ornate +chisel:concrete/gray/cracked_bricks +chisel:concrete/gray/small_bricks +chisel:concrete/gray/cracked +chisel:concrete/gray/triple_bricks +chisel:concrete/gray/braid +chisel:concrete/gray/dent +chisel:concrete/gray/french_1 +chisel:concrete/gray/jellybean +chisel:concrete/gray/slanted +chisel:concrete/gray/cuts +chisel:concrete/gray/twisted +chisel:concrete/gray/weaver +chisel:concrete/gray/mosaic +chisel:concrete/light_gray/soft_bricks +chisel:concrete/pink/cuts +chisel:concrete/light_gray/cracked +chisel:concrete/light_gray/array +chisel:concrete/light_gray/french_1 +chisel:concrete/light_gray/braid +chisel:concrete/light_gray/jellybean +chisel:concrete/light_gray/circular +chisel:concrete/light_gray/triple_bricks +chisel:concrete/light_gray/chaotic_small +chisel:concrete/blue/encased_bricks +chisel:concrete/cyan/road +chisel:concrete/cyan/french_1 +chisel:concrete/purple/cracked_bricks +chisel:concrete/purple/jellybean +chisel:concrete/purple/zag +chisel:concrete/purple/cuts +chisel:concrete/blue/mosaic +chisel:concrete/blue/circularct +chisel:concrete/brown/solid_bricks +chisel:concrete/brown/array +chisel:concrete/brown/tiles_medium +chisel:concrete/brown/small_bricks +chisel:concrete/blue/ornate +chisel:concrete/blue/braid +chisel:concrete/purple/layers +chisel:concrete/cyan/twisted +chisel:concrete/cyan/french_2 +chisel:concrete/cyan/prism +chisel:concrete/purple/triple_bricks +chisel:concrete/purple/chaotic_medium +chisel:concrete/cyan/zag +chisel:concrete/cyan/cuts +chisel:concrete/purple/encased_bricks +chisel:concrete/purple/chaotic_small +chisel:concrete/purple/circularct +chisel:concrete/blue/array +chisel:concrete/blue/dent +chisel:concrete/blue/panel +chisel:concrete/blue/pillar +chisel:concrete/blue/twisted +chisel:concrete/blue/french_1 +chisel:concrete/blue/small_bricks +chisel:concrete/purple/ornate +chisel:concrete/purple/chaotic_bricks +chisel:concrete/purple/cracked +chisel:concrete/cyan/mosaic +chisel:concrete/cyan/circularct +chisel:concrete/purple/solid_bricks +chisel:concrete/purple/array +chisel:concrete/purple/panel +chisel:concrete/purple/pillar +chisel:concrete/blue/soft_bricks +chisel:concrete/blue/tiles_large +chisel:concrete/blue/french_2 +chisel:concrete/blue/slanted +chisel:concrete/blue/prism +chisel:concrete/brown/chaotic_small +chisel:concrete/brown/encased_bricks +chisel:concrete/blue/zag +chisel:concrete/blue/tiles_small +chisel:concrete/purple/french_1 +chisel:concrete/purple/tiles_medium +chisel:concrete/cyan/weaver +chisel:concrete/cyan/ornate +chisel:concrete/cyan/panel +chisel:concrete/cyan/pillar +chisel:concrete/purple/soft_bricks +chisel:concrete/purple/french_2 +chisel:concrete/blue/cracked_bricks +chisel:concrete/blue/circular +chisel:concrete/brown/cracked +chisel:concrete/brown/chaotic_bricks +chisel:concrete/brown/braid +chisel:concrete/blue/chaotic_medium +chisel:concrete/purple/road +chisel:concrete/purple/prism +chisel:concrete/blue/triple_bricks +chisel:concrete/purple/slanted +chisel:concrete/cyan/layers +chisel:concrete/cyan/jellybean +chisel:concrete/cyan/circular +chisel:concrete/cyan/slanted +chisel:concrete/purple/braid +chisel:concrete/purple/dent +chisel:concrete/purple/small_bricks +chisel:concrete/purple/tiles_large +chisel:concrete/purple/tiles_small +chisel:concrete/purple/mosaic +chisel:concrete/purple/circular +chisel:concrete/blue/cracked +chisel:concrete/blue/chaotic_bricks +chisel:concrete/blue/solid_bricks +chisel:concrete/purple/weaver +chisel:concrete/blue/tiles_medium +chisel:concrete/purple/twisted +chisel:concrete/blue/jellybean +chisel:concrete/blue/layers +chisel:concrete/blue/cuts +chisel:concrete/blue/chaotic_small +chisel:concrete/blue/weaver +chisel:concrete/blue/road +chisel:concrete/brown/soft_bricks +chisel:concrete/brown/tiles_large +chisel:concrete/brown/tiles_small +chisel:concrete/brown/chaotic_medium +chisel:concrete/brown/cracked_bricks +chisel:concrete/brown/triple_bricks +forbidden_arcanus:pixie_spawn_egg +forbidden_arcanus:arcane_dark_stone +projectred-core:conductive_plate +projectred-core:wired_plate +projectred-core:bundled_plate +projectred-core:anode +projectred-core:cathode +projectred-core:pointer +projectred-core:silicon_chip +projectred-core:energized_silicon_chip +projectred-core:red_iron_comp +kubejs:failed_alchemy_1 +kubejs:failed_alchemy_2 +kubejs:failed_alchemy_3 +kubejs:failed_alchemy_4 +kubejs:failed_alchemy_5 +kubejs:failed_alchemy_12 +kubejs:failed_alchemy_11 +kubejs:failed_alchemy_9 +kubejs:failed_alchemy_7 +kubejs:failed_alchemy_6 +kubejs:failed_alchemy_13 +kubejs:failed_alchemy_14 +kubejs:failed_alchemy_8 +kubejs:failed_alchemy_10 +appliedenergistics2:inscriber +appliedenergistics2:vibration_chamber +appliedenergistics2:grindstone +appliedenergistics2:crank +appliedenergistics2:white_smart_cable +appliedenergistics2:orange_smart_cable +appliedenergistics2:magenta_smart_cable +appliedenergistics2:light_blue_smart_cable +appliedenergistics2:yellow_smart_cable +appliedenergistics2:lime_smart_cable +appliedenergistics2:pink_smart_cable +appliedenergistics2:green_smart_cable +appliedenergistics2:brown_smart_cable +appliedenergistics2:blue_smart_cable +appliedenergistics2:purple_smart_cable +appliedenergistics2:cyan_smart_cable +appliedenergistics2:light_gray_smart_cable +appliedenergistics2:gray_smart_cable +appliedenergistics2:red_smart_cable +appliedenergistics2:black_smart_cable +appliedenergistics2:white_covered_cable +appliedenergistics2:orange_covered_cable +appliedenergistics2:magenta_covered_cable +appliedenergistics2:light_blue_covered_cable +appliedenergistics2:purple_covered_cable +appliedenergistics2:light_gray_covered_cable +appliedenergistics2:gray_covered_cable +appliedenergistics2:cyan_covered_cable +appliedenergistics2:pink_covered_cable +appliedenergistics2:lime_covered_cable +appliedenergistics2:yellow_covered_cable +appliedenergistics2:blue_covered_cable +appliedenergistics2:brown_covered_cable +appliedenergistics2:green_covered_cable +appliedenergistics2:red_covered_cable +appliedenergistics2:black_covered_cable +appliedenergistics2:white_glass_cable +appliedenergistics2:gray_glass_cable +appliedenergistics2:pink_glass_cable +appliedenergistics2:lime_glass_cable +appliedenergistics2:yellow_glass_cable +appliedenergistics2:light_blue_glass_cable +appliedenergistics2:magenta_glass_cable +appliedenergistics2:orange_glass_cable +appliedenergistics2:cyan_glass_cable +appliedenergistics2:light_gray_glass_cable +appliedenergistics2:black_glass_cable +appliedenergistics2:purple_glass_cable +appliedenergistics2:blue_glass_cable +appliedenergistics2:brown_glass_cable +appliedenergistics2:green_glass_cable +appliedenergistics2:red_glass_cable +appliedenergistics2:white_covered_dense_cable +appliedenergistics2:gray_covered_dense_cable +appliedenergistics2:pink_covered_dense_cable +appliedenergistics2:lime_covered_dense_cable +appliedenergistics2:brown_covered_dense_cable +appliedenergistics2:green_covered_dense_cable +appliedenergistics2:red_covered_dense_cable +appliedenergistics2:black_covered_dense_cable +appliedenergistics2:light_gray_covered_dense_cable +appliedenergistics2:orange_covered_dense_cable +appliedenergistics2:magenta_covered_dense_cable +appliedenergistics2:cyan_covered_dense_cable +appliedenergistics2:purple_covered_dense_cable +appliedenergistics2:light_blue_covered_dense_cable +appliedenergistics2:yellow_covered_dense_cable +appliedenergistics2:blue_covered_dense_cable +appliedenergistics2:orange_smart_dense_cable +appliedenergistics2:white_smart_dense_cable +appliedenergistics2:gray_smart_dense_cable +appliedenergistics2:light_gray_smart_dense_cable +appliedenergistics2:pink_smart_dense_cable +appliedenergistics2:lime_smart_dense_cable +appliedenergistics2:yellow_smart_dense_cable +appliedenergistics2:light_blue_smart_dense_cable +appliedenergistics2:cyan_smart_dense_cable +appliedenergistics2:magenta_smart_dense_cable +appliedenergistics2:purple_smart_dense_cable +appliedenergistics2:brown_smart_dense_cable +appliedenergistics2:blue_smart_dense_cable +appliedenergistics2:green_smart_dense_cable +appliedenergistics2:red_smart_dense_cable +appliedenergistics2:black_smart_dense_cable +thermal:ender_pearl_dust +thermal:quartz_dust +appliedenergistics2:iron_dust +appliedenergistics2:gold_dust +occultism:obsidian_dust +thermal:electrum_ingot +occultism:copper_ingot +occultism:silver_ingot +darkerdepths:silver_ingot +thermal:electrum_plate +thermal:invar_plate +thermal:electrum_dust +thermal:electrum_gear +waterstrainer:strainer_survivalist_reinforced +appliedenergistics2:white_paint_ball +appliedenergistics2:light_blue_paint_ball +appliedenergistics2:lime_paint_ball +appliedenergistics2:pink_paint_ball +appliedenergistics2:gray_paint_ball +appliedenergistics2:light_gray_paint_ball +appliedenergistics2:cyan_paint_ball +appliedenergistics2:purple_paint_ball +appliedenergistics2:brown_paint_ball +appliedenergistics2:black_paint_ball +appliedenergistics2:white_lumen_paint_ball +appliedenergistics2:orange_lumen_paint_ball +appliedenergistics2:magenta_lumen_paint_ball +appliedenergistics2:light_blue_lumen_paint_ball +appliedenergistics2:purple_lumen_paint_ball +appliedenergistics2:cyan_lumen_paint_ball +appliedenergistics2:gray_lumen_paint_ball +appliedenergistics2:pink_lumen_paint_ball +appliedenergistics2:lime_lumen_paint_ball +appliedenergistics2:yellow_lumen_paint_ball +appliedenergistics2:light_gray_lumen_paint_ball +appliedenergistics2:orange_paint_ball +appliedenergistics2:blue_lumen_paint_ball +appliedenergistics2:brown_lumen_paint_ball +appliedenergistics2:red_lumen_paint_ball +appliedenergistics2:green_lumen_paint_ball +appliedenergistics2:black_lumen_paint_ball +appliedenergistics2:wooden_gear +appliedenergistics2:flour +prettypipes:blank_module +pipez:ultimate_upgrade +pipez:infinity_upgrade +pipez:wrench +pipez:filter_destination_tool +pipez:fluid_pipe +pipez:item_pipe +pipez:universal_pipe +pipez:basic_upgrade +pipez:improved_upgrade +pipez:advanced_upgrade +chiselsandbits:block_bit +occultism:iron_dust +occultism:gold_dust +occultism:copper_dust +occultism:silver_dust +metalbarrels:wood_to_diamond +metalbarrels:wood_to_obsidian +metalbarrels:wood_to_netherite +metalbarrels:copper_to_iron +metalbarrels:copper_to_silver +metalbarrels:copper_to_gold +metalbarrels:copper_to_diamond +metalbarrels:copper_to_obsidian +metalbarrels:iron_to_silver +metalbarrels:iron_to_gold +metalbarrels:iron_to_diamond +metalbarrels:iron_to_obsidian +metalbarrels:wood_to_crystal +metalbarrels:diamond_to_obsidian +metalbarrels:gold_to_obsidian +metalbarrels:gold_to_diamond +metalbarrels:silver_to_obsidian +metalbarrels:silver_to_diamond +metalbarrels:silver_to_gold +metalbarrels:copper_to_crystal +metalbarrels:iron_to_crystal +metalbarrels:silver_to_crystal +metalbarrels:gold_to_crystal +metalbarrels:diamond_to_crystal +metalbarrels:crystal_barrel +metalbarrels:diamond_barrel +metalbarrels:obsidian_barrel +metalbarrels:netherite_barrel +tconstruct:repair_kit:tconstruct:bronze +tconstruct:repair_kit:tconstruct:electrum +tconstruct:pickaxe_head:tconstruct:bronze +tconstruct:pickaxe_head:tconstruct:electrum +tconstruct:hammer_head:tconstruct:bronze +tconstruct:hammer_head:tconstruct:electrum +tconstruct:small_axe_head:tconstruct:electrum +tconstruct:small_axe_head:tconstruct:bronze +tconstruct:broad_axe_head:tconstruct:bronze +tconstruct:broad_axe_head:tconstruct:electrum +tconstruct:small_blade:tconstruct:bronze +tconstruct:small_blade:tconstruct:electrum +tconstruct:broad_blade:tconstruct:bronze +tconstruct:broad_blade:tconstruct:electrum +tconstruct:tool_binding:tconstruct:bronze +tconstruct:tool_binding:tconstruct:electrum +tconstruct:large_plate:tconstruct:bronze +tconstruct:large_plate:tconstruct:electrum +tconstruct:tool_handle:tconstruct:bronze +tconstruct:tool_handle:tconstruct:electrum +tconstruct:tough_handle:tconstruct:electrum +tconstruct:tough_handle:tconstruct:bronze +thermal:bronze_block +tconstruct:pickaxe:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:sledge_hammer:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:vein_hammer:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:mattock:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:excavator:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:hand_axe:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:broad_axe:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:kama:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:scythe:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:dagger:tconstruct:bronze,tconstruct:bronze +tconstruct:sword:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:cleaver:tconstruct:bronze,tconstruct:bronze,tconstruct:bronze,tconstruct:bronze +tconstruct:molten_bronze_bucket +fluid:tconstruct:molten_bronze +chisel:metals/bronze/caution +chisel:metals/bronze/crate +chisel:metals/bronze/machine +chisel:metals/bronze/thermal +chisel:metals/bronze/badgreggy +chisel:metals/bronze/bolted +chisel:metals/bronze/scaffold +tconstruct:pickaxe:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +tconstruct:sledge_hammer:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +tconstruct:vein_hammer:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +tconstruct:mattock:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +tconstruct:sword:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +tconstruct:dagger:tconstruct:electrum,tconstruct:electrum +tconstruct:scythe:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +tconstruct:kama:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +tconstruct:broad_axe:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +thermal:electrum_block +thermal:electrum_nugget +tconstruct:excavator:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +tconstruct:hand_axe:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +tconstruct:cleaver:tconstruct:electrum,tconstruct:electrum,tconstruct:electrum,tconstruct:electrum +tconstruct:molten_electrum_bucket +fluid:tconstruct:molten_electrum +kubejs:ponder_laser_lamp +kubejs:ponder_laser_lamp_on +ravencoffee:sandwich_ham +ravencoffee:sandwich_beef +ravencoffee:sandwich_chicken +ravencoffee:croissant_beef +ravencoffee:croissant_ham +ravencoffee:croissant +ravencoffee:popchorus +ravencoffee:muffin +ravencoffee:melon_pan +ravencoffee:croissant_chicken +ravencoffee:bagel +ravencoffee:bagel_ham +ravencoffee:bagel_beef +ravencoffee:bagel_chicken +projectred-core:sand_coal_comp +projectred-core:boule +projectred-core:silicon +projectred-core:red_silicon_comp +projectred-core:glow_silicon_comp +projectred-core:electrotine_silicon_comp +projectred-core:infused_silicon +projectred-core:energized_silicon +projectred-core:electrotine_silicon +projectred-core:copper_coil +projectred-core:iron_coil +projectred-core:gold_coil +projectred-core:motor +projectred-core:woven_cloth +projectred-core:sail +projectred-core:draw_plate +projectred-core:multimeter +projectred-core:null_routing_chip +projectred-transmission:low_load_power_wire +projectred-transmission:low_load_framed_power_wire +occultism:debug_foliot_lumberjack +occultism:debug_foliot_transport_items +occultism:debug_foliot_cleaner +occultism:debug_foliot_trader +occultism:debug_djinni_manage_machine +occultism:debug_djinni_test +occultism:lighted_air +forbidden_arcanus:edelwood_bucket +forbidden_arcanus:edelwood_tropical_fish_bucket +forbidden_arcanus:edelwood_magma_cube_bucket +forbidden_arcanus:edelwood_slime_bucket +forbidden_arcanus:edelwood_lava_bucket +forbidden_arcanus:edelwood_suspicious_stew_bucket +forbidden_arcanus:edelwood_chicken_bucket +forbidden_arcanus:edelwood_mushroom_stew_bucket +forbidden_arcanus:edelwood_water_bucket +forbidden_arcanus:edelwood_milk_bucket +forbidden_arcanus:edelwood_beetroot_soup_bucket +forbidden_arcanus:edelwood_bat_soup_bucket +forbidden_arcanus:edelwood_pufferfish_bucket +forbidden_arcanus:edelwood_salmon_bucket +forbidden_arcanus:edelwood_bat_bucket +forbidden_arcanus:edelwood_squid_bucket +forbidden_arcanus:edelwood_cod_bucket +tconstruct:scorched_anvil +architects_palette:withered_bone +grapplemod:rocketupgradeitem +grapplemod:grapplinghook:+++!!!! +grapplemod:grapplinghook:!+!!!!! +grapplemod:grapplinghook:!!!!!++ +grapplemod:forcefieldupgradeitem +grapplemod:repeller diff --git a/src/overrides/config/jei/bookmarks.ini b/src/overrides/config/jei/bookmarks.ini new file mode 100644 index 0000000..e69de29 diff --git a/src/overrides/config/jei/ingredient-list-mod-sort-order.ini b/src/overrides/config/jei/ingredient-list-mod-sort-order.ini new file mode 100644 index 0000000..8db4519 --- /dev/null +++ b/src/overrides/config/jei/ingredient-list-mod-sort-order.ini @@ -0,0 +1,71 @@ +Minecraft +Antique Atlas +Farmer's Delight +Supplementaries +Create +Storage Drawers +Torchmaster +CoFH Core +Thermal Series +EnderStorage +Applied Energistics 2 +Portality +Item Filters +Lib Vulpes +Advanced Rocketry +Architect's Palette +Fairy Lights +CBMicroblock +ProjectRed Core +ProjectRed Integration +ProjectRed Transmission +Reliquary +Aquaculture 2 +Biomes O' Plenty +The Endergetic Expansion +Water Strainer +Tinkers' Construct +KubeJS +FTB Quests +FTB Library +Archer's Paradox +CC: Tweaked +Chisels & bits +Construction Wand +Culinary Construct +Curios API +Decorative Blocks +Decorative Blocks Abnormals +Exchangers +FastWorkbench +Forbidden & Arcanus +More Minecarts +Nature's Compass +Occultism +ProjectRed Illumination +Pretty Pipes +Darker Depths +Extended Caves +Improved Backpacks +Randomium +Rubber Duck +Pipez +Metal Barrels +More Observers +Desolation (Forge) +Exotic Birds +Structures Compass +Buddycards +Drink Beer +Raven Coffee Mod +Dice +Chisel +XK's Deco +Grappling Hook Mod +Lootr +Magic Feather +Portable Stonecutter +Thermal Expansion +Thermal Innovation +Thermal Locomotion +ChunkNoGoByeBye diff --git a/src/overrides/config/jei/ingredient-list-type-sort-order.ini b/src/overrides/config/jei/ingredient-list-type-sort-order.ini new file mode 100644 index 0000000..d9c8bbe --- /dev/null +++ b/src/overrides/config/jei/ingredient-list-type-sort-order.ini @@ -0,0 +1,5 @@ +net.minecraft.item.ItemStack +net.minecraft.entity.EntityType +net.minecraftforge.fluids.FluidStack +slimeknights.tconstruct.library.modifiers.ModifierEntry +slimeknights.tconstruct.library.recipe.partbuilder.Pattern diff --git a/src/overrides/config/jei/recipe-category-sort-order.ini b/src/overrides/config/jei/recipe-category-sort-order.ini new file mode 100644 index 0000000..d6080be --- /dev/null +++ b/src/overrides/config/jei/recipe-category-sort-order.ini @@ -0,0 +1,106 @@ +minecraft:smithing +create:sequenced_assembly +create:mechanical_crafting +tconstruct:alloy +minecraft:crafting +minecraft:anvil +minecraft:blasting +minecraft:brewing +minecraft:campfire +minecraft:fuel +minecraft:furnace +minecraft:smoking +minecraft:stonecutting +thermal:smelter +jei:information +create:block_cutting +create:crushing +create:deploying +create:fan_blasting +create:fan_smoking +create:fan_washing +create:milling +create:mystery_conversion +create:packing +create:pressing +create:sandpaper_polishing +create:sawing +create:spout_filling +create:wood_cutting +farmersdelight:cooking +farmersdelight:cutting +farmersdelight:decomposition +tconstruct:melting +tconstruct:casting_table +tconstruct:casting_basin +tconstruct:entity_melting +tconstruct:foundry +tconstruct:modifiers +tconstruct:molding +tconstruct:part_builder +tconstruct:severing +thermal:bottler +thermal:brewer +thermal:centrifuge +thermal:chiller +thermal:compression_fuel +thermal:crucible +thermal:furnace +thermal:insolator +thermal:insolator_catalyst +thermal:lapidary_fuel +thermal:magmatic_fuel +thermal:numismatic_fuel +thermal:press +thermal:pulverizer +thermal:pulverizer_catalyst +thermal:pyrolyzer +thermal:refinery +thermal:rock_gen +thermal:sawmill +thermal:smelter_catalyst +thermal:stirling_fuel +thermal:tree_extractor +create:mixing +advancedrocketry:zmaster587.ar.arcfurnace +advancedrocketry:zmaster587.ar.centrifuge +advancedrocketry:zmaster587.ar.chemicalreactor +advancedrocketry:zmaster587.ar.crystallizer +advancedrocketry:zmaster587.ar.electrolyzer +advancedrocketry:zmaster587.ar.lathe +advancedrocketry:zmaster587.ar.platepresser +advancedrocketry:zmaster587.ar.precisionassembler +advancedrocketry:zmaster587.ar.precisionlasterengraver +advancedrocketry:zmaster587.ar.rollingmachine +advancedrocketry:zmaster587.ar.sawmill +appliedenergistics2:appliedenergistics2.inscriber +appliedenergistics2:condenser +appliedenergistics2:grinder +waterstrainer:garden_trowel +waterstrainer:strainer +waterstrainer:worm_bin +xreliquary:alkahestry_charging +xreliquary:alkahestry_crafting +xreliquary:cauldron +xreliquary:infernal_tear +xreliquary:mortar +cobblegenrandomizer:basalt_gen +cobblegenrandomizer:cobble_gen +cobblegenrandomizer:custom_gen +cobblegenrandomizer:stone_gen +occultism:crushing +occultism:miner +occultism:ritual +occultism:spirit_fire +create:draining +create:automatic_shaped +create:automatic_shapeless +create:automatic_brewing +create:automatic_packing +improvedbackpacks:sewing +chisel:chiseling +grapplemod:modifierrecipes +forbidden_arcanus:hephaestus_smithing +portable_stonecutter:jei_anvil_flattening +thermal:disenchantment_fuel +thermal:gourmand_fuel diff --git a/src/overrides/config/libvulpes.toml b/src/overrides/config/libvulpes.toml new file mode 100644 index 0000000..aa63bd8 --- /dev/null +++ b/src/overrides/config/libvulpes.toml @@ -0,0 +1,7 @@ + +[Power] + #"How many power unit one EU makes" + EUPowerMultiplier = 7.0 + #Power multiplier on machines + PowerMultiplier = 1.0 + diff --git a/src/overrides/config/lootr-common.toml b/src/overrides/config/lootr-common.toml new file mode 100644 index 0000000..b49332b --- /dev/null +++ b/src/overrides/config/lootr-common.toml @@ -0,0 +1,23 @@ +#whether or not the entire forge:chests/trapped tag should be added to the conversion list for structures (if they are backed by LockableLootTileEntity +convert_trapped_chests = true +#whether or not mineshaft chest minecarts should be converted to standard loot chests +convert_mineshafts = true +#whether or not the entire forge:chests/wooden tag should be added to the conversion list for structures (if they are backed by LockableLootTileEntity) +convert_wooden_chests = true +#a list of additional chests that should be converted [in the format of modid:name, must be a tile entity instance of LockableLootTileEntity] +additional_chests = [] +#list of loot tables which shouldn't be converted [in the format of modid:loot_table] +loot_table_blacklist = [] +#determine whether or not loot generated is the same for all players using the provided seed, or randomised per player +randomise_seed = true +#a list of additional trapped chests that should be converted [in the format of modid:name, must be a tile entity instanceof LockableLootTileEntity] +additional_trapped_chests = [] +#list of dimensions (to the exclusion of all others) that loot chest should be replaced in [default: blank, allowing all dimensions, e.g., minecraft:overworld] +dimension_whitelist = [] +#catches loot chest creation that this mod cannot convert, reporting the loot table, location and mod +report_tables = false +#whether or not quark chests used in world generation for loot purposes should be replaced with Lootr chests +convert_quark = true +#list of dimensions that loot chests should not be replaced in [default: blank, allowing all dimensions, format e.g., minecraft:overworld] +dimension_blacklist = [] + diff --git a/src/overrides/config/magicfeather-common.toml b/src/overrides/config/magicfeather-common.toml new file mode 100644 index 0000000..16832dc --- /dev/null +++ b/src/overrides/config/magicfeather-common.toml @@ -0,0 +1,16 @@ + +[item] + #If curios is installed, the magic feather will need to be installed in its charm slot to function. + requires_curios = true + +[range_computation] + #How many blocks are added to the range per level? + #Range: > -2147483648 + range_step = 10 + #What is the beacon base range? + #Range: > -2147483648 + base_range = 10 + #How the beacon range is calculated vertically. Java = Vanilla Java Behavior. Bedrock = Vanilla Bedrock behavior. FullHeight = expand vertical range to maximum + #Allowed Values: Java, FullHeight + vertical_range_type = "FullHeight" + diff --git a/src/overrides/config/mantle-client.toml b/src/overrides/config/mantle-client.toml new file mode 100644 index 0000000..27a812a --- /dev/null +++ b/src/overrides/config/mantle-client.toml @@ -0,0 +1,4 @@ +#If true, enables the Mantle heart renderer, which stacks hearts by changing the color instead of vertically stacking them. +#Mod authors: this config is not meant for compatibility with your heart renderer, cancel the RenderGameOverlayEvent.Pre event and our logic won't run +extraHeartRenderer = true + diff --git a/src/overrides/config/moreminecartsconfig.toml b/src/overrides/config/moreminecartsconfig.toml new file mode 100644 index 0000000..d8ccc84 --- /dev/null +++ b/src/overrides/config/moreminecartsconfig.toml @@ -0,0 +1,4 @@ +#Changes how expensive keeping the chunk loader on is. Set to zero to prevent chunk loading completely. +#Range: 0.0 ~ 100.0 +chunk_loader_multiplier = 1.0 + diff --git a/src/overrides/config/naturescompass-client.toml b/src/overrides/config/naturescompass-client.toml new file mode 100644 index 0000000..af2121f --- /dev/null +++ b/src/overrides/config/naturescompass-client.toml @@ -0,0 +1,13 @@ + +[Client] + #The side for information rendered on the HUD. Ex: LEFT, RIGHT + #Allowed Values: LEFT, RIGHT + overlaySide = "LEFT" + #Displays Nature's Compass information even while chat is open. + displayWithChatOpen = true + #Fixes biome names by adding missing spaces. Ex: ForestHills becomes Forest Hills + fixBiomeNames = true + #The line offset for information rendered on the HUD. + #Range: 0 ~ 50 + overlayLineOffset = 1 + diff --git a/src/overrides/config/naturescompass-common.toml b/src/overrides/config/naturescompass-common.toml new file mode 100644 index 0000000..bf4974b --- /dev/null +++ b/src/overrides/config/naturescompass-common.toml @@ -0,0 +1,18 @@ + +[General] + #Allows players to view the precise coordinates and distance of a located structure on the HUD, rather than relying on the direction the compass is pointing. + displayCoordinates = true + #biomeSize * sampleSpaceModifier = sampleSpace. Lowering this value will increase search accuracy but will make the process more resource intensive. + #Range: 0 ~ 1000000 + sampleSpaceModifier = 16 + #Allows a player to teleport to a located biome when in creative mode, opped, or in cheat mode. + allowTeleport = true + #The maximum number of samples to be taken when searching for a biome. + #Range: 0 ~ 1000000 + maxSamples = 50000 + #A list of biomes that the compass will not be able to search for, specified by resource location. The wildcard character * can be used to match any number of characters, and ? can be used to match one character. Ex: ["minecraft:savanna", "minecraft:desert", "minecraft:*ocean*"] + biomeBlacklist = [] + #biomeSize * radiusModifier = maxSearchRadius. Raising this value will increase search accuracy but will potentially make the process more resource . + #Range: 0 ~ 1000000 + radiusModifier = 2500 + diff --git a/src/overrides/config/occultism-client.toml b/src/overrides/config/occultism-client.toml new file mode 100644 index 0000000..ab0ae2b --- /dev/null +++ b/src/overrides/config/occultism-client.toml @@ -0,0 +1,11 @@ + +#Visual Settings +[visual] + #Disables the headache- and possibly seizure-inducing visual effects of Demon's Dream. + disableDemonsDreamShaders = false + +#Misc Settings +[misc] + #Sync JEI search in storage actuator. + syncJeiSearch = false + diff --git a/src/overrides/config/occultism-common.toml b/src/overrides/config/occultism-common.toml new file mode 100644 index 0000000..ca10f8e --- /dev/null +++ b/src/overrides/config/occultism-common.toml @@ -0,0 +1,85 @@ + +#WorldGen Settings +[worldgen] + + #Ore Gen Settings + [worldgen.oregen] + + #Ore Settings + [worldgen.oregen.iesniumOre] + #Range configuration top offset. + topOffset = 10 + #The tag for the blocks this ore will spawn in. + fillerBlockTag = "occultism:netherrack" + #The size of veins for this ore. + #Range: 0 ~ 127 + size = 3 + #Range configuration bottom offset. + bottomOffset = 10 + #True to generate this ore. + generateOre = true + #The count value for the decorator for this ore. + #Range: 0 ~ 127 + count = 10 + #Range configuration maximum. + maximum = 128 + + #Ore Settings + [worldgen.oregen.copperOre] + #Range configuration top offset. + topOffset = 0 + #The tag for the blocks this ore will spawn in. + fillerBlockTag = "minecraft:base_stone_overworld" + #The size of veins for this ore. + #Range: 0 ~ 127 + size = 9 + #Range configuration bottom offset. + bottomOffset = 20 + #True to generate this ore. + generateOre = false + #The count value for the decorator for this ore. + #Range: 0 ~ 127 + count = 10 + #Range configuration maximum. + maximum = 64 + + #Ore Settings + [worldgen.oregen.silverOre] + #Range configuration top offset. + topOffset = 0 + #The tag for the blocks this ore will spawn in. + fillerBlockTag = "minecraft:base_stone_overworld" + #The size of veins for this ore. + #Range: 0 ~ 127 + size = 7 + #Range configuration bottom offset. + bottomOffset = 5 + #True to generate this ore. + generateOre = false + #The count value for the decorator for this ore. + #Range: 0 ~ 127 + count = 3 + #Range configuration maximum. + maximum = 30 + + #Underground Grove Settings + [worldgen.underground_grove] + #The chance vines will spawn in the underground grove. + vineChance = 0.3 + #The min height for a grove to spawn (applied to the center of the grove, not the floor). + groveSpawnMin = 25 + #The max height for a grove to spawn (applied to the center of the grove, not the ceiling). + groveSpawnMax = 60 + #The chance glowstone will spawn in the ceiling of the underground grove. + ceilingLightChance = 0.1 + #The biome types the underground grove cannot spawn in. + biomeTypeBlacklist = ["NETHER", "END"] + #The chance for a grove to spawn in a chunk (generates 1/groveSpawnChance chunks on average). + groveSpawnChance = 400 + #The chance small trees will spawn in the underground grove. + treeChance = 0.1 + #The chance grass will spawn in the underground grove. + grassChance = 0.6 + #True to generate underground groves. Should not be changed in most scenarios. + generateUndergroundGroves = true + diff --git a/src/overrides/config/openloader-common.toml b/src/overrides/config/openloader-common.toml new file mode 100644 index 0000000..0cff61c --- /dev/null +++ b/src/overrides/config/openloader-common.toml @@ -0,0 +1,8 @@ + +#This file is NOT used to add new data/resource packs. Just put them in the folder! +[advanced-settings] + #Should OpenLoader try to load data packs? + load-data-packs = true + #Should OpenLoader try to load resource packs? + load-resource-packs = true + diff --git a/src/overrides/config/oretweaker/Info.txt b/src/overrides/config/oretweaker/Info.txt new file mode 100644 index 0000000..e71b3d3 --- /dev/null +++ b/src/overrides/config/oretweaker/Info.txt @@ -0,0 +1,11 @@ +## Ore Tweaker - Information ## + +Add Ore Configs to the data folder to tweak the world generation +By default the mod and its files mimics vanilla world generation settings. +Check out more info on the wiki at https://github.com/EwyBoy/OreTweaker/wiki + +Bugs can be reported here at https://github.com/EwyBoy/OreTweaker/issues + +Enjoy and have fun! + +-Ewy \ No newline at end of file diff --git a/src/overrides/config/oretweaker/OreTweaker.toml b/src/overrides/config/oretweaker/OreTweaker.toml new file mode 100644 index 0000000..7050403 --- /dev/null +++ b/src/overrides/config/oretweaker/OreTweaker.toml @@ -0,0 +1,14 @@ + +#Ore Tweaker - Settings File +[SETTINGS] + #Enables debug mode + debug = false + +[TEMPLATES] + #Attempts to regenerate template files if not present + generate_templates = false + +[DATA] + #Attempts to regenerate default data files if not present + generate_default_settings = false + diff --git a/src/overrides/config/oretweaker/backup/OreTweaker.json b/src/overrides/config/oretweaker/backup/OreTweaker.json new file mode 100644 index 0000000..d542588 --- /dev/null +++ b/src/overrides/config/oretweaker/backup/OreTweaker.json @@ -0,0 +1,94 @@ +{ + "oreConfig": [ + { + "ore": "appliedenergistics2:quartz_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 10, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "thermal:sapphire_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 6, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "thermal:cinnabar_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 6, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:emerald_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 2, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "thermal:ruby_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 6, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "thermal:niter_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 8, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "thermal:apatite_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 8, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "thermal:nickel_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 40, + "maxVeinSize": 10, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "thermal:lead_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 20, + "maxVeinSize": 12, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/apatite_ore.json b/src/overrides/config/oretweaker/data/apatite_ore.json new file mode 100644 index 0000000..266528f --- /dev/null +++ b/src/overrides/config/oretweaker/data/apatite_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "thermal:apatite_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 8, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/arcane_crystal_ore.json b/src/overrides/config/oretweaker/data/arcane_crystal_ore.json new file mode 100644 index 0000000..f53cdc7 --- /dev/null +++ b/src/overrides/config/oretweaker/data/arcane_crystal_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "forbidden_arcanus:arcane_crystal_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 9, + "maxVeinSize": 7, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/aridrock_redstone_ore.json b/src/overrides/config/oretweaker/data/aridrock_redstone_ore.json new file mode 100644 index 0000000..b8316fa --- /dev/null +++ b/src/overrides/config/oretweaker/data/aridrock_redstone_ore.json @@ -0,0 +1,11 @@ +{ + "oreConfig": [ + { + "ore": "darkerdepths:aridrock_redstone_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/aridrock_silver_ore.json b/src/overrides/config/oretweaker/data/aridrock_silver_ore.json new file mode 100644 index 0000000..ff34ed7 --- /dev/null +++ b/src/overrides/config/oretweaker/data/aridrock_silver_ore.json @@ -0,0 +1,11 @@ +{ + "oreConfig": [ + { + "ore": "darkerdepths:aridrock_silver_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/basalt.json b/src/overrides/config/oretweaker/data/basalt.json new file mode 100644 index 0000000..659ea2f --- /dev/null +++ b/src/overrides/config/oretweaker/data/basalt.json @@ -0,0 +1,11 @@ +{ + "oreConfig": [ + { + "ore": "chisel:basalt/raw", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/cinnabar_ore.json b/src/overrides/config/oretweaker/data/cinnabar_ore.json new file mode 100644 index 0000000..a1d8670 --- /dev/null +++ b/src/overrides/config/oretweaker/data/cinnabar_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "thermal:cinnabar_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 6, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/emerald_ore.json b/src/overrides/config/oretweaker/data/emerald_ore.json new file mode 100644 index 0000000..24a5f0b --- /dev/null +++ b/src/overrides/config/oretweaker/data/emerald_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:emerald_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 2, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/lead_ore.json b/src/overrides/config/oretweaker/data/lead_ore.json new file mode 100644 index 0000000..e01dc05 --- /dev/null +++ b/src/overrides/config/oretweaker/data/lead_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "thermal:lead_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 20, + "maxVeinSize": 12, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/limestone.json b/src/overrides/config/oretweaker/data/limestone.json new file mode 100644 index 0000000..76476c6 --- /dev/null +++ b/src/overrides/config/oretweaker/data/limestone.json @@ -0,0 +1,11 @@ +{ + "oreConfig": [ + { + "ore": "chisel:limestone/raw", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/limestone_redstone_ore.json b/src/overrides/config/oretweaker/data/limestone_redstone_ore.json new file mode 100644 index 0000000..a458dd5 --- /dev/null +++ b/src/overrides/config/oretweaker/data/limestone_redstone_ore.json @@ -0,0 +1,11 @@ +{ + "oreConfig": [ + { + "ore": "darkerdepths:limestone_redstone_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/limestone_silver_ore.json b/src/overrides/config/oretweaker/data/limestone_silver_ore.json new file mode 100644 index 0000000..cc1263c --- /dev/null +++ b/src/overrides/config/oretweaker/data/limestone_silver_ore.json @@ -0,0 +1,11 @@ +{ + "oreConfig": [ + { + "ore": "darkerdepths:limestone_silver_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/marble.json b/src/overrides/config/oretweaker/data/marble.json new file mode 100644 index 0000000..973b296 --- /dev/null +++ b/src/overrides/config/oretweaker/data/marble.json @@ -0,0 +1,11 @@ +{ + "oreConfig": [ + { + "ore": "chisel:marble/raw", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/nickel_ore.json b/src/overrides/config/oretweaker/data/nickel_ore.json new file mode 100644 index 0000000..2964cea --- /dev/null +++ b/src/overrides/config/oretweaker/data/nickel_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "thermal:nickel_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 40, + "maxVeinSize": 10, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/niter_ore.json b/src/overrides/config/oretweaker/data/niter_ore.json new file mode 100644 index 0000000..220521e --- /dev/null +++ b/src/overrides/config/oretweaker/data/niter_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "thermal:niter_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 6, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/quartz_ore.json b/src/overrides/config/oretweaker/data/quartz_ore.json new file mode 100644 index 0000000..7c695ae --- /dev/null +++ b/src/overrides/config/oretweaker/data/quartz_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "appliedenergistics2:quartz_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 6, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/randomium_ore.json b/src/overrides/config/oretweaker/data/randomium_ore.json new file mode 100644 index 0000000..8875aa8 --- /dev/null +++ b/src/overrides/config/oretweaker/data/randomium_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "randomium:randomium_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 60, + "maxVeinSize": 7, + "spawnRate": 4.0, + "biomeBlacklist": [], + "biomeWhitelist": ["advancedrocketry:moonold"] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/redstone_ore.json b/src/overrides/config/oretweaker/data/redstone_ore.json new file mode 100644 index 0000000..6e5c3b6 --- /dev/null +++ b/src/overrides/config/oretweaker/data/redstone_ore.json @@ -0,0 +1,11 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:redstone_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/ruby_ore.json b/src/overrides/config/oretweaker/data/ruby_ore.json new file mode 100644 index 0000000..139c52b --- /dev/null +++ b/src/overrides/config/oretweaker/data/ruby_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "thermal:ruby_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 3, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/sapphire_ore.json b/src/overrides/config/oretweaker/data/sapphire_ore.json new file mode 100644 index 0000000..9344f6a --- /dev/null +++ b/src/overrides/config/oretweaker/data/sapphire_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "thermal:sapphire_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 3, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/silver_ore.json b/src/overrides/config/oretweaker/data/silver_ore.json new file mode 100644 index 0000000..30dd2c6 --- /dev/null +++ b/src/overrides/config/oretweaker/data/silver_ore.json @@ -0,0 +1,11 @@ +{ + "oreConfig": [ + { + "ore": "darkerdepths:silver_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/data/xpetrified_ore.json b/src/overrides/config/oretweaker/data/xpetrified_ore.json new file mode 100644 index 0000000..6ee81a0 --- /dev/null +++ b/src/overrides/config/oretweaker/data/xpetrified_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "forbidden_arcanus:xpetrified_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 1, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/collectives/default.json b/src/overrides/config/oretweaker/templates/collectives/default.json new file mode 100644 index 0000000..1d7fb67 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/collectives/default.json @@ -0,0 +1,238 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:dirt", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 256, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:gravel", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 256, + "maxVeinSize": 32, + "spawnRate": 8.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:granite", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 80, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:diorite", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 80, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:andesite", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 80, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:infested_stone", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 64, + "maxVeinSize": 8, + "spawnRate": 7.0, + "biomeBlacklist": [], + "biomeWhitelist": [ + "MOUNTAIN" + ] + }, + { + "ore": "minecraft:coal_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 128, + "maxVeinSize": 16, + "spawnRate": 20.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:iron_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 64, + "maxVeinSize": 8, + "spawnRate": 20.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:gold_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 32, + "maxVeinSize": 8, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:redstone_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 16, + "maxVeinSize": 7, + "spawnRate": 8.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:lapis_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 6, + "spawnRate": 3.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:diamond_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 16, + "maxVeinSize": 7, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:emerald_ore", + "filler": "minecraft:stone", + "minY": 4, + "maxY": 32, + "maxVeinSize": 1, + "spawnRate": 5.0, + "biomeBlacklist": [], + "biomeWhitelist": [ + "MOUNTAIN" + ] + }, + { + "ore": "minecraft:soul_sand", + "filler": "minecraft:netherrack", + "minY": 1, + "maxY": 32, + "maxVeinSize": 12, + "spawnRate": 12.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:gravel", + "filler": "minecraft:netherrack", + "minY": 5, + "maxY": 37, + "maxVeinSize": 32, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:nether_quartz_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 246, + "maxVeinSize": 14, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:nether_quartz_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 246, + "maxVeinSize": 14, + "spawnRate": 32.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:nether_gold_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 118, + "maxVeinSize": 10, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:nether_gold_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 118, + "maxVeinSize": 10, + "spawnRate": 20.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:blackstone", + "filler": "minecraft:netherrack", + "minY": 5, + "maxY": 31, + "maxVeinSize": 10, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:magma_block", + "filler": "minecraft:netherrack", + "minY": 26, + "maxY": 36, + "maxVeinSize": 10, + "spawnRate": 15.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:ancient_debris", + "filler": "minecraft:netherrack", + "minY": 8, + "maxY": 120, + "maxVeinSize": 1, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:ancient_debris", + "filler": "minecraft:netherrack", + "minY": 8, + "maxY": 24, + "maxVeinSize": 2, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/collectives/default_nether.json b/src/overrides/config/oretweaker/templates/collectives/default_nether.json new file mode 100644 index 0000000..bc46fb9 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/collectives/default_nether.json @@ -0,0 +1,104 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:soul_sand", + "filler": "minecraft:netherrack", + "minY": 1, + "maxY": 32, + "maxVeinSize": 12, + "spawnRate": 12.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:gravel", + "filler": "minecraft:netherrack", + "minY": 5, + "maxY": 37, + "maxVeinSize": 32, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:nether_quartz_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 246, + "maxVeinSize": 14, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:nether_quartz_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 246, + "maxVeinSize": 14, + "spawnRate": 32.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:nether_gold_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 118, + "maxVeinSize": 10, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:nether_gold_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 118, + "maxVeinSize": 10, + "spawnRate": 20.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:blackstone", + "filler": "minecraft:netherrack", + "minY": 5, + "maxY": 31, + "maxVeinSize": 10, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:magma_block", + "filler": "minecraft:netherrack", + "minY": 26, + "maxY": 36, + "maxVeinSize": 10, + "spawnRate": 15.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:ancient_debris", + "filler": "minecraft:netherrack", + "minY": 8, + "maxY": 120, + "maxVeinSize": 1, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:ancient_debris", + "filler": "minecraft:netherrack", + "minY": 8, + "maxY": 24, + "maxVeinSize": 2, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/collectives/default_overworld.json b/src/overrides/config/oretweaker/templates/collectives/default_overworld.json new file mode 100644 index 0000000..6e201a2 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/collectives/default_overworld.json @@ -0,0 +1,138 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:dirt", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 256, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:gravel", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 256, + "maxVeinSize": 32, + "spawnRate": 8.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:granite", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 80, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:diorite", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 80, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:andesite", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 80, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:infested_stone", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 64, + "maxVeinSize": 8, + "spawnRate": 7.0, + "biomeBlacklist": [], + "biomeWhitelist": [ + "MOUNTAIN" + ] + }, + { + "ore": "minecraft:coal_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 128, + "maxVeinSize": 16, + "spawnRate": 20.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:iron_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 64, + "maxVeinSize": 8, + "spawnRate": 20.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:gold_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 32, + "maxVeinSize": 8, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:redstone_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 16, + "maxVeinSize": 7, + "spawnRate": 8.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:lapis_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 6, + "spawnRate": 3.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:diamond_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 16, + "maxVeinSize": 7, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:emerald_ore", + "filler": "minecraft:stone", + "minY": 4, + "maxY": 32, + "maxVeinSize": 1, + "spawnRate": 5.0, + "biomeBlacklist": [], + "biomeWhitelist": [ + "MOUNTAIN" + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/ancient_debris.json b/src/overrides/config/oretweaker/templates/defaults/ancient_debris.json new file mode 100644 index 0000000..e8c62f8 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/ancient_debris.json @@ -0,0 +1,24 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:ancient_debris", + "filler": "minecraft:netherrack", + "minY": 8, + "maxY": 120, + "maxVeinSize": 1, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:ancient_debris", + "filler": "minecraft:netherrack", + "minY": 8, + "maxY": 24, + "maxVeinSize": 2, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/andesite.json b/src/overrides/config/oretweaker/templates/defaults/andesite.json new file mode 100644 index 0000000..d4da58b --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/andesite.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:andesite", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 80, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/blackstone.json b/src/overrides/config/oretweaker/templates/defaults/blackstone.json new file mode 100644 index 0000000..77687ad --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/blackstone.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:blackstone", + "filler": "minecraft:netherrack", + "minY": 5, + "maxY": 31, + "maxVeinSize": 10, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/coal_ore.json b/src/overrides/config/oretweaker/templates/defaults/coal_ore.json new file mode 100644 index 0000000..9a53059 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/coal_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:coal_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 128, + "maxVeinSize": 16, + "spawnRate": 20.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/diamond_ore.json b/src/overrides/config/oretweaker/templates/defaults/diamond_ore.json new file mode 100644 index 0000000..5295f32 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/diamond_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:diamond_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 16, + "maxVeinSize": 7, + "spawnRate": 1.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/diorite.json b/src/overrides/config/oretweaker/templates/defaults/diorite.json new file mode 100644 index 0000000..60c48bb --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/diorite.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:diorite", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 80, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/dirt.json b/src/overrides/config/oretweaker/templates/defaults/dirt.json new file mode 100644 index 0000000..5744207 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/dirt.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:dirt", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 256, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/emerald_ore.json b/src/overrides/config/oretweaker/templates/defaults/emerald_ore.json new file mode 100644 index 0000000..70fe657 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/emerald_ore.json @@ -0,0 +1,16 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:emerald_ore", + "filler": "minecraft:stone", + "minY": 4, + "maxY": 32, + "maxVeinSize": 1, + "spawnRate": 5.0, + "biomeBlacklist": [], + "biomeWhitelist": [ + "MOUNTAIN" + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/gold_ore.json b/src/overrides/config/oretweaker/templates/defaults/gold_ore.json new file mode 100644 index 0000000..10b874b --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/gold_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:gold_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 32, + "maxVeinSize": 8, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/granite.json b/src/overrides/config/oretweaker/templates/defaults/granite.json new file mode 100644 index 0000000..ca95788 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/granite.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:granite", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 80, + "maxVeinSize": 32, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/gravel.json b/src/overrides/config/oretweaker/templates/defaults/gravel.json new file mode 100644 index 0000000..a0d2e9d --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/gravel.json @@ -0,0 +1,24 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:gravel", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 256, + "maxVeinSize": 32, + "spawnRate": 8.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:gravel", + "filler": "minecraft:netherrack", + "minY": 5, + "maxY": 37, + "maxVeinSize": 32, + "spawnRate": 2.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/infested_stone.json b/src/overrides/config/oretweaker/templates/defaults/infested_stone.json new file mode 100644 index 0000000..819d188 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/infested_stone.json @@ -0,0 +1,16 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:infested_stone", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 64, + "maxVeinSize": 8, + "spawnRate": 7.0, + "biomeBlacklist": [], + "biomeWhitelist": [ + "MOUNTAIN" + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/iron_ore.json b/src/overrides/config/oretweaker/templates/defaults/iron_ore.json new file mode 100644 index 0000000..2bca107 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/iron_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:iron_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 64, + "maxVeinSize": 8, + "spawnRate": 20.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/lapis_ore.json b/src/overrides/config/oretweaker/templates/defaults/lapis_ore.json new file mode 100644 index 0000000..194906f --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/lapis_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:lapis_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 30, + "maxVeinSize": 6, + "spawnRate": 3.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/magma_block.json b/src/overrides/config/oretweaker/templates/defaults/magma_block.json new file mode 100644 index 0000000..a5bfcec --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/magma_block.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:magma_block", + "filler": "minecraft:netherrack", + "minY": 26, + "maxY": 36, + "maxVeinSize": 10, + "spawnRate": 15.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/nether_gold_ore.json b/src/overrides/config/oretweaker/templates/defaults/nether_gold_ore.json new file mode 100644 index 0000000..c4d0112 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/nether_gold_ore.json @@ -0,0 +1,24 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:nether_gold_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 118, + "maxVeinSize": 10, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:nether_gold_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 118, + "maxVeinSize": 10, + "spawnRate": 20.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/nether_quartz_ore.json b/src/overrides/config/oretweaker/templates/defaults/nether_quartz_ore.json new file mode 100644 index 0000000..b279a2d --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/nether_quartz_ore.json @@ -0,0 +1,24 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:nether_quartz_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 246, + "maxVeinSize": 14, + "spawnRate": 10.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + }, + { + "ore": "minecraft:nether_quartz_ore", + "filler": "minecraft:netherrack", + "minY": 10, + "maxY": 246, + "maxVeinSize": 14, + "spawnRate": 32.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/redstone_ore.json b/src/overrides/config/oretweaker/templates/defaults/redstone_ore.json new file mode 100644 index 0000000..ed9248a --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/redstone_ore.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:redstone_ore", + "filler": "minecraft:stone", + "minY": 1, + "maxY": 16, + "maxVeinSize": 7, + "spawnRate": 8.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/defaults/soul_sand.json b/src/overrides/config/oretweaker/templates/defaults/soul_sand.json new file mode 100644 index 0000000..a742879 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/defaults/soul_sand.json @@ -0,0 +1,14 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:soul_sand", + "filler": "minecraft:netherrack", + "minY": 1, + "maxY": 32, + "maxVeinSize": 12, + "spawnRate": 12.0, + "biomeBlacklist": [], + "biomeWhitelist": [] + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/other/fuck_silverfish.json b/src/overrides/config/oretweaker/templates/other/fuck_silverfish.json new file mode 100644 index 0000000..8d4e991 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/other/fuck_silverfish.json @@ -0,0 +1,11 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:infested", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/remove/remove_everything.json b/src/overrides/config/oretweaker/templates/remove/remove_everything.json new file mode 100644 index 0000000..75be384 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/remove/remove_everything.json @@ -0,0 +1,137 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:dirt", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:gravel", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:granite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:diorite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:andesite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:infested_stone", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:coal_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:iron_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:gold_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:redstone_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:lapis_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:diamond_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:emerald_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:soul_sand", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:nether_quartz_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:nether_gold_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:blackstone", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:magma_block", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:ancient_debris", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/remove/remove_everything_nether.json b/src/overrides/config/oretweaker/templates/remove/remove_everything_nether.json new file mode 100644 index 0000000..0db7d3f --- /dev/null +++ b/src/overrides/config/oretweaker/templates/remove/remove_everything_nether.json @@ -0,0 +1,53 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:soul_sand", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:gravel", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:nether_quartz_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:nether_gold_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:blackstone", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:magma_block", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:ancient_debris", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/remove/remove_everything_overworld.json b/src/overrides/config/oretweaker/templates/remove/remove_everything_overworld.json new file mode 100644 index 0000000..d4c3caf --- /dev/null +++ b/src/overrides/config/oretweaker/templates/remove/remove_everything_overworld.json @@ -0,0 +1,95 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:dirt", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:gravel", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:granite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:diorite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:andesite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:infested_stone", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:coal_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:iron_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:gold_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:redstone_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:lapis_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:diamond_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:emerald_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/remove/remove_igneous_rocks.json b/src/overrides/config/oretweaker/templates/remove/remove_igneous_rocks.json new file mode 100644 index 0000000..c6742ff --- /dev/null +++ b/src/overrides/config/oretweaker/templates/remove/remove_igneous_rocks.json @@ -0,0 +1,25 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:granite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:diorite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:andesite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/remove/remove_ores.json b/src/overrides/config/oretweaker/templates/remove/remove_ores.json new file mode 100644 index 0000000..1f49de7 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/remove/remove_ores.json @@ -0,0 +1,74 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:coal_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:iron_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:gold_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:redstone_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:lapis_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:diamond_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:emerald_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:nether_quartz_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:nether_gold_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:ancient_debris", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/remove/remove_ores_nether.json b/src/overrides/config/oretweaker/templates/remove/remove_ores_nether.json new file mode 100644 index 0000000..3a0fc1f --- /dev/null +++ b/src/overrides/config/oretweaker/templates/remove/remove_ores_nether.json @@ -0,0 +1,25 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:nether_quartz_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:nether_gold_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:ancient_debris", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/remove/remove_ores_overworld.json b/src/overrides/config/oretweaker/templates/remove/remove_ores_overworld.json new file mode 100644 index 0000000..38eb6c6 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/remove/remove_ores_overworld.json @@ -0,0 +1,53 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:coal_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:iron_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:gold_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:redstone_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:lapis_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:diamond_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:emerald_ore", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/remove/remove_stones.json b/src/overrides/config/oretweaker/templates/remove/remove_stones.json new file mode 100644 index 0000000..2de20b3 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/remove/remove_stones.json @@ -0,0 +1,67 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:dirt", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:gravel", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:granite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:diorite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:andesite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:infested_stone", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:soul_sand", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:blackstone", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:magma_block", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/remove/remove_stones_nether.json b/src/overrides/config/oretweaker/templates/remove/remove_stones_nether.json new file mode 100644 index 0000000..968f631 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/remove/remove_stones_nether.json @@ -0,0 +1,25 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:soul_sand", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:blackstone", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:magma_block", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/oretweaker/templates/remove/remove_stones_overworld.json b/src/overrides/config/oretweaker/templates/remove/remove_stones_overworld.json new file mode 100644 index 0000000..2de20b3 --- /dev/null +++ b/src/overrides/config/oretweaker/templates/remove/remove_stones_overworld.json @@ -0,0 +1,67 @@ +{ + "oreConfig": [ + { + "ore": "minecraft:dirt", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:gravel", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:granite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:diorite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:andesite", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:infested_stone", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:soul_sand", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:blackstone", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + }, + { + "ore": "minecraft:magma_block", + "minY": -1, + "maxY": -1, + "maxVeinSize": -1, + "spawnRate": -1.0 + } + ] +} \ No newline at end of file diff --git a/src/overrides/config/paintings-client.toml b/src/overrides/config/paintings-client.toml new file mode 100644 index 0000000..c082952 --- /dev/null +++ b/src/overrides/config/paintings-client.toml @@ -0,0 +1,5 @@ + +[general] + #Pick True to show the size of paintings in the painting gui + show_painting_size = true + diff --git a/src/overrides/config/patchouli-client.toml b/src/overrides/config/patchouli-client.toml new file mode 100644 index 0000000..2a4e95e --- /dev/null +++ b/src/overrides/config/patchouli-client.toml @@ -0,0 +1,16 @@ + +[client] + #Set how text overflow should be coped with: overflow the text off the page, truncate overflowed text, or resize everything to fit. Relogin after changing. + #Allowed Values: OVERFLOW, TRUNCATE, RESIZE + textOverflowMode = "OVERFLOW" + #Set this to true to disable advancement locking for ALL books, making all entries visible at all times. Config Flag: advancements_disabled + "Disable Advancement Locking" = false + #Set this to true to use Shift instead of Ctrl for the inventory quick lookup feature. + quickLookupShift = false + #Granular list of Book ID's to disable advancement locking for, e.g. [ "botania:lexicon" ]. Config Flags: advancements_disabled_ + no_advancement_books = [] + #Set this to the ID of a book to have it show up in players' inventories, replacing the recipe book. + "Inventory Button Book" = "" + #Enable testing mode. By default this doesn't do anything, but you can use the config flag in your books if you want. Config Flag: testing_mode + "Testing Mode" = false + diff --git a/src/overrides/config/pathtodirt-common.toml b/src/overrides/config/pathtodirt-common.toml new file mode 100644 index 0000000..ed09a2b --- /dev/null +++ b/src/overrides/config/pathtodirt-common.toml @@ -0,0 +1,7 @@ +#Write here a list of custom overrides when right clicking a block. It must be blockRightClicked,blockToTransformTo. Blocks must have the format modid:blockid. E.g. minecraft:coarse_dirt,minecraft:grass_path will make coarse dirt transform to path when right-clicked with a shovel. You can even use tags. +Overrides = ["minecraft:dirt,minecraft:grass_path", "minecraft:podzol,minecraft:grass_path", "minecraft:grass_path,minecraft:dirt", "minecraft:farmland,minecraft:dirt"] +#Write here a list of items that shouldn't execute mod's path to dirt code. Items must have the format modid:itemid. Item Tags can be used. +"Item Blacklist" = ["quark:pickarang", "quark:flamerang"] +#If true the player must be sneaking to make the mod work. +"Require Sneaking" = false + diff --git a/src/overrides/config/pipez-client.toml b/src/overrides/config/pipez-client.toml new file mode 100644 index 0000000..d3f5a12 --- /dev/null +++ b/src/overrides/config/pipez-client.toml @@ -0,0 +1 @@ + diff --git a/src/overrides/config/ponderjs-client.toml b/src/overrides/config/ponderjs-client.toml new file mode 100644 index 0000000..594ed33 --- /dev/null +++ b/src/overrides/config/ponderjs-client.toml @@ -0,0 +1,11 @@ +# +#The path to the lang file where lang entries are automatically generated %lang% is replaced by the value of the lang config value +langPath = "kubejs/assets/ponderjs_generated/lang/%lang%.json" +# +#Used for the langPath config value, and if autoGenerateLang is false this is where it will generate lang in the generated pack +lang = "en_us" +# +#Whether or not to automatically generate lang into the path in the langPath config value, if disabled, a resource pack is generated at runtime for this, however this should really be true +#[@cui:RequiresReload:client] +autoGenerateLang = true + diff --git a/src/overrides/config/portality/modules.toml b/src/overrides/config/portality/modules.toml new file mode 100644 index 0000000..d3f5a12 --- /dev/null +++ b/src/overrides/config/portality/modules.toml @@ -0,0 +1 @@ + diff --git a/src/overrides/config/portality/portality-1.toml.bak b/src/overrides/config/portality/portality-1.toml.bak new file mode 100644 index 0000000..90c5840 --- /dev/null +++ b/src/overrides/config/portality/portality-1.toml.bak @@ -0,0 +1,33 @@ + +[PortalityConfig] + #How tall a portal can be (diameter) + #Range: > 3 + MAX_PORTAL_HEIGHT = 15 + #If true players will get the wither effect if there isn't enough power to teleport + HURT_PLAYERS = true + #How much power it will be consumed to open the portal interdimensionally + #Range: > 1 + PORTAL_POWER_OPEN_INTERDIMENSIONAL = 10000 + #If true players will be launched out of the portal instead of standing still in front of it + LAUNCH_PLAYERS = true + #How long the portal structure it can be + MAX_PORTAL_LENGTH = 16 + #How much power it will be consumed/tick based on the portal length and if it is the caller. (portalLength*ThisValue). If it is the portal the created the link the power will be double + #Range: > 1 + POWER_PORTAL_TICK = 1 + #Max distance multiplier that a portal can be linked, based on length. PortalLength*ThisValue + #Range: > 1 + DISTANCE_MULTIPLIER = 200 + #The amount of energy it will be consumed to teleport an entity + #Range: > 1 + TELEPORT_ENERGY_AMOUNT = 500 + #How wide a portal can be without counting the controller(radius) + #Range: > 1 + MAX_PORTAL_WIDTH = 7 + #Portal energy buffer insertion rate + #Range: > 1 + MAX_PORTAL_POWER_IN = 2000 + #Portal energy buffer + #Range: > 1 + MAX_PORTAL_POWER = 100000 + diff --git a/src/overrides/config/portality/portality.toml b/src/overrides/config/portality/portality.toml new file mode 100644 index 0000000..90c5840 --- /dev/null +++ b/src/overrides/config/portality/portality.toml @@ -0,0 +1,33 @@ + +[PortalityConfig] + #How tall a portal can be (diameter) + #Range: > 3 + MAX_PORTAL_HEIGHT = 15 + #If true players will get the wither effect if there isn't enough power to teleport + HURT_PLAYERS = true + #How much power it will be consumed to open the portal interdimensionally + #Range: > 1 + PORTAL_POWER_OPEN_INTERDIMENSIONAL = 10000 + #If true players will be launched out of the portal instead of standing still in front of it + LAUNCH_PLAYERS = true + #How long the portal structure it can be + MAX_PORTAL_LENGTH = 16 + #How much power it will be consumed/tick based on the portal length and if it is the caller. (portalLength*ThisValue). If it is the portal the created the link the power will be double + #Range: > 1 + POWER_PORTAL_TICK = 1 + #Max distance multiplier that a portal can be linked, based on length. PortalLength*ThisValue + #Range: > 1 + DISTANCE_MULTIPLIER = 200 + #The amount of energy it will be consumed to teleport an entity + #Range: > 1 + TELEPORT_ENERGY_AMOUNT = 500 + #How wide a portal can be without counting the controller(radius) + #Range: > 1 + MAX_PORTAL_WIDTH = 7 + #Portal energy buffer insertion rate + #Range: > 1 + MAX_PORTAL_POWER_IN = 2000 + #Portal energy buffer + #Range: > 1 + MAX_PORTAL_POWER = 100000 + diff --git a/src/overrides/config/randomium-common.toml b/src/overrides/config/randomium-common.toml new file mode 100644 index 0000000..75a4f8c --- /dev/null +++ b/src/overrides/config/randomium-common.toml @@ -0,0 +1,48 @@ + +[spawns] + #Overworld spawn chance + #Range: 0 ~ 50 + spawn_attempts_per_chunk = 4 + #End spawn chance + #Range: 0 ~ 50 + end_spawn_attempts_per_chunk = 5 + +[interactions] + #Chance for teleport action to be picked + #Range: 0 ~ 100 + teleport_chance = 8 + #Chance for the block to try to move when it's attacked, picking one of the following actions + #Range: 0 ~ 100 + excite_chance_on_attack = 70 + #Chance for horizontal move action to be picked + #Range: 0 ~ 100 + move_chance = 40 + #Chance for the block to try to move when it receives a block update, picking one of the following actions. You might want to disable this as it could break flying machines that run into it since it might teleport into them when they touch it + #Range: 0 ~ 100 + excite_chance_on_block_update = 25 + #Chance for fly up action to be picked + #Range: 0 ~ 100 + fly_chance = 2 + #Excitement multiplier if silk touch is used on the block. The lower the value the less likely it will move + #Range: 0.0 ~ 1.0 + silk_touch_multiplier = 0.5 + #Chance for fall action to be picked + #Range: 0 ~ 100 + fall_chance = 30 + +[drops] + #Multiplier applied to each luck level the player has + #Range: 0.0 ~ 20.0 + luck_multiplier = 0.0 + #Multiplier applied to each fortune level the player has + #Range: 0.0 ~ 20.0 + fortune_multiplier = 0.0 + #Base randomium drop chance (in percentage, so out of 100). Final chance will be [base_chance + luck*luck_multiplier + fortune*fortune_multiplier] + #Range: 0.0 ~ 100.0 + base_drop_chance = 0.0 + #Allow the block to be silk touched + allow_silk_touch = true + #Loot mode: decides if it can drop everything except blacklist or only stuff on the whitelist + #Allowed Values: BLACKLIST, WHITELIST + loot_mode = "BLACKLIST" + diff --git a/src/overrides/config/repurposed_structures-forge/bastions.toml b/src/overrides/config/repurposed_structures-forge/bastions.toml new file mode 100644 index 0000000..964b666 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/bastions.toml @@ -0,0 +1,7 @@ +# +# Average distance between spawn attempts for Underground Bastions in +# biomes not tagged as ocean, beach, end, nether, or none category. +# 1 for spawning in most chunks and 10001 for none. +#Range: 1 ~ 10001 +bastionUndergroundMaxChunkDistance = 500 + diff --git a/src/overrides/config/repurposed_structures-forge/biome_dimension_allow_disallow_configs.json5 b/src/overrides/config/repurposed_structures-forge/biome_dimension_allow_disallow_configs.json5 new file mode 100644 index 0000000..3e8ce11 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/biome_dimension_allow_disallow_configs.json5 @@ -0,0 +1,155 @@ +{ + // + + + + + + +// In the key part, specify the name of the structures or configuredfeatures from +// Repurposed Structures that you want to affect. Then in the value part, add the identifiers +// or regex for the dimension that you want Repurposed Structures stuff to NOT spawn in. + +// Separate multiple entries with a comma. +// Example usage (the actual config entry to edit are the lines not starting with // further down): +// "disallowedDimensions": { +// "repurposed_structures:village_birch": "minecraft:overworld, awesome_mod:.+" +// } + +// In this example, no Birch village will spawn in the overworld because we specified that dimension's identifier. +// Then the village will not spawn in any of awesome_mod's dimension because "awesome_mod:.+" is regex that will +// match all dimensions that starts with "awesome_mod:" in their identifier. Powerful stuff! + +// Use "all" as the key to affect all of RS's structures and configuredfeatures. +// You can find dimension identifiers by doing "/execute in" command in game. +// All of RS's structure identifiers can be found by doing "/locate" command in game. +// RS's dungeons and wells identifiers can be found here on GitHub: +// https://github.com/TelepathicGrunt/RepurposedStructures/blob/27c8c23d5b6ee1ba1f894df874d62e5982d39fd5/src/main/java/com/telepathicgrunt/repurposedstructures/modinit/RSConfiguredFeatures.java#L251-L273 + "disallowedDimensions": { + "all": "the_bumblezone:the_bumblezone, twilightforest:twilightforest, undergarden:undergarden, custommoon:moon, the_midnight:the_midnight, advancedrocketry:.+, theabyss:.+, pokecube:secret_base, pokecube_legends:distorted_world, pokecube_legends:ultraspace, dystopia:dystopia, elvenation:elvenia_dimension, futurepack:.+, the_afterlight:.+, lotr:middle_earth", + "repurposed_structures:well_badlands": "aoa3:barathos", + "repurposed_structures:village_badlands": "aoa3:barathos", + "repurposed_structures:outpost_badlands": "aoa3:barathos", + "repurposed_structures:mineshaft_desert": "atum:atum" + }, + // + + + + + + +// RS's Structures and ConfiguredFeatures has default settings of what dimensions they are added to. +// This allowedDimensions config is for adding them to more dimension or for overriding disallowedDimensions config. +// NOTE: A Structure or ConfiguredFeature must be added to both the dimension and to the biomes in the dimension to spawn. + +// In the key part, specify the name of the structures or configuredfeatures from +// Repurposed Structures that you want to affect. Then in the value part, add the identifiers +// or regex for the dimension that you want Repurposed Structures stuff to ALWAYS spawn in. + +// Separate multiple entries with a comma. +// Example usage (the actual config entry to edit are the lines not starting with // further down): +// "allowedDimensions": { +// "repurposed_structures:stronghold_nether": "minecraft:overworld, firey_realms:.+" +// }, + +// In this example, Nether Strongholds will spawn in the overworld because we specified that dimension's identifier. +// Then the Nether Strongholds will also spawn in any of awesome_mod's dimension because "firey_realms:.+" is regex that will +// match all dimensions that starts with "firey_realms:" in their identifier. Powerful stuff! + +// Use "all" as the key to affect all of RS's structures and configuredfeatures. +// You can find dimension identifiers by doing "/execute in" command in game. +// All of RS's structure identifiers can be found by doing "/locate" command in game. +// RS's dungeons and wells identifiers can be found here on GitHub: +// https://github.com/TelepathicGrunt/RepurposedStructures/blob/27c8c23d5b6ee1ba1f894df874d62e5982d39fd5/src/main/java/com/telepathicgrunt/repurposedstructures/modinit/RSConfiguredFeatures.java#L251-L273 + "allowedDimensions": { + "repurposed_structures:pyramid_jungle": "futurepack:tyros", + "repurposed_structures:ruins_land_warm": "dystopia:dystopia, elvenation:elvenia_dimension, futurepack:tyros, lotr:middle_earth", + "repurposed_structures:bastion_underground": "dystopia:dystopia, elvenation:elvenia_dimension, futurepack:tyros", + "repurposed_structures:well_mossy_stone": "futurepack:tyros, lotr:middle_earth", + "repurposed_structures:well_forest": "lotr:middle_earth", + "repurposed_structures:pyramid_snowy": "lotr:middle_earth", + "repurposed_structures:mineshaft_jungle": "futurepack:tyros", + "repurposed_structures:igloo_grassy": "elvenation:elvenia_dimension", + "repurposed_structures:well_snow": "lotr:middle_earth", + "repurposed_structures:dungeons_jungle": "futurepack:tyros" + }, + // + + + + + + +// RS's Structures and ConfiguredFeatures has default settings of what biomes they are added to. +// This disallowedBiomes config is for overriding that internal default setting. + +// In the key part, specify the name of the structures or configuredfeatures from +// Repurposed Structures that you want to affect. Then in the value part, add the identifiers +// or regex for the biomes that you want Repurposed Structures stuff to NOT spawn in. +// You can also do biome categories as well by doing #swamp to remove from all swamp category biomes. + +// Separate multiple entries with a comma. +// Example usage (the actual config entry to edit are the lines not starting with // further down): +// "disallowedBiomes": { +// "repurposed_structures:bastion_underground": "minecraft:flower_forest, peaceful_lands:.+, #mushroom" +// } + +// In this example, Underground Bastions are remvoed from Flower Forest biome because we specified that biomes's identifier. +// Then the Underground Bastions will also be removed from all of peaceful_lands's biomes because "peaceful_lands:.+" is regex +// that will match all biomes that starts with "peaceful_lands:" in their identifier. Powerful stuff! +// Then it will remove the Underground Bastions from all mushroom category biomes including both modded and vanilla's.\n +// Use "all" as the key to affect all of RS's structures and configuredfeatures. +// You can find biome identifiers by doing "/locatebiome" command in game. +// All of RS's structure identifiers can be found by doing "/locate" command in game. +// RS's dungeons and wells identifiers can be found here on GitHub: +// https://github.com/TelepathicGrunt/RepurposedStructures/blob/27c8c23d5b6ee1ba1f894df874d62e5982d39fd5/src/main/java/com/telepathicgrunt/repurposedstructures/modinit/RSConfiguredFeatures.java#L251-L273 + "disallowedBiomes": { + "repurposed_structures:village_oak": "vampirism:vampire_forest", + "repurposed_structures:witch_hut_oak": "vampirism:vampire_forest", + "repurposed_structures:outpost_oak": "vampirism:vampire_forest", + "repurposed_structures:well_forest": "vampirism:vampire_forest" + }, + // + + + + + + +// RS's Structures and ConfiguredFeatures has default settings of what biomes they are added to. +// This allowedBiomes config is for adding them to more biomes or for overriding disallowedBiomes config. +// NOTE: A Structure or ConfiguredFeature must be added to both the dimension and to the biomes in the dimension to spawn. + +// In the key part, specify the name of the structures or configuredfeatures from +// Repurposed Structures that you want to affect. Then in the value part, add the identifiers +// or regex for the biomes that you want Repurposed Structures stuff to ALWAYS spawn in. +// You can also do biome categories as well by doing #forest to add to all forest category biomes. + +// Separate multiple entries with a comma. +// Example usage (the actual config entry to edit are the lines not starting with // further down): +// "allowedBiomes": { +// "repurposed_structures:mansion_taiga": "minecraft:badlands, fantasy_overworld:.+, #desert" +// } + +// In this example, Taiga Mansions will spawn in the one Badlands biome because we specified that biomes's identifier. +// Then the Taiga Mansions will also spawn in all of fantasy_overworld's biomes because "fantasy_overworld:.+" is regex +// that will match all biomes that starts with "fantasy_overworld:" in their identifier. Powerful stuff! +// Then it will add the Taiga Mansion to all Desert category biomes including both modded and vanilla's. + +// Use "all" as the key to affect all of RS's structures and configuredfeatures. +// You can find biome identifiers by doing "/locatebiome" command in game. +// All of RS's structure identifiers can be found by doing "/locate" command in game. +// RS's dungeons and wells identifiers can be found here on GitHub: +// https://github.com/TelepathicGrunt/RepurposedStructures/blob/27c8c23d5b6ee1ba1f894df874d62e5982d39fd5/src/main/java/com/telepathicgrunt/repurposedstructures/modinit/RSConfiguredFeatures.java#L251-L273 + "allowedBiomes": {}, + // + + + + + + +// for internal use only. Do not change this. + "configVersion": 5 +} diff --git a/src/overrides/config/repurposed_structures-forge/cities.toml b/src/overrides/config/repurposed_structures-forge/cities.toml new file mode 100644 index 0000000..a7ab859 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/cities.toml @@ -0,0 +1,6 @@ +# +# Average distance between spawn attempts for Nether Cities. +# 1 for spawning in most chunks and 1001 for none. +#Range: 1 ~ 1001 +citiesNetherMaxChunkDistance = 120 + diff --git a/src/overrides/config/repurposed_structures-forge/dungeons-1.toml.bak b/src/overrides/config/repurposed_structures-forge/dungeons-1.toml.bak new file mode 100644 index 0000000..e69de29 diff --git a/src/overrides/config/repurposed_structures-forge/dungeons.toml b/src/overrides/config/repurposed_structures-forge/dungeons.toml new file mode 100644 index 0000000..6ccd3e3 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/dungeons.toml @@ -0,0 +1,87 @@ +# +# Whether End Dungeons spawns Shulker Boxes. if false, spawns regular Chests instead. +#(Configuredfeatures are unable to be overridden by datapack due to bad Forge hook placement. Hence this config option) +shulkerBoxInEndDungeons = true + +#----------------------------------------------------------------------------------------- +# How many positions Repurposed Structures Dungeons will pick per chunk to check if it can spawn at those positions. +# Will replace Vanilla Dungeons with RS's themed dungeons if both would've been in same biome. (except for RS's Ocean Dungeon) +# 0 for no Dungeons at all and 1000 for max Dungeon spawnrate. +# Note: Vanilla Dungeons will spawn again if a RS Dungeon's entry is set to 0 for the biome. +[AttemptsPerChunk] + #Range: 0 ~ 1000 + jungleDungeonAttemptsPerChunk = 8 + #Range: 0 ~ 1000 + mushroomDungeonAttemptsPerChunk = 8 + #Range: 0 ~ 1000 + darkForestDungeonAttemptsPerChunk = 8 + #Range: 0 ~ 1000 + desertDungeonAttemptsPerChunk = 8 + #Range: 0 ~ 1000 + snowDungeonAttemptsPerChunk = 8 + #Range: 0 ~ 1000 + badlandsDungeonAttemptsPerChunk = 8 + #Range: 0 ~ 1000 + oceanDungeonAttemptsPerChunk = 4 + #Range: 0 ~ 1000 + endDungeonAttemptsPerChunk = 12 + #Range: 0 ~ 1000 + netherDungeonAttemptsPerChunk = 12 + #Range: 0 ~ 1000 + swampDungeonAttemptsPerChunk = 8 + +#----------------------------------------------------------------------------------------- +# Minimum Y height that this dungeon can spawn at. +# Note: The dungeon will spawn between min and max y height set in config. +["Min Height"] + #Range: 2 ~ 255 + desertDungeonMinHeight = 2 + #Range: 2 ~ 255 + mushroomDungeonMinHeight = 2 + #Range: 2 ~ 255 + badlandsDungeonMinHeight = 2 + #Range: 2 ~ 255 + darkForestDungeonMinHeight = 2 + #Range: 2 ~ 255 + netherDungeonMinHeight = 2 + #Range: 3 ~ 255 + oceanDungeonMinHeight = 3 + #Range: 2 ~ 255 + icyDungeonMinHeight = 2 + #Range: 2 ~ 255 + snowDungeonMinHeight = 2 + #Range: 2 ~ 255 + swampDungeonMinHeight = 2 + #Range: 2 ~ 255 + endDungeonMinHeight = 2 + #Range: 2 ~ 255 + jungleDungeonMinHeight = 2 + +#----------------------------------------------------------------------------------------- +# Maximum Y height that this dungeon can spawn at. +# Note: The dungeon will spawn between min and max y height set in config. +# Setting this to below min height config will make dungeon spawn only at min height. +["Max Height"] + #Range: 2 ~ 255 + icyDungeonMaxHeight = 255 + #Range: 2 ~ 255 + endDungeonMaxHeight = 255 + #Range: 2 ~ 255 + badlandsDungeonMaxHeight = 255 + #Range: 2 ~ 255 + netherDungeonMaxHeight = 255 + #Range: 3 ~ 255 + oceanDungeonMaxHeight = 255 + #Range: 2 ~ 255 + darkForestDungeonMaxHeight = 255 + #Range: 2 ~ 255 + mushroomDungeonMaxHeight = 255 + #Range: 2 ~ 255 + jungleDungeonMaxHeight = 255 + #Range: 2 ~ 255 + swampDungeonMaxHeight = 255 + #Range: 2 ~ 255 + desertDungeonMaxHeight = 255 + #Range: 2 ~ 255 + snowDungeonMaxHeight = 255 + diff --git a/src/overrides/config/repurposed_structures-forge/fortresses.toml b/src/overrides/config/repurposed_structures-forge/fortresses.toml new file mode 100644 index 0000000..0cf9810 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/fortresses.toml @@ -0,0 +1,24 @@ +# +# Average distance between spawn attempts for Jungle Fortresses. +# 1 for spawning in most chunks and 1001 for no spawn. +#Range: 1 ~ 1001 +jungleFortressMaxChunkDistance = 50 +# +# Size of the fortress. This is how many pieces long a branch can be from the start piece. +#Range: 1 ~ 30 +jungleFortressSize = 10 +# +# Min Y height that the starting point can spawn at. +#Range: 0 ~ 255 +jungleFortressMinHeight = 56 +# +# Max Y height that the starting point can spawn at. +# +#If below min height, this will be read as min. +#Range: 0 ~ 255 +jungleFortressMaxHeight = 63 +# +# How far above or below the fortress's pieces can generate away from the center piece. +#Range: 0 ~ 255 +jungleFortressVerticalRange = 33 + diff --git a/src/overrides/config/repurposed_structures-forge/igloos-1.toml.bak b/src/overrides/config/repurposed_structures-forge/igloos-1.toml.bak new file mode 100644 index 0000000..e69de29 diff --git a/src/overrides/config/repurposed_structures-forge/igloos.toml b/src/overrides/config/repurposed_structures-forge/igloos.toml new file mode 100644 index 0000000..f140a9f --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/igloos.toml @@ -0,0 +1,11 @@ +# +# Average distance between spawn attempts for Grassy Igloos in Plains and Forests. +# 1 for spawning in most chunks and 1001 for no spawn. +#Range: 1 ~ 1001 +grassyIglooMaxChunkDistance = 20 +# +# Average distance between spawn attempts for Stone Igloos in Giant Tree Taiga biomes. +# 1 for spawning in most chunks and 1001 for no spawn. +#Range: 1 ~ 1001 +stoneIglooMaxChunkDistance = 20 + diff --git a/src/overrides/config/repurposed_structures-forge/mansions.toml b/src/overrides/config/repurposed_structures-forge/mansions.toml new file mode 100644 index 0000000..397dbdc --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/mansions.toml @@ -0,0 +1,22 @@ +# +# Average distance between spawn attempts for Repurposed Structures Mansions. +# 1 for spawning in most chunks and 1001 for none. +#Range: 1 ~ 1001 +mansionBirchMaxChunkDistance = 180 +#Range: 1 ~ 1001 +mansionJungleMaxChunkDistance = 225 +#Range: 1 ~ 1001 +mansionOakMaxChunkDistance = 205 +#Range: 1 ~ 1001 +mansionSavannaMaxChunkDistance = 225 +#Range: 1 ~ 1001 +mansionTaigaMaxChunkDistance = 205 +#Range: 1 ~ 1001 +mansionDesertMaxChunkDistance = 225 +#Range: 1 ~ 1001 +mansionSnowyMaxChunkDistance = 225 +# +# Only make supports downward if there is land below. +# (Helps make structure look better in floating island worlds instead of support going down to void at world bottom) +pillarOnlyToLand = true + diff --git a/src/overrides/config/repurposed_structures-forge/mineshafts.toml b/src/overrides/config/repurposed_structures-forge/mineshafts.toml new file mode 100644 index 0000000..52008cc --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/mineshafts.toml @@ -0,0 +1,139 @@ + +#----------------------------------------------------------------------------------------- +# Controls the probability of spawning a Repurposed Structures Mineshafts per chunk. +# Will replace Vanilla Mineshafts with RS's themed Mineshafts if both would've been in same biome. +# 0 is no Mineshafts while 1000 is max spawnrate. +# Note: Vanilla Mineshafts will spawn again if a RS Mineshafts's entry is set to 0 for the biome. +[Spawnrate] + #Range: 0.0 ~ 1000.0 + jungleMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + taigaMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + birchMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + desertMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + oceanMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + stoneMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + icyMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + swampMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + crimsonMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + darkForestMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + netherMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + savannaMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + endMineshaftSpawnrate = 40.0 + #Range: 0.0 ~ 1000.0 + warpedMineshaftSpawnrate = 40.0 + +#----------------------------------------------------------------------------------------- +# Minimum Y height that this mineshaft can spawn at. +# Note: The mineshaft will spawn between min and max y height set in config. +["Min height"] + #Range: 5 ~ 255 + swampMineshaftMinHeight = 8 + #Range: 5 ~ 255 + netherMineshaftMinHeight = 6 + #Range: 5 ~ 255 + oceanMineshaftMinHeight = 8 + #Range: 5 ~ 255 + savannaMineshaftMinHeight = 8 + #Range: 5 ~ 255 + icyMineshaftMinHeight = 8 + #Range: 5 ~ 255 + jungleMineshaftMinHeight = 8 + #Range: 5 ~ 255 + warpedMineshaftMinHeight = 6 + #Range: 5 ~ 255 + crimsonMineshaftMinHeight = 6 + #Range: 5 ~ 255 + taigaMineshaftMinHeight = 8 + #Range: 5 ~ 255 + darkForestMineshaftMinHeight = 8 + #Range: 5 ~ 255 + birchMineshaftMinHeight = 8 + #Range: 5 ~ 255 + stoneMineshaftMinHeight = 8 + #Range: 5 ~ 255 + desertMineshaftMinHeight = 8 + +#----------------------------------------------------------------------------------------- +# Maximum Y height that this mineshaft can spawn at. +# Note: The mineshaft will spawn between min and max y height set in config. +# Setting this to below min height config will make mineshaft spawn only at min height. +["Max height"] + #Range: 5 ~ 255 + swampMineshaftMaxHeight = 45 + #Range: 5 ~ 255 + taigaMineshaftMaxHeight = 45 + #Range: 5 ~ 255 + darkForestMineshaftMaxHeight = 45 + #Range: 5 ~ 255 + stoneMineshaftMaxHeight = 45 + #Range: 5 ~ 255 + icyMineshaftMaxHeight = 45 + #Range: 5 ~ 255 + oceanMineshaftMaxHeight = 26 + #Range: 5 ~ 255 + crimsonMineshaftMaxHeight = 14 + #Range: 5 ~ 255 + desertMineshaftMaxHeight = 45 + #Range: 5 ~ 255 + warpedMineshaftMaxHeight = 14 + #Range: 5 ~ 255 + birchMineshaftMaxHeight = 45 + #Range: 5 ~ 255 + netherMineshaftMaxHeight = 17 + #Range: 5 ~ 255 + jungleMineshaftMaxHeight = 45 + #Range: 5 ~ 255 + savannaMineshaftMaxHeight = 45 + +#----------------------------------------------------------------------------------------- +# Size of the mineshaft. This is how many pieces long a branch can be from the start piece. +[Size] + #Range: 1 ~ 30 + swampMineshaftSize = 9 + #Range: 1 ~ 30 + darkForestMineshaftSize = 9 + #Range: 1 ~ 30 + jungleMineshaftSize = 9 + #Range: 1 ~ 30 + endMineshaftSize = 11 + #Range: 1 ~ 30 + birchMineshaftSize = 9 + #Range: 1 ~ 30 + savannaMineshaftSize = 9 + #Range: 1 ~ 30 + desertMineshaftSize = 9 + #Range: 1 ~ 30 + crimsonMineshaftSize = 10 + #Range: 1 ~ 30 + netherMineshaftSize = 10 + #Range: 1 ~ 30 + oceanMineshaftSize = 9 + #Range: 1 ~ 30 + warpedMineshaftSize = 10 + #Range: 1 ~ 30 + stoneMineshaftSize = 9 + #Range: 1 ~ 30 + icyMineshaftSize = 9 + #Range: 1 ~ 30 + taigaMineshaftSize = 9 + +[Misc] + # + # The minimum thickness of End islands that the End Mineshaft can spawn in. + #So 30 means the End Mineshaft will spawn in land that is at least 30 blocks vertically in the area. + #Do 0 to turn off this check and allow the End Mineshaft to spawn anywhere including floating in midair. + #Range: 0 ~ 256 + endMineshaftMinIslandThickness = 30 + diff --git a/src/overrides/config/repurposed_structures-forge/modded_loot.toml b/src/overrides/config/repurposed_structures-forge/modded_loot.toml new file mode 100644 index 0000000..37caa23 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/modded_loot.toml @@ -0,0 +1,8 @@ +#Adds modded loot from vanilla structure's loot tables and injects them into Repurposed Structure's loot tables. +#Example: Snowy Pyramid gets all modded items that vanilla Desert Temple can have. +importModdedItems = true +#Add the identifiers for Repurposed Structures's loottable you want to turn off the automatic modded item importing code for. +#Separate multiple entries with a comma. +#Example: "repurposed_structures:chests/mansions/birch, repurposed_structures:chests/mineshafts/jungle" +blacklistedRSLoottablesFromImportingModdedItems = "" + diff --git a/src/overrides/config/repurposed_structures-forge/natural_mob_spawning_configs.json5 b/src/overrides/config/repurposed_structures-forge/natural_mob_spawning_configs.json5 new file mode 100644 index 0000000..dd01af8 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/natural_mob_spawning_configs.json5 @@ -0,0 +1,374 @@ +{ + // + + + + + + +// In the key part, specify the name of the structures from Repurposed Structures that +// you want to affect. Then in the value part, add entries for all the mobs you would like +// to spawn over time in the structure's bounds. This entry will ignore biome's mob spawns +// entirely when spawning a mob in the structure's boundary after worldgen is done. +// This means you will not see the biome's mobs in the structure. + +// The change only applies to SpawnGroups of the mobs you add to this config. +// Example: adding Wither Skeletons here to Birch Villages will make all Monster +// SpawnGroup spawns be Wither Skeletons in the village but Creature and other +// SpawnGroups will spawn just fine over time in the village such as sheep or cow. + +// Use "all" as the key to affect all of RS's structures. +// You can find entity's identifiers by doing "/effect @e[type=" command in game. +// All of RS's structure identifiers can be found by doing "/locate" command in game. + +// NOTE: replaceMobSpawns will always override appendMobSpawns for the same structure and mob's SpawnGroups. + "replaceMobSpawns": { + "repurposed_structures:city_nether": [ + { + "type": "minecraft:blaze", + "weight": 120, + "minGroupSize": 1, + "maxGroupSize": 4, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:wither_skeleton", + "weight": 10, + "minGroupSize": 2, + "maxGroupSize": 3, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_snowy": [ + { + "type": "minecraft:pillager", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:witch_hut_birch": [ + { + "type": "minecraft:witch", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:cat", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_jungle": [ + { + "type": "minecraft:pillager", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_taiga": [ + { + "type": "minecraft:pillager", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_crimson": [ + { + "type": "minecraft:piglin", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:witch_hut_dark_forest": [ + { + "type": "minecraft:witch", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:cat", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:witch_hut_taiga": [ + { + "type": "minecraft:witch", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:cat", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_desert": [ + { + "type": "minecraft:pillager", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:bastion_underground": [ + { + "type": "minecraft:skeleton", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 4, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_nether_brick": [ + { + "type": "minecraft:piglin", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_giant_tree_taiga": [ + { + "type": "minecraft:pillager", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_badlands": [ + { + "type": "minecraft:pillager", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_icy": [ + { + "type": "minecraft:pillager", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_birch": [ + { + "type": "minecraft:pillager", + "weight": 1, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:witch_hut_giant_tree_taiga": [ + { + "type": "minecraft:witch", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:cat", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_warped": [ + { + "type": "minecraft:piglin", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_end": [ + { + "type": "minecraft:phantom", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:outpost_oak": [ + { + "type": "minecraft:pillager", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:stronghold_nether": [ + { + "type": "minecraft:blaze", + "weight": 10, + "minGroupSize": 2, + "maxGroupSize": 3, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:zombified_piglin", + "weight": 3, + "minGroupSize": 4, + "maxGroupSize": 4, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:wither_skeleton", + "weight": 10, + "minGroupSize": 5, + "maxGroupSize": 5, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:skeleton", + "weight": 2, + "minGroupSize": 5, + "maxGroupSize": 5, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:magma_cube", + "weight": 3, + "minGroupSize": 4, + "maxGroupSize": 4, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:witch_hut_oak": [ + { + "type": "minecraft:witch", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:cat", + "weight": 10, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ] + }, + // + + + + + + +// In the key part, specify the name of the structures from Repurposed Structures that +// you want to affect. Then in the value part, add entries for all the mobs you would like +// to spawn over time in the structure's bounds. This entry will combine with the biome's +// mob spawns when spawning a mob in the structure's boundary after worldgen is done. +// This means you will see both biome's and structure's mobs in the structure. + +// Use "all" as the key to affect all of RS's structures. +// You can find entity's identifiers by doing "/effect @e[type=" command in game. +// All of RS's structure identifiers can be found by doing "/locate" command in game. + "appendMobSpawns": { + "repurposed_structures:mineshaft_end": [ + { + "type": "minecraft:endermite", + "weight": 10, + "minGroupSize": 2, + "maxGroupSize": 5, + "logErrorIfNotFound": true + }, + { + "type": "minecraft:enderman", + "weight": 5, + "minGroupSize": 1, + "maxGroupSize": 3, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:shipwreck_nether_bricks": [ + { + "type": "minecraft:wither_skeleton", + "weight": 25, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:shipwreck_crimson": [ + { + "type": "minecraft:wither_skeleton", + "weight": 25, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:stronghold_end": [ + { + "type": "minecraft:endermite", + "weight": 100, + "minGroupSize": 2, + "maxGroupSize": 4, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:shipwreck_warped": [ + { + "type": "minecraft:wither_skeleton", + "weight": 25, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ], + "repurposed_structures:fortress_jungle": [ + { + "type": "minecraft:wither_skeleton", + "weight": 27, + "minGroupSize": 1, + "maxGroupSize": 1, + "logErrorIfNotFound": true + } + ] + }, + // + + + + + + +// for internal use only. Do not change this. + "configVersion": 2 +} diff --git a/src/overrides/config/repurposed_structures-forge/outposts.toml b/src/overrides/config/repurposed_structures-forge/outposts.toml new file mode 100644 index 0000000..565ee03 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/outposts.toml @@ -0,0 +1,34 @@ + +#----------------------------------------------------------------------------------------- +# Average distance between spawn attempts for Repurposed Structures Outposts. +# Will replace Vanilla Outposts with RS's themed Outposts if both would've been in same biome. +# 1 for spawning in most chunks and 1001 for none. +# Note: Vanilla Outposts will spawn again if a RS Outpost's entry is set to 1001 for the biome. +[Outposts] + #Range: 1 ~ 1001 + warpedOutpostMaxChunkDistance = 34 + #Range: 1 ~ 1001 + crimsonOutpostMaxChunkDistance = 34 + #Range: 1 ~ 1001 + outpostOakMaxChunkDistance = 45 + #Range: 1 ~ 1001 + netherBrickOutpostMaxChunkDistance = 34 + #Range: 1 ~ 1001 + outpostBadlandsMaxChunkDistance = 45 + #Range: 1 ~ 1001 + outpostTaigaMaxChunkDistance = 45 + #Range: 1 ~ 1001 + outpostJungleMaxChunkDistance = 45 + #Range: 1 ~ 1001 + outpostEndMaxChunkDistance = 61 + #Range: 1 ~ 1001 + outpostSnowyMaxChunkDistance = 45 + #Range: 1 ~ 1001 + outpostBirchMaxChunkDistance = 45 + #Range: 1 ~ 1001 + outpostIcyMaxChunkDistance = 41 + #Range: 1 ~ 1001 + outpostGiantTreeTaigaMaxChunkDistance = 45 + #Range: 1 ~ 1001 + outpostDesertMaxChunkDistance = 45 + diff --git a/src/overrides/config/repurposed_structures-forge/pyramids.toml b/src/overrides/config/repurposed_structures-forge/pyramids.toml new file mode 100644 index 0000000..089db09 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/pyramids.toml @@ -0,0 +1,24 @@ +#Range: 1 ~ 1001 +netherPyramidMaxChunkDistance = 37 +# +# Average distance between spawn attempts for Repurposed Structures Pyramids. +# 1 for spawning in most chunks and 1001 for none. +#Range: 1 ~ 1001 +badlandsPyramidMaxChunkDistance = 40 +#Range: 1 ~ 1001 +pyramidSnowyMaxChunkDistance = 40 +#Range: 1 ~ 1001 +pyramidEndMaxChunkDistance = 68 +#Range: 1 ~ 1001 +pyramidIcyMaxChunkDistance = 37 +#Range: 1 ~ 1001 +pyramidJungleMaxChunkDistance = 44 +#Range: 1 ~ 1001 +pyramidMushroomMaxChunkDistance = 24 +#Range: 1 ~ 1001 +pyramidOceanMaxChunkDistance = 40 +#Range: 1 ~ 1001 +pyramidGiantTreeTaigaMaxChunkDistance = 40 +#Range: 1 ~ 1001 +pyramidFlowerForestMaxChunkDistance = 36 + diff --git a/src/overrides/config/repurposed_structures-forge/ruined_portals.toml b/src/overrides/config/repurposed_structures-forge/ruined_portals.toml new file mode 100644 index 0000000..523b3f5 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/ruined_portals.toml @@ -0,0 +1,6 @@ +# +# Average distance between spawn attempts for End themed Ruined Portals in End category biomes. +# 1 for spawning in most chunks and 1001 for none. +#Range: 1 ~ 1001 +ruinedPortalEndMaxChunkDistance = 57 + diff --git a/src/overrides/config/repurposed_structures-forge/ruins.toml b/src/overrides/config/repurposed_structures-forge/ruins.toml new file mode 100644 index 0000000..3cb2df3 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/ruins.toml @@ -0,0 +1,10 @@ +# +# Average distance between spawn attempts for Repurposed Structures Ruins. +# 1 for spawning in most chunks and 1001 for none. +#Range: 1 ~ 1001 +ruinsNetherMaxChunkDistance = 35 +#Range: 1 ~ 1001 +ruinsLandWarmMaxChunkDistance = 42 +#Range: 1 ~ 1001 +ruinsLandHotMaxChunkDistance = 45 + diff --git a/src/overrides/config/repurposed_structures-forge/shipwrecks.toml b/src/overrides/config/repurposed_structures-forge/shipwrecks.toml new file mode 100644 index 0000000..8343946 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/shipwrecks.toml @@ -0,0 +1,14 @@ + +#----------------------------------------------------------------------------------------- +# Average distance between spawn attempts for Repurposed Structures Shipwrecks. +# 1 for spawning in most chunks and 1001 for none. +[Shipwrecks] + #Range: 1 ~ 1001 + netherBricksShipwreckMaxChunkDistance = 29 + #Range: 1 ~ 1001 + crimsonShipwreckMaxChunkDistance = 27 + #Range: 1 ~ 1001 + endShipwreckMaxChunkDistance = 24 + #Range: 1 ~ 1001 + warpedShipwreckMaxChunkDistance = 27 + diff --git a/src/overrides/config/repurposed_structures-forge/strongholds.toml b/src/overrides/config/repurposed_structures-forge/strongholds.toml new file mode 100644 index 0000000..c3b8e0f --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/strongholds.toml @@ -0,0 +1,51 @@ + +[Nether] + # + # Minimum Y height that Nether stronghold's starting point can spawn at. + # Note: Strongholds will spawn between min and max y height set in config. + #Range: 0 ~ 255 + netherStrongholdMinHeight = 10 + # + # Size of Nether Stronghold. This number is how many pieces deep a branch can go from the center piece. + # 1 for supertiny and 30 for supermassive Strongholds. + #Range: 1 ~ 30 + netherStrongholdSize = 15 + # + # Average distance between spawn attempts for Nether-styled Strongholds in Nether-category biomes. + # 1 for spawning in most chunks and 1001 for no spawn. + #Range: 1 ~ 1001 + netherStrongholdMaxChunkDistance = 85 + # + # Maximum Y height that Nether stronghold's starting point can spawn at. + # Note: Strongholds will spawn between min and max y height set in config. + # Setting this to below min height config will make strongholds spawn only at min height. + #Range: 0 ~ 255 + netherStrongholdMaxHeight = 31 + +[End] + # + # Average distance between spawn attempts for End-styped Strongholds in End biome's islands. + # 1 for spawning in most chunks and 10001 for none. + #Range: 1 ~ 1001 + strongholdEndAverageChunkDistance = 130 + # + # How far above or below the End Stronghold's pieces can generate away from the center piece. + #Range: 0 ~ 255 + strongholdEndVerticalRange = 45 + # + # Minimum Y height that End stronghold's starting point can spawn at. + # Note: Strongholds will spawn between min and max y height set in config. + #Range: 0 ~ 255 + endStrongholdMinHeight = 5 + # + # Maximum Y height that End stronghold's starting point can spawn at. + # Note: Strongholds will spawn between min and max y height set in config. + # Setting this to below min height config will make strongholds spawn only at min height. + #Range: 0 ~ 255 + endStrongholdMaxHeight = 6 + # + # Size of End Stronghold. This number is how many pieces deep a branch can go from the center piece. + # 1 for supertiny and 30 for supermassive Strongholds. + #Range: 1 ~ 30 + endStrongholdSize = 15 + diff --git a/src/overrides/config/repurposed_structures-forge/temples.toml b/src/overrides/config/repurposed_structures-forge/temples.toml new file mode 100644 index 0000000..c1a7d29 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/temples.toml @@ -0,0 +1,14 @@ +# +# Average distance between spawn attempts for Repurposed Structures Temples. +# 1 for spawning in most chunks and 1001 for none. +#Range: 1 ~ 1001 +netherWastelandTempleMaxChunkDistance = 27 +#Range: 1 ~ 1001 +netherBasaltTempleMaxChunkDistance = 27 +#Range: 1 ~ 1001 +netherCrimsonTempleMaxChunkDistance = 27 +#Range: 1 ~ 1001 +netherWarpedTempleMaxChunkDistance = 27 +#Range: 1 ~ 1001 +netherSoulTempleMaxChunkDistance = 27 + diff --git a/src/overrides/config/repurposed_structures-forge/villages.toml b/src/overrides/config/repurposed_structures-forge/villages.toml new file mode 100644 index 0000000..b57b065 --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/villages.toml @@ -0,0 +1,54 @@ + +#----------------------------------------------------------------------------------------- +# Average distance between spawn attempts for Repurposed Structures Villages +# 1 for spawning in most chunks and 1001 for no spawn. +[Spawnrates] + #Range: 1 ~ 1001 + crimsonVillageMaxChunkDistance = 30 + #Range: 1 ~ 1001 + villageMushroomAverageChunkDistance = 24 + #Range: 1 ~ 1001 + birchVillageMaxChunkDistance = 47 + #Range: 1 ~ 1001 + swampVillageMaxChunkDistance = 47 + #Range: 1 ~ 1001 + darkForestVillageMaxChunkDistance = 47 + #Range: 1 ~ 1001 + mountainsVillageMaxChunkDistance = 47 + #Range: 1 ~ 1001 + jungleVillageMaxChunkDistance = 47 + #Range: 1 ~ 1001 + warpedVillageMaxChunkDistance = 30 + #Range: 1 ~ 1001 + badlandsVillageMaxChunkDistance = 34 + #Range: 1 ~ 1001 + giantTaigaVillageMaxChunkDistance = 47 + #Range: 1 ~ 1001 + oakVillageMaxChunkDistance = 47 + +#----------------------------------------------------------------------------------------- +# Size of the village. This is how many pieces long a path can be from the start piece. +[Size] + #Range: 1 ~ 30 + mountainsVillageSize = 6 + #Range: 1 ~ 30 + warpedVillageSize = 6 + #Range: 1 ~ 30 + oakVillageSize = 6 + #Range: 1 ~ 30 + crimsonVillageSize = 6 + #Range: 1 ~ 30 + giantTaigaVillageSize = 6 + #Range: 1 ~ 30 + mushroomVillageSize = 8 + #Range: 1 ~ 30 + jungleVillageSize = 8 + #Range: 1 ~ 30 + birchVillageSize = 6 + #Range: 1 ~ 30 + swampVillageSize = 6 + #Range: 1 ~ 30 + badlandsVillageSize = 10 + #Range: 1 ~ 30 + darkForestVillageSize = 6 + diff --git a/src/overrides/config/repurposed_structures-forge/wells.toml b/src/overrides/config/repurposed_structures-forge/wells.toml new file mode 100644 index 0000000..78a23ed --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/wells.toml @@ -0,0 +1,18 @@ +# +# Rarity of Repurposed Structures Wells. +# This affects the chances of a well spawning in a chunk. +# The chance of a well generating at a chunk is 1/rarityPerChunk. +# 1 for wells spawning in every chunk and 10000 for no wells. +#Range: 1 ~ 10000 +badlandsWellRarityPerChunk = 250 +#Range: 1 ~ 10000 +netherWellRarityPerChunk = 200 +#Range: 1 ~ 10000 +snowWellRarityPerChunk = 350 +#Range: 1 ~ 10000 +mossyStoneWellRarityPerChunk = 350 +#Range: 1 ~ 10000 +forestWellRarityPerChunk = 350 +#Range: 1 ~ 10000 +mushroomWellRarityPerChunk = 350 + diff --git a/src/overrides/config/repurposed_structures-forge/witch_huts.toml b/src/overrides/config/repurposed_structures-forge/witch_huts.toml new file mode 100644 index 0000000..cb066ae --- /dev/null +++ b/src/overrides/config/repurposed_structures-forge/witch_huts.toml @@ -0,0 +1,14 @@ +# +# Average distance between spawn attempts for Repurposed Structures Witch Huts. +# 1 for spawning in most chunks and 1001 for no spawn. +#Range: 1 ~ 1001 +witchHutsOakMaxChunkDistance = 48 +#Range: 1 ~ 1001 +witchHutsTaigaMaxChunkDistance = 48 +#Range: 1 ~ 1001 +witchHutsGiantTreeTaigaMaxChunkDistance = 48 +#Range: 1 ~ 1001 +witchHutsBirchMaxChunkDistance = 48 +#Range: 1 ~ 1001 +witchHutsDarkForestMaxChunkDistance = 48 + diff --git a/src/overrides/config/sidebar_buttons.json b/src/overrides/config/sidebar_buttons.json new file mode 100644 index 0000000..02781c5 --- /dev/null +++ b/src/overrides/config/sidebar_buttons.json @@ -0,0 +1,17 @@ +{ + "ftbteams": { + "my_team": true + }, + "ftbquests": { + "quests": true + }, + "ftblibrary": { + "toggle.gamemode": false, + "toggle.rain": false, + "toggle.day": false, + "toggle.night": false + }, + "ftbchunks": { + "chunks": true + } +} \ No newline at end of file diff --git a/src/overrides/config/soundfilters-client.toml b/src/overrides/config/soundfilters-client.toml new file mode 100644 index 0000000..eb972d2 --- /dev/null +++ b/src/overrides/config/soundfilters-client.toml @@ -0,0 +1,133 @@ + +#Low Pass Filter Settings - Lava +[lowPassLava] + ################################################################################ + #The multiplier for volume when you are in lava. Lower is quieter. + #Range: 0.0 ~ 1.0 + lavaLowPassVolume = 0.6 + ################################################################################ + #The multiplier for volume when you are in lava for high frequencies. + #Lower is less high frequency sound. + #Range: 0.0 ~ 1.0 + lavaLowPassHighFrequencyVolume = 0.2 + +#Occlusion Filter Settings +[occlusion] + ################################################################################ + #Set to false to disable low pass filter for sounds behind solid walls. + #If you are getting lag, disabling this might help. + useOcclusion = true + ################################################################################ + #The maximum percent sound can be occluded behind a wall. + #Range: 0.0 ~ 1.0 + occlusionMaximum = 0.98 + ################################################################################ + #Add new entries separated by commas in the format + #" " + #where can be either a block tag or id the format + #[]{} + #to customize how much sound the block should absorb when it is between you and the + #sound source. It should be in the same format as in the setblock command. The + #amount is a double, with 0.0 absorbing no sound (like air), and 1.0 being the + #normal amount, and 2.0 being twice the normal amount. By default, wool and sponge + #have 2.0 which is twice the normal sound absorption. + blockSpecificOcclusion = ["2.0 #minecraft:wool", "2.0 minecraft:sponge", "2.0 minecraft:wet_sponge"] + ################################################################################ + #The multiplier per block for occlusion. You can lower this if you + #find the occlusion to be too much or raise it for a more noticeable + #effect. + #Range: 0.0 ~ 1.0 + occlusionMultiplier = 0.1 + +#Low Pass Filter Settings - Water +[lowPassWater] + ################################################################################ + #The multiplier for volume when you are in water. Lower is quieter. + #Range: 0.0 ~ 1.0 + waterLowPassVolume = 1.0 + ################################################################################ + #The multiplier for volume when you are in water for high frequencies. + #Lower is less high frequency sound. + #Range: 0.0 ~ 1.0 + waterLowPassHighFrequencyVolume = 0.4 + +#Low Pass Filter Settings +[lowPass] + ################################################################################ + #Set to false to disable low pass filter in water and lava. + useLowPass = true + +#Reverb Filter Settings +[reverb] + ################################################################################ + #The percentage of reverb you can get. You can lower this if you find + #the reverb to be too much (or raise it if you really want an echo). + #Range: 0.0 ~ 2.0 + reverbPercent = 1.0 + ################################################################################ + #If you are getting lag, set this number lower. The higher it is, + #the more realistic the reverb will be. + #Range: > 0 + numberOfBlocksReverbWillCheckThrough = 1024 + ################################################################################ + #Add new entries separated by commas in the format + #" " + #where can be either a block tag or id the format + #[]{}to customize how specific blocks absorb or create reverb. + #By default things like wool, snow, carpets, and plants absorb reverb + #(value 0.0), things like wood and dirt are neutral (value 1.0), + #and things like stone, metal, ice, and glass create reverb (value 2.0). + #The state and tag are optional. It should be in the same format as in + #the setblock command. For instance, making snowy grass increase reverb + #would be '2.0 grass_block[snowy=true]'. + blockSpecificReverb = [""] + ################################################################################ + #Add new entries separated by commas in the format + #" " + #to customize how much ambient reverb a specific dimension has. + #The reverb percent should be between 0.0 and 1.0. By default the + #nether has 1.0, meaning full reverb without any special blocks. + dimensionSpecificReverb = ["1.0 minecraft:the_nether"] + ################################################################################ + #If this is true, when you're in an area that can see the sky, then + #there will be less reverb. This is for aboveground areas with + #lots of stone like extreme hills biomes. There still might + #be some reverb, but less then when the sky isn't visible. + doSkyChecks = true + ################################################################################ + #Set to false to disable reverb. + useReverb = true + +#Advanced Reverb Filter Settings - You can edit these if you know what you are +#doing. You can even edit them if you don't know what you are doing, and just +#want to experiment. =) +#For more info about what all these things are, look starting at the bottom of page +#101 on https://kcat.strangesoft.net/misc-downloads/Effects%20Extension%20Guide.pdf +[reverbAdvanced] + #Range: 0.0 ~ 1.0 + diffusion = 0.6 + #Range: 0.0 ~ 0.1 + lateReverbDelayMultiplier = 0.01 + #Range: 0.0 ~ 1.0 + density = 0.2 + #Range: 0.0 ~ 1.58 + reflectionsGainMultiplier = 0.05 + #Range: 0.0 ~ 0.3 + reflectionsDelayMultiplier = 0.025 + #Range: 0.0 ~ 1.0 + gain = 0.15 + #Range: 0.0 ~ 1.58 + reflectionsGainBase = 0.05 + #Range: 0.892 ~ 1.0 + airAbsorptionGainHF = 0.99 + #Range: 0.1 ~ 20.0 + decayHFRatio = 0.7 + #Range: 0.0 ~ 5.0 + lateReverbGainBase = 1.26 + #Range: 0.0 ~ 5.0 + lateReverbGainMultiplier = 0.1 + #Range: 0.0 ~ 1.0 + gainHF = 0.8 + #Range: 0.1 ~ 20.0 + decayTimeMinimum = 0.1 + diff --git a/src/overrides/config/spark/activity.json b/src/overrides/config/spark/activity.json new file mode 100644 index 0000000..2844667 --- /dev/null +++ b/src/overrides/config/spark/activity.json @@ -0,0 +1,41 @@ +[ + { + "user": { + "type": "player", + "name": "simibubi", + "uniqueId": "407d3db5-79e2-4806-ab96-1ae8571c8d87" + }, + "time": 1637857611921, + "type": "Profiler", + "data": { + "type": "url", + "value": "https://spark.lucko.me/yQnhh1wO0u" + } + }, + { + "user": { + "type": "player", + "name": "simibubi", + "uniqueId": "407d3db5-79e2-4806-ab96-1ae8571c8d87" + }, + "time": 1635975779690, + "type": "Profiler", + "data": { + "type": "url", + "value": "https://spark.lucko.me/22n0mp154t" + } + }, + { + "user": { + "type": "player", + "name": "simibubi", + "uniqueId": "407d3db5-79e2-4806-ab96-1ae8571c8d87" + }, + "time": 1635967104956, + "type": "Profiler", + "data": { + "type": "url", + "value": "https://spark.lucko.me/lf07Q9tSEI" + } + } +] \ No newline at end of file diff --git a/src/overrides/config/storagedrawers-client.toml b/src/overrides/config/storagedrawers-client.toml new file mode 100644 index 0000000..bf43ea2 --- /dev/null +++ b/src/overrides/config/storagedrawers-client.toml @@ -0,0 +1,4 @@ + +[General] + invertShift = false + diff --git a/src/overrides/config/storagedrawers-common.toml b/src/overrides/config/storagedrawers-common.toml new file mode 100644 index 0000000..9f42915 --- /dev/null +++ b/src/overrides/config/storagedrawers-common.toml @@ -0,0 +1,30 @@ + +[General] + #List of rules in format "domain:item1, domain:item2, n". + #Causes a compacting drawer convert n of item1 into 1 of item2. + compactingRules = ["minecraft:clay, minecraft:clay_ball, 4"] + enableUI = true + debugTrace = false + enableItemConversion = true + enableSidedInput = true + #The number of item stacks held in a basic unit of storage. + #1x1 drawers hold 8 units, 1x2 drawers hold 4 units, 2x2 drawers hold 2 units. + #Half-depth drawers hold half those amounts. + baseStackStorage = 4 + enableExtraCompactingRules = true + #Range: 1 ~ 50 + controllerRange = 12 + enableSidedOutput = true + +[StorageUpgrades] + level2Mult = 4 + #Storage upgrades multiply storage capacity by the given amount. + #When multiple storage upgrades are used together, their multipliers are added before being applied. + level1Mult = 2 + level3Mult = 8 + level5Mult = 32 + level4Mult = 16 + +[Integration] + wailaStackRemainder = true + diff --git a/src/overrides/config/strawgolem-common.toml b/src/overrides/config/strawgolem-common.toml new file mode 100644 index 0000000..74637cd --- /dev/null +++ b/src/overrides/config/strawgolem-common.toml @@ -0,0 +1,59 @@ + +[Harvesting] + #Allow the straw golems to replant a crop when they harvest it. + enableReplant = true + #Allow the straw golem to deliver a crop (requires replantEnabled = true) + enableDelivery = true + #Vertical search range for crops and chests + #Range: 2 ~ 8 + searchRangeVertical = 3 + #Horizontal search range for crops and chests + #Range: 8 ~ 32 + searchRangeHorizontal = 12 + +[Filtration] + #Sets the method for applying harvest filters. Note that only the most specific match will be taken into consideration. + #If a crop's mod appears in the whitelist, but the crop itself is in the blacklist, the crop will be banned. + #Likewise if a crop's mod appears in the blacklist, but the crop itself is in the whitelist, the crop will be allowed. + #"none": allow all crops to be harvested (default). + #"whitelist": will deny crops from being harvested unless the most specific match is in the whitelist. + #"blacklist": will allows crops to be harvested unless the most specific match is in the blacklist. + filterMode = "none" + #Blacklist Filter + blacklist = [] + #Whitelist Filter + whitelist = [] + +[Lifespan] + #Set the lifespan, in tick, of new created straw golems. Set -1 for infinite. + #Range: > -2 + lifespan = 2000000000 + #Enable lifespan penalty for being in the rain + penaltyRain = false + #Enable lifespan penalty for being in the water + penaltyWater = false + #Enable lifespan penalty for carrying a heavy item + penaltyHeavy = false + +[Tether] + #Range from tether that will cause golems to turn and run back + #Range: 1 ~ 48 + tetherMaxRange = 24 + #Anchor golems to a spot so they don't wander very far. + tetherEnabled = true + #Range that golems will consider within their tether location + #Range: 1 ~ 16 + tetherMinRange = 4 + #Tempting golems with an apple updates their tether location if pulled too far + temptResetsTether = false + +[Miscellaneous] + #Enable iron golems picking up straw golems occasionally + golemInteract = true + #Enable/disable golem sounds + soundsEnabled = true + #Enable/disable golem shivering in cold + shiverEnabled = true + #Enable HWYLA compatibility + enableHwyla = true + diff --git a/src/overrides/config/structurescompass-client.toml b/src/overrides/config/structurescompass-client.toml new file mode 100644 index 0000000..4647ccf --- /dev/null +++ b/src/overrides/config/structurescompass-client.toml @@ -0,0 +1,27 @@ + +#configs only for clients +[Client] + # + #The Y offset for information rendered on the HUD.(default:16) + #Range: 0 ~ 5400 + yOffset = 16 + # + #The X offset for information rendered on the HUD.(default:7) + #Range: 0 ~ 9600 + xOffset = 7 + # + #The X/Y/Z-distance won't be shown if it is smaller than the value.(default:0.3) + #Range: 0.0 ~ 50.0 + CloseEnough = 0.3 + # + #The line offset for information rendered on the HUD.(default:1) + #Range: 0 ~ 50 + OverlayLineOffset = 1 + # + #The side of the information HUD. Ex: LEFT, RIGHT + #Allowed Values: LEFT, RIGHT + HUDPosition = "LEFT" + # + #Displays the compass information HUD even while chat is open.(default:true) + DisplayWithChatOpen = true + diff --git a/src/overrides/config/structurescompass-common.toml b/src/overrides/config/structurescompass-common.toml new file mode 100644 index 0000000..38f444b --- /dev/null +++ b/src/overrides/config/structurescompass-common.toml @@ -0,0 +1,27 @@ + +#configs for both server and clients +[General] + # + #A list of structures that the compass will not search, specified by resource location. + #Ex: ["minecraft:stronghold", "quark:big_dungeon"] + blacklist = ["worldshape:pack/slime", "worldshape:pack/moonbase", "worldshape:pack/crashed_rocket", "worldshape:pack/ruins", "dungeoncrawl:dungeon", "worldshape:pack/railshaft", "worldshape:pack/oil_fountain", "worldshape:pack/log_cabin", "worldshape:pack/broken_windmill", "tconstruct:overworld_slime_island", "tconstruct:nether_slime_island", "tconstruct:end_slime_island", "tconstruct:earth_slime_island", "tconstruct:clay_island", "repurposed_structures:witch_hut_taiga", "repurposed_structures:witch_hut_dark_forest", "repurposed_structures:witch_hut_oak", "repurposed_structures:witch_hut_giant_tree_taiga", "repurposed_structures:witch_hut_birch", "repurposed_structures:village_warped", "repurposed_structures:village_mushroom", "repurposed_structures:village_swamp", "repurposed_structures:village_oak", "repurposed_structures:village_mountains", "repurposed_structures:village_jungle", "repurposed_structures:village_giant_taiga", "repurposed_structures:village_dark_oak", "repurposed_structures:village_crimson", "repurposed_structures:village_birch", "repurposed_structures:village_badlands", "repurposed_structures:temple_nether_wasteland", "repurposed_structures:temple_nether_warped", "repurposed_structures:temple_nether_soul", "repurposed_structures:temple_nether_basalt", "repurposed_structures:temple_nether_crimson", "repurposed_structures:stronghold_nether", "repurposed_structures:stronghold_end", "repurposed_structures:shipwreck_warped", "repurposed_structures:shipwreck_nether_bricks", "repurposed_structures:shipwreck_end", "repurposed_structures:shipwreck_crimson", "repurposed_structures:ruins_nether", "repurposed_structures:ruins_land_warm", "repurposed_structures:ruins_land_hot", "repurposed_structures:ruined_portal_end", "repurposed_structures:pyramid_snowy", "repurposed_structures:pyramid_ocean", "repurposed_structures:pyramid_nether", "repurposed_structures:pyramid_mushroom", "repurposed_structures:pyramid_jungle", "repurposed_structures:pyramid_icy", "repurposed_structures:pyramid_giant_tree_taiga", "repurposed_structures:pyramid_flower_forest", "repurposed_structures:pyramid_end", "repurposed_structures:pyramid_badlands", "repurposed_structures:outpost_warped", "repurposed_structures:outpost_taiga", "repurposed_structures:outpost_snowy", "repurposed_structures:outpost_oak", "repurposed_structures:outpost_nether_brick", "repurposed_structures:outpost_jungle", "repurposed_structures:outpost_icy", "repurposed_structures:outpost_giant_tree_taiga", "repurposed_structures:outpost_end", "repurposed_structures:outpost_desert", "repurposed_structures:outpost_crimson", "repurposed_structures:outpost_birch", "repurposed_structures:outpost_badlands", "repurposed_structures:mineshaft_warped", "repurposed_structures:mineshaft_taiga", "repurposed_structures:mineshaft_swamp", "repurposed_structures:mineshaft_stone", "repurposed_structures:mineshaft_savanna", "repurposed_structures:mineshaft_ocean", "repurposed_structures:mineshaft_nether", "repurposed_structures:mineshaft_jungle", "repurposed_structures:mineshaft_icy", "repurposed_structures:mineshaft_end", "repurposed_structures:mineshaft_desert", "repurposed_structures:mineshaft_dark_forest", "repurposed_structures:mineshaft_crimson", "repurposed_structures:mineshaft_birch", "repurposed_structures:mansion_taiga", "repurposed_structures:mansion_snowy", "repurposed_structures:mansion_oak", "repurposed_structures:mansion_savanna", "repurposed_structures:mansion_jungle", "repurposed_structures:mansion_desert", "repurposed_structures:mansion_birch", "repurposed_structures:igloo_stone", "repurposed_structures:igloo_grassy", "repurposed_structures:fortress_jungle", "repurposed_structures:city_nether", "repurposed_structures:bastion_underground", "forbidden_arcanus:nipa", "appliedenergistics2:meteorite", "advancedrocketry:volcano", "advancedrocketry:geode", "advancedrocketry:crater", "supplementaries:way_sign", "minecraft:village", "minecraft:bastion_remnant", "minecraft:endcity", "minecraft:desert_pyramid", "minecraft:buried_treasure", "minecraft:igloo", "minecraft:jungle_pyramid", "minecraft:mansion", "minecraft:mineshaft", "minecraft:monument", "minecraft:nether_fossil", "minecraft:ocean_ruin", "minecraft:pillager_outpost", "minecraft:ruined_portal", "minecraft:shipwreck", "minecraft:stronghold", "minecraft:swamp_hut"] + # + #HUD information detail level. + #0: Nothing. + #1+: Structure and Dimension name. + #2+: Distance to the structure. + #3: Position of the structure and distance in x/y/z axis. + #Range: 0 ~ 3 + HUD_Level = 3 + # + #The real maximum searching radius used by the underlying method (no idea how it works.) + #If you still couldn't find a structure with a big enough MaxSearchRadius, increase this one. + #If you think searching makes the server slow, decrease this one. + #Range: 1 ~ 128 + RealRadius = 64 + # + #The pseudo maximum searching radius. + #If the distance to the structure exceeds this value, HUD would display 'Not Found' + #Range: 20.0 ~ 20000.0 + MaxSearchRadius = 5000.0 + diff --git a/src/overrides/config/supplementaries-client.toml b/src/overrides/config/supplementaries-client.toml new file mode 100644 index 0000000..0b2c39f --- /dev/null +++ b/src/overrides/config/supplementaries-client.toml @@ -0,0 +1,205 @@ + +#Tweak and change the various block animations. +#Only cosmetic stuff in here so to leave default if not interested. +#Remember to delete this and server configs and let it refresh every once in a while since I might have tweaked it +[blocks] + + [blocks.clock_block] + #Display 24h time format. False for 12h format + 24h_format = true + + [blocks.pedestal] + #Enable displayed item spin + spin = true + #Spin speed + #Range: 0.0 ~ 100.0 + speed = 2.0 + #Enable special display types for items like swords, tridents or end crystals + fancy_renderers = true + + [blocks.wall_lantern] + #Makes wall lantern use a simple block model instead of the animated tile entity renderer. This will make them render much faster but will also remove the animation. Needs texture pack reload + fast_lanterns = false + + [blocks.captured_mobs] + #Here you can customize how mobs are displayed in jars and cages. + #Following will have to be a list with the format below: + #[[,,,,],[,...],...] + #With the following description: + # - being the mob id (ie: minecraft:bee) + # - ,: these are the added height and width that will be added to the actual mob hitbox to determine its scale inside a cage or jar + # You can increase them so this 'adjusted hitbox' will match the actual mob shape + # In other words increase the to make the mob smaller + # - determines if and how much light should the mob emit (currently broken) + # - is used to associate each mob an animation. + #It can be set to the following values: + # - 'air' to make it stand in mid air like a flying animal (note that such mobs are set to this value by default) + # - 'land' to force it to stand on the ground even if it is a flying animal + # - 'floating' to to make it stand in mid air and wobble up and down + # - any number > 0 to make it render as a 2d fish whose index matches the 'fishies' texture sheet + # - 0 or any other values will be ignored and treated as default + #Note that only the first 3 parameters are needed, the others are optional + rendering_parameters = [["minecraft:bee", "0.3125", "0.0"], ["minecraft:vex", "0.0", "0.125", "0", "FLOATING"], ["minecraft:silverfish", "0.0", "0.25"], ["minecraft:chicken", "0.25", "0.3125"], ["minecraft:endermite", "0.0", "0.0", "5"], ["supplementaries:firefly", "0.0", "0.0", "9", "FLOATING"], ["druidcraft:lunar_moth", "0.375", "0.1375", "10", "FLOATING"], ["iceandfire:pixie", "0.0", "0.0", "10"], ["minecraft:fish", "0.0", "0.125", "0", "1"], ["minecraft:tropical_fish", "0.0", "0.125", "0", "2"], ["minecraft:salmon", "0.0", "0.125", "0", "3"], ["minecraft:cod", "0.0", "0.125", "0", "4"], ["minecraft:pufferfish", "0.0", "0.125", "0", "5"], ["minecraft:axolotl", "0.0", "0.125", "0", "6"], ["fins:pea_wee", "0.0", "0.125", "0", "7"], ["fins:wee_wee", "0.0", "0.125", "0", "8"], ["fins:vibra_wee", "0.0", "0.125", "0", "9"], ["fins:blu_wee", "0.0", "0.125", "0", "10"], ["fins:ornate_bugfish", "0.0", "0.125", "0", "11"], ["fins:spindly_gem_crab", "0.0", "0.125", "0", "12"], ["fins:phantom_nudibranch", "0.0", "0.125", "0", "13"], ["fins:high_finned_blue", "0.0", "0.125", "0", "14"], ["fins:teal_arrowfish", "0.0", "0.125", "0", "15"], ["fins:midnight_squid", "0.0", "0.125", "0", "16"], ["fins:banded_redback_shrimp", "0.0", "0.125", "0", "17"], ["fins:flatback_sucker", "0.0", "0.125", "0", "18"], ["fins:swamp_mucker", "0.0", "0.125", "0", "19"], ["upgrade_aquatic:lionfish", "0.0", "0.125", "0", "20"], ["upgrade_aquatic:nautilus", "0.0", "0.125", "0", "21"], ["upgrade_aquatic:pike", "0.0", "0.125", "0", "22"], ["alexsmobs:stradpole", "0.0", "0.125", "0", "23"], ["alexsmobs:blobfish", "0.0", "0.125", "0", "24"], ["unnamedanimalmod:flashlight_fish", "0.0", "0.125", "0", "25"], ["unnamedanimalmod:elephantnose_fish", "0.0", "0.125", "0", "26"], ["unnamedanimalmod:black_diamond_stingray", "0.0", "0.125", "0", "27"], ["unnamedanimalmod:humphead_parrotfish", "0.0", "0.125", "0", "28"], ["unnamedanimalmod:tomato_frog", "0.0", "0.125", "0", "29"], ["unnamedanimalmod:pacman_frog", "0.0", "0.125", "0", "30"], ["bettas:betta_fish", "0.0", "0.125", "0", "31"], ["pogfish:pogfish", "0.0", "0.125", "0", "32"], ["undergarden:gwibling", "0.0", "0.125", "0", "33"], ["environmental:koi", "0.0", "0.125", "0", "34"], ["betterendforge:end_fish", "0.0", "0.125", "0", "35"], ["betteranimalsplus:flying_fish", "0.0", "0.125", "0", "36"], ["betteranimalsplus:nautilus", "0.0", "0.125", "0", "37"], ["betteranimalsplus:eel_freshwater", "0.0", "0.125", "0", "38"], ["betteranimalsplus:eel_saltwater", "0.0", "0.125", "0", "39"], ["betteranimalsplus:lamprey", "0.0", "0.125", "0", "40"], ["betteranimalsplus:piranha", "0.0", "0.125", "0", "41"], ["betteranimalsplus:barracuda", "0.0", "0.125", "0", "42"], ["rediscovered:fish", "0.0", "0.125", "0", "1"]] + #A list of mobs that can be ticked on client side when inside jars. Mainly used for stuff that has particles. Can cause issues and side effects so use with care + tickable_inside_jars = ["iceandfire:pixie", "druidcraft:lunar_moth"] + + [blocks.firefly_jar] + #Particle in firefly jars spawn as explained below: + #Every ticks a particle has a chance to spawn determined by x100 %. + #Range: 1 ~ 20 + spawn_period = 8 + #Spawn chance every period + #Range: 0.0 ~ 1.0 + spawn_chance = 0.3 + + [blocks.turn_table] + #Display visual particles when a block is rotated + turn_particles = true + + [blocks.globe] + #Enable a random globe texture for each world + random_world = true + #Here you can put custom colors that will be assigned to each globe depending on the dimension where its placed: + #To do so you'll have to make a list for one entry for every dimension you want to recolor as follows: + #[[,,...,],[,,...,],...] + #With the following description: + # - being the dimension id (ie: minecraft:the_nether) + # - to will have to be 12 hex colors (without the #) that will represent each of the 17 globe own 'virtual biome' + #Following are the virtual biomes that each index is associated with: + # - 1: water light + # - 2: water medium + # - 3: water dark + # - 4: coast/taiga + # - 5: forest + # - 6: plains + # - 7: savanna + # - 8: desert + # - 9: snow + # - 10: ice + # - 11: iceberg/island + # - 12: mushroom island + globe_colors = [["minecraft:overworld", "23658d", "25527d", "1d396d", "2d8a5c", "34a03a", "6ea14b", "89a83d", "b5ba65", "ccd7d5", "83b4c6", "2f83a2", "826e71"], ["minecraft:the_nether", "941818", "7b0000", "6a0400", "16615b", "941818", "ca4e06", "e66410", "f48522", "5a0000", "32333d", "118066", "100c1c"], ["minecraft:the_end", "061914", "000000", "2a0d2a", "000000", "d5da94", "cdc68b", "061914", "2a0d2a", "cdc68b", "000000", "eef6b4", "b286b2"]] + + [blocks.flag] + #How tall the wave lobes will be. (Wave amplitude) + #Range: 0.0 ~ 100.0 + intensity = 1.0 + #How wavy the animation will be in pixels. (Wavelength) + #Range: 0.001 ~ 100.0 + wavyness = 6.0 + #How slow a flag will oscillate. (Period of oscillation) + #Lower value = faster oscillation + #Range: 0 ~ 10000 + slowness = 100 + #At which graphic settings flags will have a fancy renderer: 0=fast, 1=fancy, 2=fabulous + #Allowed Values: FAST, FANCY, FABULOUS + fanciness = "FABULOUS" + #How much the wave amplitude increases each pixel. (Amplitude increment per pixel) + #Range: 0.0 ~ 10.0 + intensity_increment = 0.3 + + [blocks.bamboo_spikes] + #Populate the creative inventory with all tipped spikes variations + populate_creative_tab = true + + [blocks.wind_vane] + #This should be kept period_1/3 for a symmetric animation + #Range: 0.0 ~ 2000.0 + period_2 = 150.0 + #Wind vane animation swings according to this equation: + #angle(time) = max_angle_1*sin(2pi*time*pow/period_1) + *sin(2pi*time*pow/) + #where: + # - pow = max(1,redstone_power*) + # - time = time in ticks + # - redstone_power = block redstone power + # = how much frequency changes depending on power. 2 means it spins twice as fast each power level (2* for rain, 4* for thunder) + #increase to have more distinct indication when weather changes + #Range: 1.0 ~ 100.0 + power_scaling = 3.0 + #Range: 0.0 ~ 360.0 + max_angle_2 = 10.0 + #Amplitude (maximum angle) of first sine wave + #Range: 0.0 ~ 360.0 + max_angle_1 = 30.0 + #Base period in ticks at 0 power of first sine wave + #Range: 0.0 ~ 2000.0 + period_1 = 450.0 + + [blocks.item_shelf] + #Translate down displayed 3d blocks so that they are touching the shelf. + #Note that they will not be centered vertically this way + supported_blocks = true + +#Particle parameters +[particles] + + #Firefly jar particle + [particles.firefly_glow] + #Maximum age in ticks. Note that actual max age with be this + a random number between 0 and 10 + #Range: 1 ~ 256 + max_age = 40 + #Scale + #Range: 0.0 ~ 1.0 + scale = 0.075 + +#Entities parameters +[entities] + + [entities.firefly] + #Firefly glow animation uses following equation: + #scale = {max[(1-)*sin(time*2pi/)+, 0]}^ + #Where: + # - scale = entity transparency & entity scale + # - period = period of the animation. This variable is located in common configs affects how long the pulse last, not how frequently it occurs. + #Use 0.5 for normal sin wave. Higher and it won't turn off completely + # + #Range: -100.0 ~ 1.0 + intensity = 0.2 + #Affects the shape of the wave. Stay under 0.5 for sharper transitions + #Range: 0.0 ~ 10.0 + exponent = 0.5 + +#General settings +[general] + #Tries to detect when the mod hasn't been downloaded from Curseforge.Set to false if you have manually changed the mod jar name + anti_reposting_warning = true + #ignore this + #Range: -10.0 ~ 10.0 + test2 = 0.0 + #ignore this + #Range: -10.0 ~ 10.0 + test3 = 0.0 + #Enable Quark style config button on main menu. Needs Configured installed to work + config_button = false + #Show some tooltip hints to guide players through the mod + tooltip_hints = true + #ignore this + #Range: -10.0 ~ 10.0 + test1 = 0.0 + +#Game tweaks +[tweaks] + #Colors the brewing stand potion texture depending on the potions it's brewing. + #If using a resource pack add tint index from 0 to 3 to the 3 potion layers + brewing_stand_colors = true + #Allow to right click with a clock to display current time in numerical form + clock_right_click = true + #Makes tipped arrows show their colors when loaded with a crossbow + crossbows_colors = true + #Renders an enchantment glint on placeable enchanted books + placeable_books_glint = false + +#Items +[items] + + [items.slingshot] + #How big should a slingshot projectile look + #Range: 0.0 ~ 1.0 + projectile_scale = 0.5 + #Adds an overlay to slingshots in gui displaying currently selected block + overlay = true + #An RGBA color for the block outline in hex format, for example 0x00000066 for vanilla outline colors + block_outline_color = "ffffff66" + #Render the block outline for distant blocks that are reachable with a slingshot enchanted with Stasis + stasis_block_outline = true + diff --git a/src/overrides/config/supplementaries-common.toml b/src/overrides/config/supplementaries-common.toml new file mode 100644 index 0000000..40b651f --- /dev/null +++ b/src/overrides/config/supplementaries-common.toml @@ -0,0 +1,364 @@ + +#Server side blocks configs +[blocks] + + [blocks.blackboard] + #Enable to draw directly on a blackboard using any dye. Gui still only works in black and white + colored_blackboard = false + + [blocks.turn_table] + #can rotate entities standing on it? + rotate_entities = true + #blocks that can't be rotated. Some special ones like chests, beds and pistons are already hardcoded + blacklist = ["minecraft:end_portal_frame"] + + [blocks.candle_holder] + #Candle holder light level + #Range: 1 ~ 15 + light_level = 12 + + [blocks.speaker_block] + #Enable/disable speaker block narrator mode + narrator_enabled = true + #Maximum block range + #Range: 0 ~ 100000000 + range = 64 + + [blocks.sack] + #How many slots should a sack have + #Range: 1 ~ 27 + slots = 9 + #Penalize the player with slowness effect when carrying too many sacks + sack_penalty = true + #Maximum number of sacks after which the slowness effect will be applied. each multiple of this number will further slow the player down + #Range: 0 ~ 50 + sack_increment = 2 + + [blocks.flag] + #Maximum allowed pole length + #Range: 0 ~ 256 + pole_length = 16 + #Allows right/left clicking on a stick to lower/raise a flag attached to it + stick_pole = true + + [blocks.bellows] + #velocity increase uses this equation: + #vel = base_vel*((range-entity_distance)/range) with base_vel = base_velocity_scaling/period + #note that the block will push further the faster it's pulsing + #Range: 0.0 ~ 64.0 + base_velocity_scaling = 5.0 + #bellows pushes air following this equation: + #air=(sin(2PI*ticks/period)<0), with period = base_period-(redstone_power-1)*power_scaling + #represents base period at 1 power + #Range: 1 ~ 512 + base_period = 78 + #note that it will still only keep alive the two fire blocks closer to it + #Range: 0 ~ 16 + range = 5 + #entities with velocity greated than this won't be pushed + #Range: 0.0 ~ 16.0 + power_scaling = 2.0 + #sets velocity changed flag when pushing entities + + #causes pushing animation to be smooth client side but also restricts player movement when being pushed + velocity_changed_flag = true + + [blocks.notice_board] + #Allows notice boards to accept and display any item, not just maps and books + allow_any_item = false + + [blocks.iron_gate] + #Allows two iron gates to be opened simultaneously when on top of the other + double_opening = true + #Makes iron (ang gold) gates behave like their door counterpart so for example iron gates will only be openeable by redstone + door-like_gates = false + + [blocks.cage] + #Allows all baby mobs to be captured by cages + cage_allow_all_babies = false + #Allows all entities to be captured by cages and jars. Not meant for survival + allow_all_mobs = false + #Dynamically allows all small mobs inside cages depending on their hitbox size + cage_auto_detect = false + + [blocks.globe] + #how many globe trades to give to the wandering trader. This will effectively increase the chance of him having a globe trader. Increase this if you have other mods that add stuff to that trader + #Range: 0 ~ 50 + chance = 2 + + [blocks.timber_frame] + #Replace a timber frame with wattle and daub block when daub is placed in it + replace_daub = true + #Allow placing a timber frame directly on a block by holding shift + swap_on_shift = false + + [blocks.spring_launcher] + #fall distance needed to trigger the automatic spring launch + #Range: 0 ~ 512 + fall_height_required = 5 + #spring launcher launch speed + #Range: 0.0 ~ 16.0 + velocity = 1.5 + + [blocks.hourglass] + #Time in ticks for sugar + #Range: 0 ~ 10000 + sugar_time = 40 + #Time in ticks for honey + #Range: 0 ~ 10000 + honey_time = 2000 + #Time in ticks for glowstone dust + #Range: 0 ~ 10000 + glowstone_time = 190 + #Time in ticks for redstone dust + #Range: 0 ~ 10000 + redstone_time = 400 + #Time in ticks for blaze powder + #Range: 0 ~ 10000 + blaze_powder_time = 277 + #Time in ticks for sand blocks + #Range: 0 ~ 10000 + sand_time = 70 + #Time in ticks for concrete blocks + #Range: 0 ~ 10000 + concrete_time = 105 + #Time in ticks for slime balls + #Range: 0 ~ 10000 + slime_time = 1750 + #Time in ticks for generic dust + #Range: 0 ~ 10000 + dust_time = 150 + + [blocks.safe] + #Makes safes only breakable by their owner or by a player in creative + prevent_breaking = false + #Make safes simpler so they do not require keys: + #they will be bound to the first person that opens one and only that person will be able to interact with them + simple_safes = false + + [blocks.jar] + #Dynamically allows all small mobs inside jars depending on their hitbox size. Tinted jars can accept hostile mbos too + jar_auto_detect = false + #Allow right click to instantly eat or drink food or potions inside a placed jar. + #Disable if you think this ability is op (honey for example). Cookies are excluded + drink_from_jar = true + #Allows the player to directly drink from jar items + drink_from_jar_item = false + #Jar liquid capacity: leave at 12 for pixel accuracy + #Range: 0 ~ 1024 + capacity = 12 + + [blocks.item_shelf] + #Makes item shelves climbable + climbable_shelves = false + +#Configure spawning conditions +[spawns] + + [spawns.firefly] + #Minimum group size + #Range: 0 ~ 64 + min = 5 + #Spawnable biomes + biomes = ["minecraft:swamp", "minecraft:swamp_hills", "minecraft:plains", "minecraft:sunflower_plains", "minecraft:dark_forest", "minecraft:dark_forest_hills", "byg:bayou", "byg:cypress_swamplands", "byg:glowshroom_bayou", "byg:mangrove_marshes", "byg:vibrant_swamplands", "byg:fresh_water_lake", "byg:grassland_plateau", "byg:wooded_grassland_plateau", "byg:flowering_grove", "byg:guiana_shield", "byg:guiana_clearing", "byg:meadow", "byg:orchard", "byg:seasonal_birch_forest", "byg:seasonal_deciduous_forest", "byg:seasonal_forest", "biomesoplenty:flower_meadow", "biomesoplenty:fir_clearing", "biomesoplenty:grove_lakes", "biomesoplenty:grove", "biomesoplenty:highland_moor", "biomesoplenty:wetland_marsh", "biomesoplenty:deep_bayou", "biomesoplenty:wetland"] + #Maximum group size + #Range: 0 ~ 64 + max = 9 + #Whitelisted mods. All biomes from said mods will be able to spawn fireflies. Use the one above for more control + mod_whitelist = [] + #Spawn weight + #Set to 0 to disable spawning entirely + #Range: 0 ~ 100 + weight = 3 + + [spawns.structures] + + [spawns.structures.wild_flax] + enabled = true + + [spawns.structures.way_sign] + #Average distance apart in chunks between spawn attempts + #Range: 0 ~ 1001 + average_distance = 19 + #With this option road signs will display the distance to the structure that they are pointing to + show_distance_text = true + #list of structure that a sign can point to. Note that they will only spawn in dimensions where vanilla villages can + villages = ["minecraft:village", "repurposed_structures:village_badlands", "repurposed_structures:village_dark_oak", "repurposed_structures:village_birch", "repurposed_structures:village_giant_taiga", "repurposed_structures:village_jungle", "repurposed_structures:village_mountains", "repurposed_structures:village_oak", "repurposed_structures:village_swamp", "pokecube:village", "pokecube_legends:village", "pokecube_legends:village/ocean", "valhelsia_structures:castle", "valhelsia_structures:castle_ruin", "valhelsia_structures:small_castle", "valhelsia_structures:tower_ruin", "stoneholm:underground_village", "blue_skies:gatekeeper_house"] + #Minimum distance apart in chunks between spawn attempts. 1001 to disable them entirely + #Range: 0 ~ 1001 + minimum_distance = 10 + +#entities parameters +[entities] + + [entities.firefly] + #firefly animation period + #note that actual period will be this + a random number between 0 and 10 + #this needs to be here to allow correct despawning of the entity when it's not glowing + #check client configs come more animation settings + #Range: 1 ~ 200 + period = 65 + #despawn during the day + despawn = true + #firefly flying speed + #Range: 0.0 ~ 10.0 + speed = 0.3 + +#Vanilla tweaks +[tweaks] + + [tweaks.wall_lantern] + #Mod ids of mods that have lantern block that extend the base lantern class but don't look like one + mod_blacklist = ["extlights", "betterendforge", "tconstruct"] + #Allow wall lanterns placement + enabled = true + #Gives high priority to wall lantern placement. Enable to override other wall lanterns placements, disable if it causes issues with other mods that use lower priority block click events + high_priority = true + + [tweaks.zombie_horse] + #Amount of rotten flesh needed + #Range: 1 ~ 1000 + rotten_flesh = 64 + #Allows zombie horses to be ridden underwater + rideable_underwater = true + #Feed a stack of rotten flesh to a skeleton horse to buff him up to a zombie horse + zombie_horse_conversion = true + + [tweaks.placeable_gunpowder] + #Allow placeable gunpowder + enabled = true + #Number of ticks it takes for gunpowder to burn 1 stage (out of 8). Increase to slow it down + #Range: 0 ~ 20 + speed = 2 + #Age at which it spread to the next gunpowder block. Also affects speed + #Range: 0 ~ 8 + spread_age = 2 + + [tweaks.hanging_flower_pots] + #allows you to place hanging flower pots. Works with any modded pot too + enabled = true + + [tweaks.placeable_sticks] + #Allow placeable sticks + sticks = true + #Allow placeable blaze rods + blaze_rods = true + + [tweaks.bottle_xp] + #bottling health cost + #Range: 0 ~ 20 + cost = 2 + #Allow bottling up xp by using a bottle on an enchanting table + enabled = true + + [tweaks.bells_tweaks] + #Ring a bell by clicking on a chain that's connected to it + chain_ringing = true + #Max chain length that allows a bell to ring + #Range: 0 ~ 256 + chain_length = 16 + + [tweaks.ceiling_banners] + #Allow banners to be placed on ceilings + enabled = true + + [tweaks.throwable_bricks] + #Throw bricks at your foes! Might break glass blocks + enabled = true + + [tweaks.raked_gravel] + #allow gravel to be raked with a hoe + enabled = true + + [tweaks.cake_tweaks] + #Allows you to place a cake on top of another + double_cake = true + #Replaces normal cake placement with a directional one + directional_cake = true + + [tweaks.placeable_books] + #Allows written books to be placeable (will need shift clicking) + written_books = false + #Enchantment power bonus given by normal book piles with 4 books. Piles with less books will have their respective fraction of this total. For reference a vanilla bookshelf provides 1 + #Range: 0.0 ~ 5.0 + enchanted_book_power = 1.334 + #Allow all books to be placed both vertically and horizontally + mixed_books = false + #Allow books and enchanted books to be placed on the ground + enabled = true + #Enchantment power bonus given by normal book piles with 4 books. Piles with less books will have their respective fraction of this total. For reference a vanilla bookshelf provides 1 + #Range: 0.0 ~ 5.0 + book_power = 1.0 + + [tweaks.map_tweaks] + #In this section you can add custom structure maps to cartographers + #The format required is as follows: + #[[,,,,,,],[,...,],...] + #With the following parameters: + # - structure id to be located (ie: minecraft:igloo) + # - villager trading level at which the map will be sold. Must be between 1 and 5 + # - minimum emerald price + # - maximum emerald price + # - map item name + # - hex color of the map item overlay texture + # - id of the map marker to be used (ie: supplementaries:igloo). + #See texture folder for all the names. Leave empty for default ones + #Note that ony the first parameter is required, each of the others others can me removed and will be defaulted to reasonable values + #example: ['minecraft:swamp_hut','2','5','7','witch hut map','0x00ff33'] + custom_adventurer_maps = [[""]] + #enables beacons, lodestones, respawn anchors, beds, conduits, portals to be displayed on maps by clicking one of them with a map + block_map_markers = true + #Cartographers will sell 'adventurer maps' that will lead to a random vanilla structure (choosen from a thought out preset list). + #Best kept disabled if you are adding custom adventurer maps with its config + random_adventurer_maps = true + +[items] + + [items.flute] + #max distance at which a bound flute will allow a pet to teleport + #Range: 0 ~ 500 + bound_distance = 64 + #radius in which an unbound flute will search pets + #Range: 0 ~ 500 + unbound_radius = 64 + + [items.slingshot] + #Deceleration for the stasis projectile + #Range: 0.1 ~ 1.0 + stasis_deceleration = 0.9624999761581421 + #Slingshot range multiplier. Affect the initial projectile speed + #Range: 0.0 ~ 5.0 + range_multiplier = 1.0 + #Allow enderman to intercept any slingshot projectile + unrestricted_enderman_intercept = true + #Time in ticks to fully charge a slingshot + #Range: 0 ~ 100 + charge_time = 20 + + [items.blue_bomb] + #Do bombs break blocks like tnt? + #Allowed Values: ALL, WEAK, NONE + break_blocks = "WEAK" + #Bomb explosion radius (damage depends on this) + #Range: 0.1 ~ 10.0 + explosion_radius = 5.15 + + [items.bomb] + #Do bombs break blocks like tnt? + #Allowed Values: ALL, WEAK, NONE + break_blocks = "WEAK" + #Bomb explosion radius (damage depends on this) + #Range: 0.1 ~ 10.0 + explosion_radius = 2.0 + + [items.rope_arrow] + #If you don't like my ropes you can specify here the block id ofa rope from another mod which will get deployed by rope arrows instead of mine + rope_arrow_override = "supplementaries:rope" + #Max number of robe items allowed to be stored inside a rope arrow + #Range: 1 ~ 256 + capacity = 24 + +#General settings +[general] + #Turn this on to disable any interaction on blocks placed by other players. This affects item shelves, signs, flower pots, and boards. Useful for protected servers. Note that it will affect only blocks placed after this is turned on and such blocks will keep being protected after this option is disabled + server_protection = false + diff --git a/src/overrides/config/supplementaries-registry.toml b/src/overrides/config/supplementaries-registry.toml new file mode 100644 index 0000000..42b8a0f --- /dev/null +++ b/src/overrides/config/supplementaries-registry.toml @@ -0,0 +1,92 @@ + +#Here are configs that need reloading to take effect +[initialization] + + [initialization.general] + #Enable Creative Tab + creative_tab = false + #Enables custom Configured config screen + custom_configured_screen = true + #Set to false to disable custom dispenser behaviors (i.e: filling jars) if for some reason they are causing trouble + dispensers = true + #Creates a creative tab full of filled jars + jar_tab = false + + [initialization.entities] + firefly = true + + [initialization.blocks] + clock_block = true + speaker_block = true + sack = true + #WIP + laser_block = false + bellows = true + hanging_sign = true + bomb = true + #WIP + amethyst_arrow = true + cage = true + stone_tile = true + blaze_rod = true + bamboo_spikes = true + hourglass = true + raked_gravel = true + jar = true + stick = true + rope_arrow = true + checker_block = true + slingshot = true + wattle_and_daub = true + stone_lamp = true + cog_block = true + crank = true + copper_lantern = true + pancake = true + statue = true + iron_gate = true + bamboo_spikes_tipped = true + netherite_trapdoor = true + fodder = true + end_stone_lamp = true + globe = true + sconce = true + candelabra = true + timber_frame = true + spring_launcher = true + safe = true + sconce_lever = true + #WIP + present = true + sign_post = true + pedestal = true + blackboard = true + netherite_door = true + candle_holder = true + flint_block = true + flag = true + candy = true + rope = true + notice_board = true + redstone_illuminator = true + crimson_lantern = true + lock_block = true + flax = true + planter = true + wind_vane = true + item_shelf = true + turn_table = true + faucet = true + daub = true + blackstone_lamp = true + gold_trapdoor = true + feather_block = true + magma_cream_block = true + deepslate_lamp = true + goblet = true + sconce_green = false + flute = true + pulley_block = true + gold_door = true + shulker_shell = true + diff --git a/src/overrides/config/tconstruct-client.toml b/src/overrides/config/tconstruct-client.toml new file mode 100644 index 0000000..6a76add --- /dev/null +++ b/src/overrides/config/tconstruct-client.toml @@ -0,0 +1,15 @@ + +#Client only settings +[client] + #If true tools will show additional info in their tooltips + extraToolTips = true + #Experimental. If true, renders fluids in tanks using a dynamic model, being more efficient when the tank is static + #If false, renders fluids in tanks using a TESR, which is more efficient when the tank contents are changing + tankFluidModel = false + #If true, the game will log all modifier textures which do not exist in resource packs but can be added, can be helpful for moddevs or resourcepack makers + logMissingModifierTextures = false + #If true, modifiers will be added to the JEI ingredient list. If false, they will only be visible in the modifiers recipe tab. + showModifiersInJEI = true + #If true, the game will log all material textures which do not exist in resource packs but can be added, can be helpful for moddevs or resourcepack makers + logMissingMaterialTextures = false + diff --git a/src/overrides/config/tconstruct-common.toml b/src/overrides/config/tconstruct-common.toml new file mode 100644 index 0000000..5ee5d1f --- /dev/null +++ b/src/overrides/config/tconstruct-common.toml @@ -0,0 +1,108 @@ + +#Everything to do with gameplay +[gameplay] + #If true, anvils will show all metal variants. If false, only the first variant in the tag will show (typically tinkers bronze) + showAllAnvilVariants = true + #If true, tables such as the part builder and tinker station will show all variants. If false they will show just the first entry in the tag, typically oak. + showAllTableVariants = false + #Set this to false to disable new players spawning with the Tinkers' Book. + shouldSpawnWithTinkersBook = false + #If non-empty, only this material will be shown on tools in creative and JEI (or the first valid material if this is invalid for the tool). + #If empty, all materials will show + showOnlyToolMaterial = "" + #If non-empty, only material will be shown on parts in creative and JEI (or the first valid material if this is invalid for the part). + #If empty, all materials will show + showOnlyPartMaterial = "" + +#Options related to recipes, limited options as a datapack allows most recipes to be modified +[recipes] + #Makes wither skeletons drop necrotic bones + witherBoneDrop = true + #Number of nuggets produced when an ore block is melted in the smeltery. 9 nuggets would give 1 ingot + #Range: 1 ~ 45 + smelteryNuggetsPerOre = 18 + #Makes the recipe to alloy netherite in the smeltery only cost 2 gold per netherite ingot. If false uses the vanilla rate of 4 gold per ingot. Disable if there are crafting duplications. + cheaperNetheriteAlloy = true + #Add a recipe that allows you to craft a piece of flint using 3 gravel + addGravelToFlintRecipe = true + #Fixes clear glass not being usable in vanilla recipes that require glass. Config option exists to disable easily in case this fix is redundant to another mod + glassRecipeFix = true + #Number of nuggets produced when an ore block is melted in the foundry. 9 nuggets would give 1 ingot + #Range: 1 ~ 45 + foundryNuggetsPerOre = 15 + #Allows converting wither bones to regular bones + witherBoneConversion = true + #Number of nuggets produced when an ore block is melted in the melter. 9 would give 1 ingot + #Range: 1 ~ 45 + melterNuggetsPerOre = 12 + + #Entity head drops when killed by a charged creeper + [recipes.heads] + stray = true + husk = true + blaze = true + cave_spider = true + drowned = true + spider = true + enderman = true + +#Everything to do with world generation +[worldgen] + #Generate Cobalt + generateCobalt = true + #Generate Copper + generateCopper = false + #Approx Ores per Chunk + veinCountCobalt = 8 + #Approx Ores per Chunk + veinCountCopper = 20 + + #Options related to slime islands + [worldgen.slime_islands] + + #Settings for sky slime islands in the overworld sky + [worldgen.slime_islands.sky] + #How many chunks on average between islands + #Range: 10 ~ 500 + separation = 30 + #If true, this island generates + generate = false + + #Options related to earth slime islands spawning in the oceans + [worldgen.slime_islands.earth] + #How many chunks on average between islands + #Range: 10 ~ 500 + separation = 25 + #If true, this island generates + generate = false + + #Settings for end slime islands in the outer end islands + [worldgen.slime_islands.end] + #How many chunks on average between islands + #Range: 10 ~ 500 + separation = 25 + #If true, this island generates + generate = true + + #Settings for blood islands in the nether lava ocean + [worldgen.slime_islands.blood] + #How many chunks on average between islands + #Range: 10 ~ 500 + separation = 13 + #If true, this island generates + generate = true + + #Settings for clay islands in the overworld sky + [worldgen.slime_islands.clay] + #How many chunks on average between islands + #Range: 10 ~ 500 + separation = 100 + #If true, this island generates + generate = false + +#Features to use in debugging gameplay and mechanics, generally should not be enabled in packs +[debug] + #If true, forces integration materials to be enabled, even if the relevant metal is missing. Useful for testing material balance. + #Does not provide recipes for any of them, they will only be available to cheat in creative. + forceIntegrationMaterials = false + diff --git a/src/overrides/config/thermal-client.toml b/src/overrides/config/thermal-client.toml new file mode 100644 index 0000000..08f13be --- /dev/null +++ b/src/overrides/config/thermal-client.toml @@ -0,0 +1,7 @@ + +[Sounds] + #If TRUE, some 'Thermal Series' Blocks will have ambient sounds. + "Ambient Block Sounds" = true + #If TRUE, some 'Thermal Series' Mobs will have ambient sounds. + "Ambient Mob Sounds" = true + diff --git a/src/overrides/config/titanium/modules.toml b/src/overrides/config/titanium/modules.toml new file mode 100644 index 0000000..671c3ea --- /dev/null +++ b/src/overrides/config/titanium/modules.toml @@ -0,0 +1,11 @@ + +[modules] + + #Test module for titanium features + [modules.test_module] + enabled = false + + #Creative features + [modules.creative] + enabled = false + diff --git a/src/overrides/config/titanium/resources.toml b/src/overrides/config/titanium/resources.toml new file mode 100644 index 0000000..89c4e5c --- /dev/null +++ b/src/overrides/config/titanium/resources.toml @@ -0,0 +1,6 @@ + +[modules] + + [modules.resources] + enabled = true + diff --git a/src/overrides/config/titanium/titanium-tags.toml b/src/overrides/config/titanium/titanium-tags.toml new file mode 100644 index 0000000..219236f --- /dev/null +++ b/src/overrides/config/titanium/titanium-tags.toml @@ -0,0 +1,5 @@ + +[TagConfig] + #A list of mod ids sorted by preference when getting an Item for a tag + ITEM_PREFERENCE = ["minecraft", "emendatusenigmatica", "immersiveengineering", "thermal", "create", "mekanism", "jaopca", "kubejs", "appliedenergistics2", "pneumaticcraft", "occultism", "tmechworks", "industrialforegoing", "botania", "quark", "pedestals"] + diff --git a/src/overrides/config/titanium/titanium.toml b/src/overrides/config/titanium/titanium.toml new file mode 100644 index 0000000..563ffcd --- /dev/null +++ b/src/overrides/config/titanium/titanium.toml @@ -0,0 +1,14 @@ + +[TitaniumConfig] + #A Boolean that is true by default + thisIsABoolean = true + intAngery = 7 + #A Boolean that is false by default + NOT_BOOLEAN = false + + [TitaniumConfig.Dabber] + dabby = "lil dab" + + [TitaniumConfig.TestBlock] + DUMB_VALUE = 135 + diff --git a/src/overrides/config/torchmaster.toml b/src/overrides/config/torchmaster.toml new file mode 100644 index 0000000..522c5e6 --- /dev/null +++ b/src/overrides/config/torchmaster.toml @@ -0,0 +1,48 @@ + +[General] + #The maximum amount of invisble lights a feral flare lantern can place. Set to 0 to disable light placement. + #Warning: Setting this value too high in conjunction with the feralFlareMinLightLevel and Radius can lead to world corruption! + #(Badly compressed packet error) + #Range: 0 ~ 32767 + feralFlareLanternLightCountHardcap = 255 + #Same as the mega torch block list override, just for the dread lamp + #Block squid: +minecraft:squid + #Allow pigs: -minecraft:pig + dreadLampEntityBlockListOverrides = [] + #The radius of the mega torch in each direction (cube) with the torch at its center + #Range: > 0 + megaTorchRadius = 64 + #Print entity spawn checks to the debug log + logSpawnChecks = false + #Durability of the frozen pearl. Each removed light will remove one charge from the pearl. Set to 0 to disable durability + #Range: 0 ~ 32767 + frozenPearlDurability = 1024 + #The radius in which the feral flare should try to place lights + #Range: 1 ~ 127 + feralFlareRadius = 16 + #The target minimum light level to place lights for + #Range: 0 ~ 15 + feralFlareMinLightLevel = 10 + #Configures the spawn check to be more aggressive, effectivly overriding the CheckSpawn results of other mods + aggressiveSpawnChecks = false + #Show additional information in the tooltip of certain items and blocks + beginnerTooltips = true + #Use this setting to override the internal lists for entity blocking + #You can use this to block more entities or even allow certain entities to still spawn + #The + prefix will add the entity to the list, effectivly denying its spawns + #The - prefix will remove the entity from the list (if necessary), effectivly allowing its spawns + #Note: Each entry needs to be put in quotes! Multiple Entries should be separated by comma. + #Block zombies: "+minecraft:zombie" + #Allow creepers: "-minecraft:creeper" + megaTorchEntityBlockListOverrides = [] + #Controls how often the flare should try to place lights. 1 means every tick, 10 every 10th tick, etc + #Range: > 1 + feralFlareTickRate = 5 + #If this setting is enabled, the mega torch will block all natural spawn attempts from Lycanites Mobs in its radius + lycanitesMobsBlockAll = true + #By default, mega torches only block natural spawns (i.e. from low light levels). Setting this to false will also block spawns from spawners + blockOnlyNaturalSpawns = true + #The radius of the dread lamp in each direction (cube) with the torch at its center + #Range: > 0 + dreadLampRadius = 64 + diff --git a/src/overrides/config/valhelsia_core-client.toml b/src/overrides/config/valhelsia_core-client.toml new file mode 100644 index 0000000..4c180e7 --- /dev/null +++ b/src/overrides/config/valhelsia_core-client.toml @@ -0,0 +1,11 @@ + +[cosmetics] + #The active cosmetic for the category: special + active_cosmetic_special = "" + #The active cosmetic for the category: back + active_cosmetic_back = "" + #The active cosmetic for the category: hat + active_cosmetic_hat = "" + #The active cosmetic for the category: hand + active_cosmetic_hand = "" + diff --git a/src/overrides/config/waila/waila.json b/src/overrides/config/waila/waila.json new file mode 100644 index 0000000..3e5c777 --- /dev/null +++ b/src/overrides/config/waila/waila.json @@ -0,0 +1,46 @@ +{ + "general": { + "displayTooltip": true, + "shiftForDetails": false, + "displayMode": "TOGGLE", + "hideFromPlayerList": true, + "hideFromDebug": true, + "showItem": true, + "enableTextToSpeech": false, + "maxHealthForRender": 40, + "maxHeartsPerLine": 10, + "displayFluids": false + }, + "overlay": { + "overlayPosX": 0.5, + "overlayPosY": 0.99, + "overlayScale": 1.0, + "color": { + "alpha": 80, + "themes": [ + { + "id": "waila:dark", + "backgroundColor": 1250067, + "gradientStart": 3684408, + "gradientEnd": 2368548, + "fontColor": 10526880 + }, + { + "id": "waila:vanilla", + "backgroundColor": 1048592, + "gradientStart": 5243135, + "gradientEnd": 2621567, + "fontColor": 10526880 + } + ], + "activeTheme": "waila:vanilla" + } + }, + "formatting": { + "modName": "\\u00A79\\u00A7o%s", + "blockName": "\\u00A7f%s", + "fluidName": "\\u00A7f%s", + "entityName": "\\u00A7f%s", + "registryName": "\\u00A77[%s]" + } +} \ No newline at end of file diff --git a/src/overrides/config/waila/waila_plugins.json b/src/overrides/config/waila/waila_plugins.json new file mode 100644 index 0000000..88df478 --- /dev/null +++ b/src/overrides/config/waila/waila_plugins.json @@ -0,0 +1,54 @@ +{ + "minecraft": { + "crop_progress": true, + "comparator": true, + "hide_infestations": true, + "display_furnace_contents": true, + "jukebox": true, + "lever": true, + "spawner_type": true, + "redstone": true, + "repeater": true + }, + "jade": { + "horse_inventory": true, + "show_entity_armor": true, + "total_ench_power": true, + "chicken_egg": true, + "horse_stat": true, + "brewing_stand": true, + "note_block": true, + "inventory": true, + "beehive": true, + "player_head": true, + "effective_tool": true, + "harvest_tool": true, + "hide_mod_name": false, + "armor_stand": true, + "profession": true, + "item_tooltip": true, + "hide_item_mod_name": false, + "breaking_progress": true, + "tnt_stability": true, + "ench_power": true, + "mob_breeding": true, + "item_frame": true, + "effects": true, + "command_block": true, + "mob_growth": true, + "painting": true, + "harvest_tool_new_line": false, + "trapped_chest": true + }, + "waila": { + "show_registry": false, + "show_entity_hp": true, + "show_states": false, + "show_entities": true + }, + "storagedrawers": { + "display.stacklimit": true, + "display.content": true, + "display.status": true + } +} \ No newline at end of file diff --git a/src/overrides/config/waterstrainer/waterstrainer.toml b/src/overrides/config/waterstrainer/waterstrainer.toml new file mode 100644 index 0000000..cae238d --- /dev/null +++ b/src/overrides/config/waterstrainer/waterstrainer.toml @@ -0,0 +1,44 @@ + +[IdleTime] + #Adds a deviation to the idle time to make it more random. [Default: 5] + #Range: 0 ~ 107374182 + idle_time_deviation = 5 + #Time (in seconds) until a strainer catches an item. [Default: 30] + #Range: 0 ~ 107374182 + idle_time = 30 + +#Set the max durability (uses) for each strainer type. +#Use 0 for infinite durability. +#Default: +#- Normal: 120 +#- Solid: 720 +#- Reinforced: 8640 +[Durability] + #Range: > 0 + durability_strainer_fisherman_reinforced = 50 + #Range: > 0 + durability_strainer_survivalist = 300 + #Range: > 0 + durability_strainer_fisherman = 100 + #Range: > 0 + durability_strainer_survivalist_solid = 1 + #Range: > 0 + durability_strainer_survivalist_reinforced = 400 + #Range: > 0 + durability_strainer_fisherman_solid = 1 + +[Bonus] + #Bonus efficiency (in %) for Reinforced Strainers. Use 0 to disable bonus efficiency. [Default: 25] + #Range: > 0 + bonus_reinforced_efficiency = 1 + #Bonus efficiency (in %) for Solid Strainers. Use 0 to disable bonus efficiency. [Default: 10] + #Range: > 0 + bonus_solid_efficiency = 1 + +[Misc] + #Reinforced Strainers (Tier 3) can be enchanted. [Default: true] + misc_enable_enchanting = true + #Strainers are more or less efficient based on their placement (liquid height, biome, adjacent strainers). + #Bonus efficiency from strainer type and enchantments still apply. [Default: true] + misc_enable_efficiency = true + diff --git a/src/overrides/config/waterstrainer/waterstrainer_loottables.txt b/src/overrides/config/waterstrainer/waterstrainer_loottables.txt new file mode 100644 index 0000000..82e638e --- /dev/null +++ b/src/overrides/config/waterstrainer/waterstrainer_loottables.txt @@ -0,0 +1,56 @@ +// You can add custom loot entries by using xml-like tags. The relevant data needs to be surrounded by <...> and +// Looking at the default table will give you some examples +// Adding a new entry requires at least the and tag (surrounded by ). Use to set item rarity (higher chance = more likely to drop) +// To copy the current loot table to another strainer use the and tag (surrounded by ) + +1 + +// Sediment filter +strainer_survivalist 20 minecraft:sand +strainer_survivalist 15 biomesoplenty:white_sand +strainer_survivalist 15 biomesoplenty:orange_sand +strainer_survivalist 5 minecraft:clay_ball + +// Unused +// strainer_survivalist_solid 20 minecraft:flint + +// Unused +// strainer_survivalist_reinforced 99 appliedenergistics2:ender_dust + +// Fishing Net +strainer_fisherman FISH 100 minecraft:cod 60 +strainer_fisherman FISH 100 minecraft:salmon 25 +strainer_fisherman FISH 100 minecraft:pufferfish 13 +strainer_fisherman FISH 100 minecraft:tropical_fish 2 +strainer_fisherman JUNK 30 minecraft:stick 22 +strainer_fisherman JUNK 30 minecraft:string 13 +strainer_fisherman JUNK 30 minecraft:leather 13 +strainer_fisherman JUNK 30 minecraft:rotten_flesh 13 +strainer_fisherman JUNK 30 minecraft:bone 13 +strainer_fisherman JUNK 30 minecraft:glass_bottle 12 +strainer_fisherman JUNK 30 minecraft:lily_pad 7 +strainer_fisherman JUNK 30 minecraft:vine 7 +strainer_fisherman 69 $BLANK$ + +// Unused +// strainer_fisherman_solid 100 minecraft:sponge + +// Specialty Fishing Net +strainer_fisherman_reinforced 40 aquaculture:rainbow_trout +strainer_fisherman_reinforced 40 aquaculture:atlantic_cod +strainer_fisherman_reinforced 40 aquaculture:smallmouth_bass +strainer_fisherman_reinforced 40 aquaculture:box_turtle +strainer_fisherman_reinforced 40 aquaculture:red_grouper +strainer_fisherman_reinforced 40 aquaculture:jellyfish +strainer_fisherman_reinforced 40 aquaculture:catfish +strainer_fisherman_reinforced 40 aquaculture:tuna +strainer_fisherman_reinforced 40 minecraft:cod +strainer_fisherman_reinforced 40 minecraft:salmon +strainer_fisherman_reinforced 30 minecraft:bamboo +strainer_fisherman_reinforced 20 thermal:diamond_dust +strainer_fisherman_reinforced 20 thermal:gold_dust +strainer_fisherman_reinforced 20 thermal:silver_coin +strainer_fisherman_reinforced 20 minecraft:redstone +strainer_fisherman_reinforced 20 minecraft:prismarine_shard +strainer_fisherman_reinforced 30 minecraft:kelp +strainer_fisherman_reinforced 30 minecraft:seagrass diff --git a/src/overrides/config/xreliquary-client.toml b/src/overrides/config/xreliquary-client.toml new file mode 100644 index 0000000..f4a5ba4 --- /dev/null +++ b/src/overrides/config/xreliquary-client.toml @@ -0,0 +1,54 @@ + +#Client Settings +[client] + #Whether player has to sneak to see additional info in waila + waila_shift_for_info = false + + #Position of mode and/or item display on the screen - used by some of the tools and weapons. + [client.hudPositions] + #Position of Void Tear HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + voidTear = "BOTTOM_RIGHT" + #Position of Ender Staff HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + enderStaff = "BOTTOM_RIGHT" + #Position of Pyromancer Staff HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + pyromancerStaff = "BOTTOM_RIGHT" + #Position of Infernal Chalice HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + harvestRod = "BOTTOM_RIGHT" + #Position of Rending Gale HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + rendingGale = "BOTTOM_RIGHT" + #Position of Ice Magus Rod HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + iceMagusRod = "BOTTOM_RIGHT" + #Position of Alkahestry Tome HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + alkahestryTome = "BOTTOM_RIGHT" + #Position of Mob Charm HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + mobCharm = "RIGHT" + #Position of Sojouner Staff HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + sojournerStaff = "BOTTOM_RIGHT" + #Position of Glacial Staff HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + glacialStaff = "BOTTOM_RIGHT" + #Position of Midas Touchstone HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + midasTouchstone = "BOTTOM_RIGHT" + #Position of Handgun HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + handgun = "BOTTOM_RIGHT" + #Position of Ender Staff HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + infernalChalice = "BOTTOM_RIGHT" + #Position of Destruction Catalyst HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + destructionCatalyst = "BOTTOM_RIGHT" + #Position of Hero Medallion HUD + #Allowed Values: BOTTOM_LEFT, LEFT, TOP_LEFT, TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT + heroMedallion = "BOTTOM_RIGHT" + diff --git a/src/overrides/config/xreliquary-common.toml b/src/overrides/config/xreliquary-common.toml new file mode 100644 index 0000000..4fd2a98 --- /dev/null +++ b/src/overrides/config/xreliquary-common.toml @@ -0,0 +1,520 @@ +#Determines whether Reliquary items will be generated in chest loot (mostly mob drops, very rarely some lower level items) +chestLootEnabled = true +#Determines wheter Reliquary mob drops have crafting recipes +dropCraftingRecipesEnabled = false +#Whether mobs drop the Reliquary mob drops. This won't remove mob drop items from registry and replace them with something else, but allows to turn off the additional drops when mobs are killed by player. If this is turned off the mob drop crafting recipes turned on by the other setting can be used. +mobDropsEnabled = true + +#Disable sections of the mod +[disable] + #Disable all pedestals + pedestal = false + #Disable the POTION system including mortar, altar, potions, tipped arrows, and powder + potion = false + #Disable Alkahestry tome and its recipes + alkahestryTome = false + #Disable the HANDGUN, bullets, magazines, and gun parts + handgun = false + #Disable all display-only pedestals + passivePedestal = false + #Disable recipes to craft spawn eggs from fragments + disableSpawnEggRecipes = false + +#Potions related settings +[potions] + #Whether potions augmented with Redstone and Glowstone appear in creative tabs / JEI + differentDurations = false + #Maximum number of effects a POTION can have to appear in creative tabs / JEI + #Range: 1 ~ 6 + maxEffectCount = 1 + #Whether potions with the same effect combination, but different duration appear in creative tabs / JEI + redstoneAndGlowstone = false + #Whether potions that are made out of three base ingredients appear in creative tabs / JEI + threeIngredients = false + #Map of POTION ingredients and their effects + potionMap = ["minecraft:sugar=speed|3|0;haste|3|0", "minecraft:apple=instant_health|0|0;health_boost|3|0;xreliquary:cure|1|0", "minecraft:coal=blindness|1|0;absorption|3|0", "minecraft:coal=invisibility|1|0;wither|0|0", "minecraft:feather=jump_boost|3|0;weakness|1|0", "minecraft:wheat_seeds=instant_damage|0|0;health_boost|3|0", "minecraft:wheat=instant_health|0|0;health_boost|3|0", "minecraft:flint=instant_damage|0|0;strength|3|0", "minecraft:porkchop=slowness|1|0;mining_fatigue|1|0", "minecraft:leather=resistance|3|0;absorption|3|0", "minecraft:clay_ball=slowness|1|0;health_boost|3|0", "minecraft:egg=absorption|3|0;regeneration|0|0", "minecraft:red_dye=instant_health|0|0;health_boost|3|0", "minecraft:yellow_dye=jump_boost|3|0;weakness|1|0", "minecraft:green_dye=resistance|3|0;absorption|3|0", "minecraft:bone_meal=weakness|1|0;mining_fatigue|1|0", "minecraft:pumpkin_seeds=invisibility|1|0;fire_resistance|1|0", "minecraft:beef=slowness|1|0;saturation|0|0", "minecraft:chicken=nausea|1|0;poison|1|0", "minecraft:rotten_flesh=nausea|1|0;hunger|1|0;wither|0|0", "minecraft:gold_nugget=strength|0|0;haste|0|0", "minecraft:carrot=night_vision|3|0;health_boost|3|0", "minecraft:potato=health_boost|3|0;saturation|0|0", "minecraft:cod=saturation|0|0;water_breathing|1|0", "minecraft:spider_eye=night_vision|4|0;poison|2|0", "minecraft:blaze_powder=strength|4|0;instant_damage|0|0", "minecraft:iron_ingot=resistance|4|0;slowness|2|0", "minecraft:string=slowness|2|0;mining_fatigue|2|0", "minecraft:bread=health_boost|4|0;saturation|0|0", "minecraft:cooked_porkchop=mining_fatigue|2|0;saturation|0|0", "minecraft:slime_ball=resistance|4|0;fire_resistance|2|0", "minecraft:cooked_cod=saturation|0|0;water_breathing|2|0", "minecraft:lapis_lazuli=haste|4|0;strength|4|0", "minecraft:ink_sac=blindness|2|0;invisibility|2|0", "minecraft:bone=weakness|2|0;mining_fatigue|2|0", "minecraft:cookie=instant_health|0|0;saturation|0|0", "minecraft:melon=instant_health|0|0;speed|4|0", "minecraft:cooked_beef=resistance|4|0;saturation|0|0", "minecraft:cooked_chicken=jump_boost|4|0;saturation|0|0", "minecraft:baked_potato=saturation|0|0;regeneration|1|0", "minecraft:poisonous_potato=poison|2|0;wither|1|0", "minecraft:quartz=instant_damage|0|0;strength|4|0", "xreliquary:zombie_heart=nausea|2|0;hunger|2|0;wither|1|0", "xreliquary:squid_beak=hunger|2|0;water_breathing|2|0", "minecraft:pumpkin_pie=invisibility|1|0;fire_resistance|1|0;speed|3|0;haste|3|0;absorption|3|0;regeneration|0|0", "minecraft:magma_cream=strength|4|0;instant_damage|0|0;resistance|4|0;fire_resistance|2|0", "minecraft:glistering_melon_slice=strength|3|0;haste|3|0;instant_health|0|0;speed|4|0", "minecraft:ghast_tear=regeneration|3|0;absorption|5|0", "minecraft:fermented_spider_eye=night_vision|4|0;poison|2|0;speed|3|0;haste|3|0", "minecraft:golden_carrot=strength|3|0;haste|3|0;health_boost|3|0;night_vision|3|0", "minecraft:gold_ingot=strength|4|0;haste|4|0;xreliquary:cure|1|0", "xreliquary:rib_bone=weakness|3|0;mining_fatigue|3|0;xreliquary:cure|1|0", "minecraft:ender_pearl=invisibility|5|0;speed|5|0", "minecraft:blaze_rod=strength|8|0;instant_damage|0|0", "minecraft:fire_charge=strength|4|0;instant_damage|0|0;blindness|1|0;absorption|3|0", "xreliquary:catalyzing_gland=regeneration|3|0;health_boost|5|0", "xreliquary:chelicerae=poison|3|0;weakness|3|0", "xreliquary:slime_pearl=resistance|5|0;absorption|5|0", "xreliquary:kraken_shell_fragment=absorption|5|0;water_breathing|5|0", "xreliquary:bat_wing=jump_boost|5|0;weakness|3|0", "minecraft:golden_apple=xreliquary:cure|1|1", "minecraft:golden_apple=xreliquary:cure|1|2", "minecraft:diamond=resistance|6|1;absorption|6|1;fire_resistance|6|0;xreliquary:cure|1|0", "xreliquary:withered_rib=wither|2|1;weakness|3|1;slowness|3|1;mining_fatigue|3|1;xreliquary:cure|1|0", "minecraft:ender_eye=strength|6|1;invisibility|6|0;speed|6|1;instant_damage|0|1", "minecraft:emerald=haste|6|1;speed|6|1;health_boost|6|1;xreliquary:cure|1|1", "minecraft:nether_star=health_boost|24|1;regeneration|24|1;absorption|24|1;xreliquary:cure|1|2", "xreliquary:molten_core=strength|6|1;fire_resistance|6|0;instant_damage|0|1", "xreliquary:eye_of_the_storm=haste|24|1;speed|24|1;jump_boost|24|1;instant_damage|0|1;xreliquary:cure|1|1", "xreliquary:fertile_essence=health_boost|8|1;regeneration|3|1;instant_health|0|1;saturation|0|1;weakness|9|1;mining_fatigue|9|1;xreliquary:cure|1|0", "xreliquary:frozen_core=absorption|6|1;slowness|3|1;mining_fatigue|3|1;instant_damage|0|1;fire_resistance|6|0", "xreliquary:nebulous_heart=night_vision|6|0;invisibility|6|0;instant_damage|0|1;health_boost|6|1;strength|6|1;speed|6|1;haste|6|1", "xreliquary:infernal_claw=instant_damage|0|1;resistance|6|1;fire_resistance|6|0;strength|6|1;saturation|0|1;instant_health|0|1"] + +[items] + + #Ender Staff settings + [items.enderStaff] + #Number of ender pearls per use + #Range: 0 ~ 3 + enderPearlCastCost = 1 + #Time it takes to teleport to the wraith node + #Range: 10 ~ 120 + nodeWarpCastTime = 60 + #Number of ender pearls per teleportation to the wraith node + #Range: 0 ~ 3 + enderPearlNodeWarpCost = 1 + #Number of ender pearls that the ender staff can store + #Range: 0 ~ 9999 + enderPearlLimit = 250 + #Number of ender pearls that get added to the staff per one that's consumed from players inventory + #Range: 1 ~ 10 + enderPearlWorth = 1 + + #Pyromancer Staff settings + [items.pyromancerStaff] + #Number of fire charges the staff can hold + #Range: 0 ~ 9999 + fireChargeLimit = 250 + #Number of fire charges used when the staff is fired + #Range: 0 ~ 3 + fireChargeCost = 1 + #Number of fire charges that get added to the staff per one that's consumed from player's inventory + #Range: 1 ~ 3 + fireChargeWorth = 1 + #Number of fire charges added to the staff per one that was shot by ghast and gets absorbed by the staff + #Range: 0 ~ 3 + ghastAbsorbWorth = 1 + #Number of blaze powder added to the staff per one fireball that was shot by blaze and gets absorbed by the staff + #Range: 0 ~ 3 + blazeAbsorbWorth = 1 + #Number of blaze powder that gets added to the staff per one that's consumed from player's inventory + #Range: 1 ~ 3 + blazePowderWorth = 1 + #Number of blaze powder the staff can hold + #Range: 0 ~ 9999 + blazePowderLimit = 250 + #Number of blaze powder used when staff is fired + #Range: 0 ~ 3 + blazePowderCost = 1 + + #Angelic Feather settings + [items.angelicFeather] + #Percent hunger used to heal player per 1 damage that would be taken otherwise. + #Range: 0 ~ 100 + hungerCostPercent = 50 + #Potency of the leaping effect + #Range: 0 ~ 5 + leapingPotency = 1 + + #Harvest Rod settings + [items.harvestRod] + #Radius in which harvest rod breaks crops, bonemeals/plants/hoes blocks + #Range: 0 ~ 5 + aoeRadius = 2 + #Maximum number of units harvest rod can hold per plantable item + #Range: 0 ~ 9999 + maxCapacityPerPlantable = 250 + #Number of bonemeal the rod can hold + #Range: 0 ~ 9999 + boneMealLimit = 250 + #Number of bonemeal consumed per use + #Range: 0 ~ 3 + boneMealCost = 1 + #Number of bonemeal that gets added to the rod per one that's consumed from player's inventory + #Range: 1 ~ 3 + boneMealWorth = 1 + #Ticks in between harvest rod actions when in pedestals + #Range: 1 ~ 20 + pedestalCooldown = 5 + #Number of times that a rod may apply additional luck based bonemeal + #Range: 0 ~ 7 + boneMealLuckRolls = 2 + #Range at which harvest rod will automatically hoe/plant/bonemeal/break crops around pedestals + #Range: 1 ~ 20 + pedestalRange = 4 + #Ticks in between bonemealing/planting/hoeing blocks when player is using one of these AOE actions + #Range: 1 ~ 20 + aoeCooldown = 3 + #Percent chance that a bonemeal will get applied during a luck roll + #Range: 1 ~ 100 + boneMealLuckPercentChance = 33 + + #Rending Gale settings + [items.rendingGale] + #Number of feathers the rending gale can hold + #Range: > 0 + chargeLimit = 30000 + #Number of feathers that get added to the rending gale per one that's consumed from player's inventory + #Range: 1 ~ 250 + chargeFeatherWorth = 100 + #Cost per second of buffing players with flight + #Range: 1 ~ 20 + pedestalCostPerSecond = 5 + #List of projectiles that are banned from being pushed by the Rending Gale + pushableProjectilesBlacklist = [] + #How far a lightning block can be cast + #Range: 5 ~ 15 + blockTargetRange = 12 + #Whether the rending gale can push projectiles + canPushProjectiles = true + #List of entities that are banned from being pushed by the Rending Gale + pushableEntitiesBlacklist = [] + #Number of feathers used when the rending gale is cast in flight mode + #Range: 0 ~ 3 + castChargeCost = 1 + #Range from pedestals at which players will get buffed with flight + #Range: 10 ~ 100 + pedestalFlightRange = 30 + #Number of feathers used to cast a lightning bolt + #Range: 0 ~ 250 + boltChargeCost = 100 + #Radius in which entities can be pushed/pulled + #Range: 1 ~ 20 + pushPullRadius = 10 + + #Ice Magus Rod settings + [items.iceMagusRod] + #Number of snowballs that get added to the rod per one that's consumed from player's inventory + #Range: 1 ~ 3 + snowballWorth = 1 + #The damage that snowballs cause + #Range: 0 ~ 4 + snowballDamage = 2 + #Damage bonus against fire immune mobs + #Range: 0 ~ 4 + snowballDamageBonusFireImmune = 2 + #Number of snowballs the rod can hold + #Range: 0 ~ 9999 + snowballLimit = 250 + #Damage bonus against blaze + #Range: 0 ~ 8 + snowballDamageBonusBlaze = 4 + #Number of snowballs it costs when the rod is used + #Range: 0 ~ 3 + snowballCost = 1 + + #Phoenix Down settings + [items.PhoenixDown] + #Whether to give temporary fire resistance when the player would die. Applies only when the player is being hurt by fire damage. + giveTemporaryFireResistanceIfFireDamageKilledYou = true + #Percent hunger used to heal player per 1 damage that would be taken otherwise + #Range: 0 ~ 50 + hungerCostPercent = 25 + #Whether to give temporary damage resistance when the player would die + giveTemporaryDamageResistance = true + #Percent of life that gets healed when the player would die + #Range: 0 ~ 100 + healPercentageOfMaxLife = 100 + #Potency of the leaping effect + #Range: 0 ~ 5 + leapingPotency = 1 + #Whether the player gets negative statuses removed when they were saved by Phoenix Down + removeNegativeStatus = true + #Whether to give temporary regeneration when the player would die + giveTemporaryRegeneration = true + #Whether to give temporary damage resistance when the player would die. Applies only when the player is drowning. + giveTemporaryWaterBreathingIfDrowningKilledYou = true + + #Angelheart Vial settings + [items.angelheartVial] + #Percent of life that gets healed when the player would die + #Range: 0 ~ 100 + healPercentageOfMaxLife = 25 + #Whether the player gets negative statuses removed + removeNegativeStatus = true + + #Glacial Staff settings + [items.glacialStaff] + #Number of snowballs that get added to the staff per one that's consumed from player's inventory + #Range: 1 ~ 3 + snowballWorth = 1 + #The damage that snowballs cause + #Range: 0 ~ 6 + snowballDamage = 3 + #The damage bonus against entities that are immune to fire + #Range: 0 ~ 6 + snowballDamageBonusFireImmune = 3 + #Number of snowballs the staff can hold + #Range: 0 ~ 9999 + snowballLimit = 250 + #The damage bonus against blaze + #Range: 0 ~ 12 + snowballDamageBonusBlaze = 6 + #Number of snowballs it costs when the staff is used + #Range: 0 ~ 3 + snowballCost = 1 + + #Sojourner Staff settings + [items.sojournerStaff] + #Distance after which there is an additional cost for torch placement. The additional cost is the number of times this distance fits in the distance at which the torch is being placed. + #Range: 6 ~ 30 + tilePerCostMultiplier = 6 + #Maximum range at which torches can be placed + #Range: 1 ~ 30 + maxRange = 30 + #List of torches that are supported by the staff + torches = ["minecraft:torch", "minecraft:soul_torch", "minecraft:lantern", "minecraft:jack_o_lantern", "minecraft:sea_lantern", "minecraft:soul_lantern", "minecraft:shroomlight", "minecraft:glowstone", "minecraft:end_rod"] + #Number of items the staff can store per item type + #Range: 1 ~ 9999 + maxCapacityPerItemType = 1500 + + #Infernal Chalice settings + [items.infernalChalice] + #Percent hunger used to heal player per 1 damage that would be taken otherwise. + #Range: 0 ~ 10 + hungerCostPercent = 1 + #Millibuckets of lava that the chalice can hold + #Range: > 0 + fluidLimit = 500000 + + #Void Tear settings + [items.voidTear] + #Whether the void tear starts absorbing immediately after it is set to item type + absorbWhenCreated = true + #Number of items the tear can hold of the item type it is set to + #Range: > 0 + itemLimit = 2000000000 + + #Twilight Cloak settings + [items.twilightCloak] + #Maximum light level at which the player is still invisible to the mobs + #Range: 0 ~ 15 + maxLightLevel = 4 + + #Fortune Coin settings + [items.fortuneCoin] + #The distance that it pulls from when right click is held + #Range: 9 ~ 30 + longRangePullDistance = 15 + #The distance that it pulls from when activated + #Range: 3 ~ 10 + standardPullDistance = 5 + + #Emperor Chalice settings + [items.emperorChalice] + #How much saturation is added in addition to filling the hunger + #Range: 0 ~ 10 + hungerSatiationMultiplier = 4 + + #Seeker Shot settings + [items.seekerShot] + #Entities that are banned from being tracked by seeker shot + huntableEntitiesBlacklist = [] + + #Rod of Lyssa settings + [items.rodOfLyssa] + #The experience level cap after which the failure rate is at a minimum and doesn't get better + #Range: 1 ~ 900 + levelCapForLeveledFormula = 100 + #Allows switching stealing from player on and off + stealFromPlayers = true + #If set to false it goes through additional 4 accessible slots and looks for items in case the one selected randomly was empty + stealFromVacantSlots = true + #Whether entities get angry at player if stealing fails + angerOnStealFailure = true + #Whether stealing from an empty slot triggers failure even if otherwise it would be successful + failStealFromVacantSlots = false + #The flat failure rate in case failure rate isn't influenced by player's level + #Range: 0 ~ 100 + flatStealFailurePercentRate = 10 + #Whether level influences stealing failure rate of the rod + useLeveledFailureRate = true + + #Kraken Shell settings + [items.krakenShell] + #Percent hunger used to heal player per 1 damage that would be taken otherwise. + #Range: 0 ~ 50 + hungerCostPercent = 25 + + #Lantern of Paranoia settings + [items.lanternOfParanoia] + #Radius in which the lantern checks for light levels and places torches + #Range: 1 ~ 15 + placementScanRadius = 6 + #List of torches that are supported by the lantern + torches = ["minecraft:torch"] + #Minimum light level below which the lantern will place torches + #Range: 0 ~ 15 + minLightLevel = 8 + + #Alkahestry Tome settings + [items.alkahestryTome] + #Charge limit of the tome + #Range: 0 ~ 9999 + chargeLimit = 1000 + + #Mob Charm settings + [items.mobCharm] + #Maximum charms that will get displayed in HUD + #Range: 1 ~ 20 + maxCharmsToDisplay = 6 + #Sets how much durability of Mob Charm gets repaired per special drop + #Range: 1 ~ 200 + dropDurabilityRepair = 20 + #Total durability of Mob Charm + #Range: 20 ~ 1000 + durability = 80 + #List of hostile entities that are not supposed to have mob charms registered for them + entityBlockList = ["minecraft:ender_dragon", "minecraft:wither"] + #Damage that Mob Charm takes when player kills mob it protects them from + #Range: 0 ~ 40 + damagePerKill = 1 + #Range in which mob charm or belt in pedestals will keep monsters from attacking players + #Range: 10 ~ 100 + pedestalRange = 21 + #Determines if almost destroyed charms stay displayed in the hud + keepAlmostDestroyedDisplayed = true + + #Infernal Claws settings + [items.infernalClaws] + #Percent hunger used to heal player per 1 damage that would be taken otherwise. + #Range: 0 ~ 30 + hungerCostPercent = 5 + + #Midas Touchstone settings + [items.midasTouchstone] + #Number of glowstone that the repair costs + #Range: 0 ~ 3 + glowstoneCost = 1 + #Number of glowstone the touchstone can hold + #Range: 0 ~ 9999 + glowstoneLimit = 250 + #Number of glowstone that gets added to the touchstone per one in player's inventory + #Range: 1 ~ 12 + glowstoneWorth = 4 + #Gold items that can be repaired by the touchstone + goldItems = [] + + #Handgun settings + [items.handgun] + #Experience level at which handgun has the fastest reload time and shortes cooldown between shots + #Range: 0 ~ 100 + maxSkillLevel = 20 + + #Infernal Tear settings + [items.infernalTear] + #Whether the infernal tear starts absorbing immediately after it is set to item type + absorbWhenCreated = false + #List of items that can be consumed by infernal tear with their experience point value + entityLootTableList = ["minecraft:emerald|63", "minecraft:sandstone|1", "minecraft:gravel|1", "minecraft:diamond|125", "minecraft:gunpowder|8", "minecraft:nether_star|500", "minecraft:iron_ingot|63", "minecraft:charcoal|2", "minecraft:soul_sand|2", "minecraft:lapis_lazuli|8", "minecraft:obsidian|4", "minecraft:end_stone|1", "minecraft:gold_ingot|63", "minecraft:netherrack|1", "minecraft:flint|2", "minecraft:clay|4", "minecraft:chorus_fruit|2", "minecraft:quartz|16", "minecraft:honeycomb|4", "minecraft:netherite_scrap|250"] + + #Destruction Catalyst settings + [items.destructionCatalyst] + #Number of gunpowder it costs per catalyst use + #Range: 0 ~ 10 + gunpowderCost = 3 + #Whether the explosion is centered on the block that gets clicked + centeredExplosion = false + #Whether the explosion makes a perfect cube hole + perfectCube = true + #List of mundane blocks the catalyst will break + mundaneBlocks = ["minecraft:dirt", "minecraft:coarse_dirt", "minecraft:podzol", "minecraft:mycelium", "minecraft:grass_block", "minecraft:gravel", "minecraft:cobblestone", "minecraft:stone", "minecraft:granite", "minecraft:diorite", "minecraft:andesite", "minecraft:sand", "minecraft:sandstone", "minecraft:snow", "minecraft:soul_sand", "minecraft:netherrack", "minecraft:end_stone"] + #Number of gunpowder that can be stored in destruction catalyst + #Range: 0 ~ 9999 + gunpowderLimit = 250 + #Number of gunpowder that gets added to catalyst per one that's consumed from players inventory + #Range: 1 ~ 3 + gunpowderWorth = 1 + #Radius of the explosion + #Range: 1 ~ 5 + explosionRadius = 1 + + #Hero Medallion settings + [items.heroMedallion] + #How much experience gets dropped on ground when hero's medallion is right clicked on it (9 is the first level of player xp) + #Range: 1 ~ 100 + experienceDrop = 9 + #A player's experience level at which the medallion will stop pulling from the player + #Range: 0 ~ 30 + experienceLevelMinimum = 0 + #Maximum amount of xp that is used each time medallion repairs items + #Range: 1 ~ 20 + pedestalRepairStepXP = 5 + #A player's experience level at which pulling from the medallion to player will stop + #Range: 0 ~ 1000 + experienceLevelMaximum = 200 + #Cooldown between hero medallion tries to fix mending items in nearby pedestals + #Range: 1 ~ 100 + pedestalCoolDown = 20 + #Range in which pedestals are checked for items with mending enchant that need fixing + #Range: 1 ~ 20 + pedestalRange = 5 + + #Mob Charm Fragment Settings + [items.mobCharmFragment] + #Additional chance per level of looting + #Range: 0.0 ~ 1.0 + lootingMultiplier = 0.008333333767950535 + #Chance of fragment droping from mobs that don't have fragment that can be crafted + #Range: 0.0 ~ 1.0 + dropChance = 0.01666666753590107 + +[blocks] + + #Pedestal related settings + [blocks.pedestal] + #Range at which bucket will pickup liquid blocks or milk cows + #Range: 1 ~ 10 + bucketWrapperRange = 4 + #Range at which pedestals will get turned on if either redstone block gets put in or redstone dust and transmitting pedestals is powered + #Range: 1 ~ 200 + redstoneWrapperRange = 10 + #How long it takes after a melee weapon swing before it can swing again (in ticks) + #Range: 1 ~ 200 + meleeWrapperCooldown = 5 + #How long it takes in between bucket actions (in ticks) + #Range: 1 ~ 200 + bucketWrapperCooldown = 40 + #How long it takes between shearing actions (in ticks) + #Range: 1 ~ 10 + shearsWrapperRange = 4 + #Success rate of fishing in percent. When unsuccessful it will pull the hook too late to catch a fish. + #Range: 0 ~ 100 + fishingWrapperSuccessRate = 80 + #Delay in seconds before it would start fishing again after retracting the hook. + #Range: 1 ~ 20 + fishingWrapperRetractDelay = 2 + #Range at which shears will shear sheep or shearable blocks + #Range: 1 ~ 200 + shearsWrapperCooldown = 10 + #Range of the melee weapons in which these will attack when in pedestals + #Range: 1 ~ 10 + meleeWrapperRange = 5 + + #Apothecary Cauldron settings + [blocks.apothecaryCauldron] + #Limit of glowstone that can be used in cauldron to make POTION more potent + #Range: 0 ~ 4 + glowstoneLimit = 2 + #List of acceptable heat sources + heatSources = [] + #Time it takes to cook POTION + #Range: 20 ~ 32000 + cookTime = 160 + #Limit of redstone that can be used in cauldron to make POTION last longer + #Range: 0 ~ 5 + redstoneLimit = 3 + + #Altar of Light settings + [blocks.altar] + #Time in minutes it takes for the altar to create glowstone block + #Range: 0 ~ 60 + timeInMinutes = 20 + #Number of redstone it costs to activate altar + #Range: 0 ~ 10 + redstoneCost = 3 + #Maximum time variance in minutes. A random part of it gets added to the Time in minutes. + #Range: 0 ~ 15 + maximumTimeVarianceInMinutes = 5 + #Light level that the altar outputs while active + #Range: 0 ~ 16 + outputLightLevelWhileActive = 16 + + #Interdiction Torch settings + [blocks.interdictionTorch] + #List of projectiles that are banned from being pushed by the torch + pushableProjectilesBlacklist = [] + #Radius in which the torch can push out mobs + #Range: 1 ~ 15 + pushRadius = 5 + #Whether the torch can push projectiles + canPushProjectiles = false + #List of entities that are banned from being pushed by the torch + pushableEntitiesBlacklist = [] + + #Lilypad of Fertility settings + [blocks.fertileLilypad] + #Radius in which lilypad causes growh ticks + #Range: 1 ~ 15 + tileRange = 4 + #Interval in seconds at which the lilypad causes growth tick updates + #Range: 1 ~ 150 + secondsBetweenGrowthTicks = 10 + #Radius around lilypad where the growth ticks occur the most often + #Range: 1 ~ 15 + fullPotencyRange = 1 + diff --git a/src/overrides/defaultconfigs/create-server.toml b/src/overrides/defaultconfigs/create-server.toml new file mode 100644 index 0000000..a73f2ab --- /dev/null +++ b/src/overrides/defaultconfigs/create-server.toml @@ -0,0 +1,392 @@ + +# +#The Backbone of Create +[infrastructure] + # + #[in Ticks] + #The amount of time a server waits before sending out tickrate synchronization packets. + #These packets help animations to be more accurate when tps is below 20. + #Range: > 5 + tickrateSyncTimer = 20 + +# +#Packmakers' control panel for internal recipe compat +[recipes] + # + #Allow the standard in-world Refined Radiance recipes. + enableRefinedRadianceRecipe = true + # + #Allow Firework Rockets with more than 9 ingredients to be crafted using Mechanical Crafters. + allowBiggerFireworksInCrafter = false + # + #Allow any single-ingredient 2x2 or 3x3 crafting recipes to be processed by a Mechanical Press + Basin. + allowShapedSquareInPress = true + # + #Allow the Mechanical Press to process entire stacks at a time. + bulkPressing = false + # + #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance. + #Range: > 1 + lightSourceCountForRefinedRadiance = 4 + # + #Allow the Mechanical Saw to process entire stacks at a time. + bulkCutting = false + # + #Allow any stonecutting recipes to be processed by a Mechanical Saw. + allowStonecuttingOnSaw = true + # + #Allow the standard in-world Shadow Steel recipe. + enableShadowSteelRecipe = false + # + #Allow allows any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin. + allowShapelessInMixer = true + # + #Allow any standard crafting recipes to be processed by Mechanical Crafters. + allowRegularCraftingInCrafter = true + # + #Allow any Druidcraft woodcutter recipes to be processed by a Mechanical Saw. + allowWoodcuttingOnSaw = true + # + #Allow Spouts to interact with Casting Tables and Basins from Tinkers' Construct. + allowCastingBySpout = true + +# +#Parameters and abilities of Create's kinetic mechanisms +[kinetics] + # + #Disable the Stress mechanic altogether. + disableStress = false + # + #[in Revolutions per Minute] + #Base rotation speed for the furnace engine generator + #Range: > 1 + furnaceEngineSpeed = 16 + # + #Select what mobs should ignore Deployers when attacked by them. + #Allowed Values: ALL, CREEPERS, NONE + ignoreDeployerAttacks = "CREEPERS" + # + #Amount of sail-type blocks required for a windmill to assemble successfully. + #Range: > 0 + minimumWindmillSails = 8 + # + #Time in ticks until the next item launched by an ejector scans blocks for potential collisions + #Range: > 10 + ejectorScanInterval = 120 + # + #[in Revolutions per Minute] + #Maximum allowed speed of a configurable motor. + #[@cui:RequiresReload:both] + #Range: > 64 + maxMotorSpeed = 256 + # + #Game ticks between Kinetic Blocks checking whether their source is still valid. + #Range: > 5 + kineticValidationFrequency = 60 + # + #multiplier used for calculating exhaustion from speed when a crank is turned. + #Range: 0.0 ~ 1.0 + crankHungerMultiplier = 0.009999999776482582 + # + #[in Revolutions per Minute] + #Added rotation speed by a water wheel when at least one flow is present. + #Range: > 1 + waterWheelBaseSpeed = 4 + # + #[in Revolutions per Minute] + #Rotation speed gained by a water wheel for each side with running fluids. (halved if not against blades) + #Range: > 1 + waterWheelFlowSpeed = 4 + # + #[in Revolutions per Minute] + #Maximum allowed rotation speed for any Kinetic Tile. + #Range: > 64 + maxRotationSpeed = 256 + # + #Max Distance in blocks a Weighted Ejector can throw + #Range: > 0 + maxEjectorDistance = 32 + # + #Maximum length in blocks of mechanical belts. + #Range: > 5 + maxBeltLength = 20 + # + #Damage dealt by active Crushing Wheels. + #Range: > 0 + crushingDamage = 4 + + # + #Encased Fan + [kinetics.encasedFan] + # + #Maximum distance in blocks Fans can push entities. + #Range: > 5 + fanPushDistance = 20 + # + #Game ticks between Fans checking for anything blocking their air flow. + #Range: > 10 + fanBlockCheckRate = 30 + # + #Game ticks required for a Fan-based processing recipe to take effect. + #Range: > 0 + inWorldProcessingTime = 150 + # + #[in Revolutions per Minute] + #Rotation speed at which the maximum stats of fans are reached. + #Range: > 64 + fanRotationArgmax = 256 + # + #[in Revolutions per Minute] + #Rotation speed generated by a vertical fan above fire. + #Range: > 0 + generatingFanSpeed = 4 + # + #Maximum distance in blocks from where Fans can pull entities. + #Range: > 5 + fanPullDistance = 20 + + # + #Moving Contraptions + [kinetics.contraptions] + # + #Maximum amount of extension poles behind a Mechanical Piston. + #Range: > 1 + maxPistonPoles = 64 + # + #Maximum value of a chassis attachment range. + #Range: > 1 + maxChassisRange = 16 + # + #Max length of rope available off a Rope Pulley. + #Range: > 1 + maxRopeLength = 128 + # + #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means. + #Range: > 1 + maxBlocksMoved = 2048 + # + #Configure how Spawner blocks can be moved by contraptions. + #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE + movableSpawners = "NO_PICKUP" + # + #Maximum allowed distance of two coupled minecarts. + #Range: > 1 + maxCartCouplingLength = 32 + + [kinetics.stressValues] + + # + #Configure speed/capacity levels for requirements and indicators. + [kinetics.stressValues.stats] + # + #[in Revolutions per Minute] + #Minimum speed of rotation to be considered 'fast' + #Range: 0.0 ~ 65535.0 + fastSpeed = 100.0 + # + #[in Stress Units] + #Minimum stress impact to be considered 'high' + #Range: 0.0 ~ 65535.0 + highStressImpact = 8.0 + # + #[in Stress Units] + #Minimum stress impact to be considered 'medium' + #Range: 0.0 ~ 4096.0 + mediumStressImpact = 4.0 + # + #[in Stress Units] + #Minimum added Capacity by sources to be considered 'medium' + #Range: 0.0 ~ 4096.0 + mediumCapacity = 128.0 + # + #[in Revolutions per Minute] + #Minimum speed of rotation to be considered 'medium' + #Range: 0.0 ~ 4096.0 + mediumSpeed = 30.0 + # + #[in Stress Units] + #Minimum added Capacity by sources to be considered 'high' + #Range: 0.0 ~ 65535.0 + highCapacity = 512.0 + + # + #Fine tune the kinetic stats of individual components + [kinetics.stressValues.v2] + + # + #[in Stress Units] + #Configure the individual stress impact of mechanical blocks. Note that this cost is doubled for every speed increase it receives. + [kinetics.stressValues.v2.impact] + mechanical_bearing = 4.0 + clockwork_bearing = 4.0 + turntable = 4.0 + sequenced_gearshift = 0.0 + sticky_mechanical_piston = 4.0 + crushing_wheel = 8.0 + mechanical_arm = 2.0 + rope_pulley = 4.0 + mechanical_crafter = 1.0 + mechanical_drill = 4.0 + flywheel = 0.0 + weighted_ejector = 0.0 + hose_pulley = 4.0 + mechanical_saw = 4.0 + large_cogwheel = 0.0 + deployer = 4.0 + gearbox = 0.0 + mysterious_cuckoo_clock = 1.0 + stressometer = 0.0 + encased_chain_drive = 0.0 + rotation_speed_controller = 0.0 + belt = 0.0 + cogwheel = 0.0 + copper_backtank = 4.0 + mechanical_pump = 4.0 + mechanical_mixer = 4.0 + andesite_encased_shaft = 0.0 + adjustable_chain_gearshift = 0.0 + mechanical_piston = 4.0 + clutch = 0.0 + mechanical_press = 8.0 + encased_fan = 2.0 + gearshift = 0.0 + cuckoo_clock = 1.0 + brass_encased_shaft = 0.0 + speedometer = 0.0 + millstone = 4.0 + shaft = 0.0 + + # + #[in Stress Units] + #Configure how much stress a source can accommodate for. + [kinetics.stressValues.v2.capacity] + creative_motor = 16384.0 + furnace_engine = 1024.0 + hand_crank = 8.0 + windmill_bearing = 512.0 + encased_fan = 16.0 + water_wheel = 16.0 + +# +#Create's liquid manipulation tools +[fluids] + # + #[in Blocks] + #The maximum distance a mechanical pump can push or pull liquids on either side. + #Range: > 1 + mechanicalPumpRange = 16 + # + #[in Blocks] + #[-1 to disable this behaviour] + #The minimum amount of fluid blocks the hose pulley needs to find before deeming it an infinite source. + #Range: > -1 + hosePulleyBlockThreshold = 10000 + # + #[in Blocks] + #The maximum height a fluid tank can reach. + #Range: > 1 + fluidTankMaxHeight = 32 + # + #[in Blocks] + #The maximum distance a hose pulley can draw fluid blocks from. + #Range: > 1 + hosePulleyRange = 128 + # + #[in Buckets] + #The amount of liquid a tank can hold per block. + #Range: > 1 + fluidTankCapacity = 8 + +# +#Tweaks for logistical components +[logistics] + # + #The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone. + #Range: > 1 + defaultExtractionTimer = 8 + # + #Maximum distance in blocks a Mechanical Arm can reach across. + #Range: > 1 + mechanicalArmRange = 5 + # + #The amount of ticks a portable storage interface waits for transfers until letting contraptions move along. + #Range: > 1 + psiTimeout = 20 + # + #The maximum amount of items a funnel pulls at a time without an applied filter. + #Range: 1 ~ 64 + defaultExtractionLimit = 64 + # + #Maximum possible range in blocks of redstone link connections. + #Range: > 1 + linkRange = 128 + +# +#Everything related to Schematic tools +[schematics] + # + #Amount of game ticks without new packets arriving until an active schematic upload process is discarded. + #Range: > 100 + schematicIdleTimeout = 600 + # + #[in KiloBytes] + #The maximum allowed file size of uploaded Schematics. + #Range: > 16 + maxSchematics = 256 + # + #Whether placing a Schematic directly in Creative Mode should replace world blocks with Air + creativePrintIncludesAir = false + # + #[in Bytes] + #The maximum packet size uploaded Schematics are split into. + #Range: 256 ~ 32767 + maxSchematicPacketSize = 1024 + + # + #Schematicannon + [schematics.schematicannon] + # + #% of Schematicannon's Fuel filled by 1 Gunpowder. + #Range: 0.0 ~ 100.0 + schematicannonGunpowderWorth = 20.0 + # + #% of Schematicannon's Fuel used for each fired block. + #Range: 0.0 ~ 100.0 + schematicannonFuelUsage = 0.05000000074505806 + # + #Amount of game ticks between shots of the cannon. Higher => Slower + #Range: > 1 + schematicannonDelay = 10 + # + #Amount of block positions per tick scanned by a running cannon. Higher => Faster + #Range: > 1 + schematicannonSkips = 10 + +# +#Gadgets and other Shenanigans added by Create +[curiosities] + # + #The Maximum Distance to an active mirror for the symmetry wand to trigger. + #Range: > 10 + maxSymmetryWandRange = 50 + # + #The Maximum volume of Air that can be stored in a backtank = Seconds of underwater breathing + #Range: > 1 + airInBacktank = 900 + # + #Amount of free Extendo Grip actions provided by one filled Copper Backtank. Set to 0 makes Extendo Grips unbreakable + #Range: > 0 + maxExtendoGripActions = 1000 + # + #The Maximum Distance a Block placed by Create's placement assist will have to its interaction point. + #Range: > 3 + placementAssistRange = 12 + # + #The volume of Air added by each level of the backtanks Capacity Enchantment + #Range: > 1 + enchantedBacktankCapacity = 300 + # + #Amount of free Potato Cannon shots provided by one filled Copper Backtank. Set to 0 makes Potato Cannons unbreakable + #Range: > 0 + maxPotatoCannonShots = 200 + diff --git a/src/overrides/defaultconfigs/occultism-server.toml b/src/overrides/defaultconfigs/occultism-server.toml new file mode 100644 index 0000000..0d6467b --- /dev/null +++ b/src/overrides/defaultconfigs/occultism-server.toml @@ -0,0 +1,88 @@ + +#Storage Settings +[storage] + #The amount of slots the storage stabilizer tier 1 provides. + stabilizerTier1Slots = 256 + #The amount of slots the storage stabilizer tier 3 provides. + stabilizerTier3Slots = 1024 + #The amount of slots the storage stabilizer tier 2 provides. + stabilizerTier2Slots = 512 + #True to use the configured controllerStackSize for all items, instead of the stack sizes provided by item type (such as 16 for ender pearls, 64 for iron ingot). WARNING: Setting this to false may have a negative impact on performance. + overrideItemStackSizes = true + #The amount of slots the storage actuator provides. + controllerBaseSlots = 128 + #The stack size the storage actuator uses. + controllerStackSize = 1024 + #The amount of slots the storage stabilizer tier 4 provides. + stabilizerTier4Slots = 2048 + +#Spirit Job Settings +[spirit_job] + #The multiplier to each crushing recipe's output count for Tier 1 (Foliot) Crusher Spirits. + tier1CrusherOutputMultiplier = 1.0 + #The multiplier to each crushing recipe's output count for Tier 2 (Djinni) Crusher Spirits. + tier2CrusherOutputMultiplier = 1.5 + #Currently unused. The multiplier to each crushing recipe's crushing_time for Tier 4 (Marid) Crusher Spirits. + tier4CrusherTimeMultiplier = 0.2 + #Currently unused. The multiplier to each crushing recipe's crushing_time for Tier 3 (Afrit) Crusher Spirits. + tier3CrusherTimeMultiplier = 0.5 + #The multiplier to each crushing recipe's output count for Tier 3 (Afrit) Crusher Spirits. + tier3CrusherOutputMultiplier = 2.0 + #The multiplier to each crushing recipe's output count for Tier 4 (Marid) Crusher Spirits. + tier4CrusherOutputMultiplier = 3.0 + #The minimum ticks before a crusher can pick up an item it dropped. Default is 3 Seconds = 3 * 20 Ticks. + crusherResultPickupDelay = 60 + #The amount of iron required for a blacksmith familiar to upgrade another familiar. + blacksmithFamiliarUpgradeCost = 18 + #The multiplier to each crushing recipe's crushing_time for Tier 1 (Foliot) Crusher Spirits. + tier1CrusherTimeMultiplier = 2.0 + #The duration for the slow falling effect applied by a drikwing. + drikwingFamiliarSlowFallingSeconds = 15 + #The chance for a blacksmith familiar to repair an item (by 2 durability) whenever stone is picked up. 1.0 = 100%, 0.0 = 0%. + blacksmithFamiliarRepairChance = 0.05 + #The multiplier to each crushing recipe's crushing_time for Tier 2 (Djinni) Crusher Spirits. + tier2CrusherTimeMultiplier = 1.0 + #The cooldown for a blacksmith familiar to upgrade another familiar. + blacksmithFamiliarUpgradeCooldown = 400 + +#Ritual Settings +[rituals] + #Enables the ritual to start a thunderstorm. + enableThunderWeatherRitual = true + #Enables the ritual to set time to day. + enableDayTimeRitual = true + #Enables the ritual to set time to night. + enableNightTimeRitual = true + #Enables the ritual to start rainy weather. + enableRainWeatherRitual = true + #If enabled, rituals are interrupted if *more* ingredients are present than needed. This should usually be disabled, but can improve performance if (very very) many rituals are running. + enableRemainingIngredientCountMatching = false + #Enables the ritual to clear rainy weather. + enableClearWeatherRitual = true + +#Dimensional Mineshaft Settings +[dimensional_mineshaft] + + #Miner Spirit Settings + [dimensional_mineshaft.miner_djinni_ores] + #The amount of blocks the spirit will obtain per mining operation + rollsPerOperation = 1 + #The amount of mining operations the spirit can perform before breaking. + durability = 300 + #The amount of time it takes the spirit to perform one mining operation. + maxMiningTime = 600 + + #Miner Spirit Settings + [dimensional_mineshaft.miner_foliot_unspecialized] + #The amount of blocks the spirit will obtain per mining operation + rollsPerOperation = 1 + #The amount of mining operations the spirit can perform before breaking. + durability = 500 + #The amount of time it takes the spirit to perform one mining operation. + maxMiningTime = 600 + +#Item Settings +[items] + #Entity types that cannot be captured in a soul gem. Specify by their full id, e.g "minecraft:zombie" + soulgemEntityDenyList = ["minecraft:wither"] + diff --git a/src/overrides/defaultconfigs/pipez-server.toml b/src/overrides/defaultconfigs/pipez-server.toml new file mode 100644 index 0000000..f08cdba --- /dev/null +++ b/src/overrides/defaultconfigs/pipez-server.toml @@ -0,0 +1,104 @@ + +[item_pipe] + + [item_pipe.speed] + #The speed at which items are transferred + #A value of 1 means every tick + #Range: > 1 + no_upgrade = 20 + #The speed at which items are transferred + #A value of 1 means every tick + #Range: > 1 + basic = 15 + #The speed at which items are transferred + #A value of 1 means every tick + #Range: > 1 + improved = 10 + #The speed at which items are transferred + #A value of 1 means every tick + #Range: > 1 + advanced = 5 + #The speed at which items are transferred + #A value of 1 means every tick + #Range: > 1 + ultimate = 1 + + [item_pipe.amount] + #The amount of items transferred + #Range: > 1 + no_upgrade = 4 + #The amount of items transferred + #Range: > 1 + basic = 8 + #The amount of items transferred + #Range: > 1 + improved = 16 + #The amount of items transferred + #Range: > 1 + advanced = 32 + #The amount of items transferred + #Range: > 1 + ultimate = 64 + +[fluid_pipe] + + [fluid_pipe.amount] + #The amount of mB transferred each tick + #Range: > 1 + no_upgrade = 50 + #The amount of mB transferred each tick + #Range: > 1 + basic = 100 + #The amount of mB transferred each tick + #Range: > 1 + improved = 500 + #The amount of mB transferred each tick + #Range: > 1 + advanced = 2000 + #The amount of mB transferred each tick + #Range: > 1 + ultimate = 10000 + +[energy_pipe] + + [energy_pipe.amount] + #The amount of FE transferred each tick + #Range: > 1 + no_upgrade = 10000 + #The amount of FE transferred each tick + #Range: > 1 + basic = 1024 + #The amount of FE transferred each tick + #Range: > 1 + improved = 8192 + #The amount of FE transferred each tick + #Range: > 1 + advanced = 32768 + #The amount of FE transferred each tick + #Range: > 1 + ultimate = 131072 + +[gas_pipe] + + [gas_pipe.amount] + #The amount of mB transferred each tick + #Only available if Mekanism is installed + #Range: > 1 + no_upgrade = 200 + #The amount of mB transferred each tick + #Only available if Mekanism is installed + #Range: > 1 + basic = 400 + #The amount of mB transferred each tick + #Only available if Mekanism is installed + #Range: > 1 + improved = 2000 + #The amount of mB transferred each tick + #Only available if Mekanism is installed + #Range: > 1 + advanced = 8000 + #The amount of mB transferred each tick + #Only available if Mekanism is installed + #Range: > 1 + ultimate = 40000 + diff --git a/src/overrides/defaultconfigs/thermal-server.toml b/src/overrides/defaultconfigs/thermal-server.toml new file mode 100644 index 0000000..42eb65c --- /dev/null +++ b/src/overrides/defaultconfigs/thermal-server.toml @@ -0,0 +1,79 @@ + +["Global Options"] + #If TRUE, most Thermal Blocks will retain Inventory Contents when dropped. + #This setting does not control ALL blocks. + "Blocks Retain Inventory" = false + #If TRUE, Thermal Blocks will retain Redstone Control configuration when dropped. + "Blocks Retain Redstone Control" = true + #If TRUE, Thermal Blocks will retain Side configuration when dropped. + "Blocks Retain Side Configuration" = false + #If TRUE, Thermal Blocks will retain Transfer Control configuration when dropped. + "Blocks Retain Transfer Control" = true + #If TRUE, most Thermal Blocks will retain Tank Contents when dropped. + #This setting does not control ALL blocks. + "Blocks Retain Tank Contents" = false + #If TRUE, Thermal Blocks will retain Augments when dropped. + "Blocks Retain Augments" = true + #If TRUE, most Thermal Blocks will retain Energy when dropped. + #This setting does not control ALL blocks. + "Blocks Retain Energy" = false + +[Features] + #If TRUE, various 'Vanilla+' Blocks and Recipes are enabled. + "Vanilla+" = true + #If TRUE, the Blitz Mob is enabled. + Blitz = true + #If TRUE, Rockwool Blocks and Recipes are enabled. + Rockwool = false + #If TRUE, the Basalz Mob is enabled. + Basalz = true + #If TRUE, the Blizz Mob is enabled. + Blizz = true + +[Augments] + #If TRUE, Side Reconfiguration is enabled by default on most augmentable blocks which support it. + #If FALSE, an augment is required. + #This setting does not control ALL blocks. + "Default Side Reconfiguration" = false + #If TRUE, Redstone Control is enabled by default on most augmentable blocks which support it. + #If FALSE, an augment is required. + #This setting does not control ALL blocks. + "Default Redstone Control" = true + #If TRUE, XP Storage is enabled by default on most augmentable blocks which support it. + #If FALSE, an augment is required. + #This setting does not control ALL blocks. + "Default XP Storage" = false + +[Villagers] + #If TRUE, trades will be added to various Villagers. + "Enable Villager Trades" = true + +[Devices] + + [Devices.TreeExtractor] + #This sets the base time constant (in ticks) for the Arboreal Extractor. + #Range: 20 ~ 72000 + "Time Constant" = 500 + +["World Generation"] + #Set to FALSE to prevent 'Thermal Series' Silver from generating. + Silver = false + #Set to FALSE to prevent 'Thermal Series' Oil Sands from generating. + Oil = true + #Set to FALSE to prevent 'Thermal Series' Cinnabar from generating. + Cinnabar = true + #Set to FALSE to prevent 'Thermal Series' Tin from generating. + Tin = false + #Set to FALSE to prevent 'Thermal Series' Lead from generating. + Lead = false + #Set to FALSE to prevent 'Thermal Series' Apatite from generating. + Apatite = true + #Set to FALSE to prevent 'Thermal Series' Niter from generating. + Niter = true + #Set to FALSE to prevent 'Thermal Series' Nickel from generating. + Nickel = false + #Set to FALSE to prevent 'Thermal Series' Sulfur from generating. + Sulfur = true + #Set to FALSE to prevent 'Thermal Series' Copper from generating. + Copper = false + diff --git a/src/overrides/kubejs/assets/kubejs/lang/en_us.json b/src/overrides/kubejs/assets/kubejs/lang/en_us.json new file mode 100644 index 0000000..e02aef2 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/lang/en_us.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/accellerator.json b/src/overrides/kubejs/assets/kubejs/models/block/accellerator.json new file mode 100644 index 0000000..e361744 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/accellerator.json @@ -0,0 +1,94 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "kubejs:block/accellerator_glass", + "particle": "block/glass" + }, + "elements": [ + { + "from": [2, 0, 2], + "to": [14, 8, 14], + "faces": { + "north": {"uv": [0.5, 0.5, 4.5, 6.5], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 0.5, 4.5, 6.5], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 0.5, 4.5, 6.5], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0.5, 0.5, 4.5, 6.5], "rotation": 270, "texture": "#0"}, + "up": {"uv": [5, 0.5, 11, 6.5], "texture": "#0"}, + "down": {"uv": [5, 0.5, 11, 6.5], "texture": "#0"} + } + }, + { + "from": [13, 0, 3], + "to": [3, 8, 13], + "faces": { + "north": {"uv": [0.5, 1, 4.5, 6], "rotation": 270, "texture": "#0"}, + "east": {"uv": [0.5, 1, 4.5, 6], "rotation": 270, "texture": "#0"}, + "south": {"uv": [0.5, 1, 4.5, 6], "rotation": 270, "texture": "#0"}, + "west": {"uv": [0.5, 1, 4.5, 6], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [4, 7, 4], + "to": [12, 10, 12], + "faces": { + "north": {"uv": [11.5, 0.5, 15.5, 2], "texture": "#0"}, + "east": {"uv": [11.5, 0.5, 15.5, 2], "texture": "#0"}, + "south": {"uv": [11.5, 0.5, 15.5, 2], "texture": "#0"}, + "west": {"uv": [11.5, 0.5, 15.5, 2], "texture": "#0"}, + "up": {"uv": [11.5, 2.5, 15.5, 6.5], "texture": "#0"}, + "down": {"uv": [11.5, 2.5, 15.5, 6.5], "texture": "#0"} + } + }, + { + "from": [3, 1, 3], + "to": [13, 5, 13], + "faces": { + "north": {"uv": [8, 10.5, 10, 15.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "east": {"uv": [8, 10.5, 10, 15.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "south": {"uv": [8, 10.5, 10, 15.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "west": {"uv": [8, 10.5, 10, 15.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "up": {"uv": [10.5, 10.5, 15.5, 15.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "down": {"uv": [10.5, 10.5, 15.5, 15.5], "rotation": 90, "texture": "#0", "tintindex": 0} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 61, -5], + "translation": [0, 2.25, 0], + "scale": [0.61, 0.61, 0.61] + }, + "firstperson_lefthand": { + "rotation": [0, 61, -5], + "translation": [0, 2.25, 0], + "scale": [0.61, 0.61, 0.61] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, 2.5, 0], + "scale": [0.84, 0.84, 0.84] + }, + "head": { + "translation": [0, 14.5, 0] + }, + "fixed": { + "rotation": [0, 45, 0], + "translation": [0, 4, 0] + } + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/andesite_machine.json b/src/overrides/kubejs/assets/kubejs/models/block/andesite_machine.json new file mode 100644 index 0000000..dcd94d1 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/andesite_machine.json @@ -0,0 +1,175 @@ +{ + "credit": "Made with Blockbench", + "parent": "kubejs:block/machine", + "textures": { + "0": "create:block/axis", + "3": "create:block/axis_top", + "4": "create:block/andesite_casing_short", + "5": "create:block/andesite_funnel_plating", + "6": "create:block/andesite_casing", + "7": "create:block/andesite_casing_very_short", + "1_2": "create:block/cogwheel", + "particle": "create:block/andesite_casing", + "mechanical_press_pole": "create:block/mechanical_press_pole" + }, + "elements": [ + { + "from": [0, 0, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [8, 1, 16, 9], "texture": "#5"}, + "east": {"uv": [0, 4, 16, 16], "rotation": 270, "texture": "#4"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#6"}, + "west": {"uv": [0, 4, 16, 16], "rotation": 270, "texture": "#4"}, + "up": {"uv": [8, 1, 16, 7], "texture": "#5"}, + "down": {"uv": [0, 4, 16, 16], "texture": "#4"} + } + }, + { + "from": [3, 14, 3], + "to": [13, 18, 17], + "faces": { + "north": {"uv": [12, 6, 16, 16], "rotation": 90, "texture": "#7"}, + "east": {"uv": [0, 0, 14, 4], "texture": "#4"}, + "south": {"uv": [0, 0, 10, 4], "texture": "#4"}, + "west": {"uv": [0, 0, 14, 4], "texture": "#4"}, + "up": {"uv": [2, 6, 16, 16], "rotation": 90, "texture": "#7"}, + "down": {"uv": [0, 4, 16, 16], "texture": "#4"} + } + }, + { + "name": "Axis", + "from": [6, 6, -2], + "to": [10, 10, 14], + "shade": false, + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 10]}, + "faces": { + "north": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#3"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 90, "texture": "#0"}, + "south": {"uv": [6, 6, 10, 10], "texture": "#3"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 270, "texture": "#0"}, + "up": {"uv": [6, 0, 10, 16], "texture": "#0"}, + "down": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [-1, 6.5, 0.5], + "to": [17, 9.5, 3.5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 10]}, + "faces": { + "north": {"uv": [7, 6, 16, 7.5], "rotation": 180, "texture": "#1_2"}, + "east": {"uv": [5.5, 7.5, 7, 9], "rotation": 90, "texture": "#1_2"}, + "south": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}, + "west": {"uv": [5.5, 7.5, 7, 9], "rotation": 270, "texture": "#1_2"}, + "up": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "down": {"uv": [7, 7.5, 16, 9], "rotation": 180, "texture": "#1_2"} + } + }, + { + "name": "Gear2", + "from": [-1, 6.5, 0.5], + "to": [17, 9.5, 3.5], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 2]}, + "faces": { + "north": {"uv": [7, 6, 16, 7.5], "rotation": 180, "texture": "#1_2"}, + "east": {"uv": [5.5, 7.5, 7, 9], "rotation": 90, "texture": "#1_2"}, + "south": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}, + "west": {"uv": [5.5, 7.5, 7, 9], "rotation": 270, "texture": "#1_2"}, + "up": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "down": {"uv": [7, 7.5, 16, 9], "rotation": 180, "texture": "#1_2"} + } + }, + { + "name": "Gear3", + "from": [-1, 6.5, 0.5], + "to": [17, 9.5, 3.5], + "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 2]}, + "faces": { + "north": {"uv": [7, 6, 16, 7.5], "rotation": 180, "texture": "#1_2"}, + "east": {"uv": [5.5, 7.5, 7, 9], "rotation": 90, "texture": "#1_2"}, + "south": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}, + "west": {"uv": [5.5, 7.5, 7, 9], "rotation": 270, "texture": "#1_2"}, + "up": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "down": {"uv": [7, 7.5, 16, 9], "rotation": 180, "texture": "#1_2"} + } + }, + { + "name": "Gear4", + "from": [6.5, -1, 0.5], + "to": [9.5, 17, 3.5], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 10]}, + "faces": { + "north": {"uv": [7, 6, 16, 7.5], "rotation": 270, "texture": "#1_2"}, + "east": {"uv": [7, 7.5, 16, 9], "rotation": 90, "texture": "#1_2"}, + "south": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"}, + "west": {"uv": [7, 7.5, 16, 9], "rotation": 270, "texture": "#1_2"}, + "up": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"}, + "down": {"uv": [5.5, 7.5, 7, 9], "rotation": 180, "texture": "#1_2"} + } + }, + { + "name": "GearCaseInner", + "from": [2, 2, 1], + "to": [14, 14, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 10]}, + "faces": { + "north": {"uv": [4, 0, 10, 6], "rotation": 180, "texture": "#1_2"}, + "east": {"uv": [0, 6, 6, 7], "rotation": 90, "texture": "#1_2"}, + "south": {"uv": [4, 0, 10, 6], "texture": "#1_2"}, + "west": {"uv": [0, 6, 6, 7], "rotation": 270, "texture": "#1_2"}, + "up": {"uv": [0, 6, 6, 7], "texture": "#1_2"}, + "down": {"uv": [0, 6, 6, 7], "rotation": 180, "texture": "#1_2"} + } + }, + { + "name": "GearCaseOuter", + "from": [4, 4, 0], + "to": [12, 12, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 10]}, + "faces": { + "north": {"uv": [0, 0, 4, 4], "rotation": 180, "texture": "#1_2"}, + "east": {"uv": [0, 4, 4, 6], "rotation": 90, "texture": "#1_2"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#1_2"}, + "west": {"uv": [0, 4, 4, 6], "rotation": 270, "texture": "#1_2"}, + "up": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "down": {"uv": [0, 4, 4, 6], "rotation": 180, "texture": "#1_2"} + } + }, + { + "name": "Pole2Core", + "from": [-4.75, 9, 10.25], + "to": [10.75, 13, 14.25], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 10]}, + "faces": { + "north": {"uv": [1, 0, 5, 16], "rotation": 90, "texture": "#mechanical_press_pole"}, + "east": {"uv": [11, 6, 15, 10], "rotation": 270, "texture": "#mechanical_press_pole"}, + "south": {"uv": [1, 0, 5, 16], "rotation": 90, "texture": "#mechanical_press_pole"}, + "west": {"uv": [11, 6, 15, 10], "rotation": 270, "texture": "#mechanical_press_pole"}, + "up": {"uv": [1, 0, 5, 16], "rotation": 90, "texture": "#mechanical_press_pole"}, + "down": {"uv": [1, 0, 5, 16], "rotation": 90, "texture": "#mechanical_press_pole"} + } + }, + { + "name": "Pole2Core", + "from": [-2.75, 3, 10.25], + "to": [12.75, 7, 14.25], + "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 10]}, + "faces": { + "north": {"uv": [1, 0, 5, 16], "rotation": 90, "texture": "#mechanical_press_pole"}, + "east": {"uv": [11, 6, 15, 10], "rotation": 270, "texture": "#mechanical_press_pole"}, + "south": {"uv": [1, 0, 5, 16], "rotation": 90, "texture": "#mechanical_press_pole"}, + "west": {"uv": [11, 6, 15, 10], "rotation": 270, "texture": "#mechanical_press_pole"}, + "up": {"uv": [1, 0, 5, 16], "rotation": 90, "texture": "#mechanical_press_pole"}, + "down": {"uv": [1, 0, 5, 16], "rotation": 90, "texture": "#mechanical_press_pole"} + } + } + ], + "display": { + "gui": { + "rotation": [30, 135, 0], + "translation": [-0.5, -0.75, 0], + "scale": [0.625, 0.625, 0.625] + } + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/brass_machine.json b/src/overrides/kubejs/assets/kubejs/models/block/brass_machine.json new file mode 100644 index 0000000..adfaa11 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/brass_machine.json @@ -0,0 +1,196 @@ +{ + "credit": "Made with Blockbench", + "parent": "kubejs:block/machine", + "textures": { + "0": "create:block/nixie_tube", + "1": "create:block/brass_casing", + "3": "create:block/brass_casing_belt", + "4": "create:block/axis", + "5": "create:block/mechanical_arm", + "6": "create:block/axis_top", + "particle": "create:block/brass_casing" + }, + "elements": [ + { + "from": [8, 4, 4], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [0, 0, 4, 6], "texture": "#3"}, + "east": {"uv": [2, 2, 8, 8], "rotation": 270, "texture": "#3"}, + "south": {"uv": [2, 0, 8, 4], "rotation": 270, "texture": "#3"}, + "west": {"uv": [2, 0, 8, 6], "texture": "#3"}, + "up": {"uv": [0, 1, 6, 5], "rotation": 90, "texture": "#5"}, + "down": {"uv": [0, 2, 8, 8], "texture": "#missing"} + } + }, + { + "from": [0, 4, 3], + "to": [10, 10, 13], + "faces": { + "north": {"uv": [10.5, 11, 15.5, 14], "texture": "#5"}, + "east": {"uv": [0, 2, 8, 8], "rotation": 270, "texture": "#missing"}, + "south": {"uv": [9.5, 11, 14.5, 14], "texture": "#5"}, + "west": {"uv": [0, 9.5, 5, 12.5], "texture": "#5"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#1"}, + "down": {"uv": [0, 2, 8, 8], "texture": "#missing"} + } + }, + { + "name": "Pole2Core", + "from": [10, 2, 2], + "to": [14, 18, 6], + "rotation": {"angle": 0, "axis": "z", "origin": [9, 8, 10]}, + "faces": { + "north": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#4"}, + "east": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#4"}, + "south": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#4"}, + "west": {"uv": [6, 0, 10, 16], "rotation": 180, "texture": "#4"}, + "up": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#6"}, + "down": {"uv": [6, 6, 10, 10], "rotation": 180, "texture": "#6"} + } + }, + { + "name": "GearCaseOuter", + "from": [8, 4.5, 0], + "to": [16, 9.5, 8], + "rotation": {"angle": -22.5, "axis": "y", "origin": [12, 7.5, 4]}, + "faces": { + "north": {"uv": [7.5, 0, 9.5, 4], "rotation": 90, "texture": "#5"}, + "east": {"uv": [7.5, 0, 9.5, 4], "rotation": 90, "texture": "#5"}, + "south": {"uv": [7.5, 0, 9.5, 4], "rotation": 90, "texture": "#5"}, + "west": {"uv": [7.5, 0, 9.5, 4], "rotation": 90, "texture": "#5"}, + "up": {"uv": [1, 1, 5, 5], "texture": "#5"}, + "down": {"uv": [1, 1, 5, 5], "texture": "#5"} + } + }, + { + "name": "Gear5", + "from": [10.5, 5, -5], + "to": [13.5, 9, 13], + "rotation": {"angle": -22.5, "axis": "y", "origin": [12, 5, 4]}, + "faces": { + "north": {"uv": [7.5, 4, 9, 6], "texture": "#5"}, + "east": {"uv": [0, 7.5, 9, 9.5], "texture": "#5"}, + "south": {"uv": [7.5, 4, 9, 6], "texture": "#5"}, + "west": {"uv": [0, 7.5, 9, 9.5], "texture": "#5"}, + "up": {"uv": [0, 6, 9, 7.5], "rotation": 270, "texture": "#5"}, + "down": {"uv": [0, 6, 9, 7.5], "rotation": 270, "texture": "#5"} + } + }, + { + "name": "Gear6", + "from": [10.5, 5, -5], + "to": [13.5, 9, 13], + "rotation": {"angle": 22.5, "axis": "y", "origin": [12, 5, 4]}, + "faces": { + "north": {"uv": [7.5, 4, 9, 6], "texture": "#5"}, + "east": {"uv": [0, 7.5, 9, 9.5], "texture": "#5"}, + "south": {"uv": [7.5, 4, 9, 6], "texture": "#5"}, + "west": {"uv": [0, 7.5, 9, 9.5], "texture": "#5"}, + "up": {"uv": [0, 6, 9, 7.5], "rotation": 270, "texture": "#5"}, + "down": {"uv": [0, 6, 9, 7.5], "rotation": 270, "texture": "#5"} + } + }, + { + "name": "Gear7", + "from": [3, 5, 2.5], + "to": [21, 9, 5.5], + "rotation": {"angle": 22.5, "axis": "y", "origin": [12, 5, 4]}, + "faces": { + "north": {"uv": [0, 7.5, 9, 9.5], "texture": "#5"}, + "east": {"uv": [7.5, 4, 9, 6], "texture": "#5"}, + "south": {"uv": [0, 7.5, 9, 9.5], "texture": "#5"}, + "west": {"uv": [7.5, 4, 9, 6], "texture": "#5"}, + "up": {"uv": [0, 6, 9, 7.5], "rotation": 180, "texture": "#5"}, + "down": {"uv": [0, 6, 9, 7.5], "rotation": 180, "texture": "#5"} + } + }, + { + "name": "Gear7", + "from": [3, 5, 2.5], + "to": [21, 9, 5.5], + "rotation": {"angle": -22.5, "axis": "y", "origin": [12, 5, 4]}, + "faces": { + "north": {"uv": [0, 7.5, 9, 9.5], "texture": "#5"}, + "east": {"uv": [7.5, 4, 9, 6], "texture": "#5"}, + "south": {"uv": [0, 7.5, 9, 9.5], "texture": "#5"}, + "west": {"uv": [7.5, 4, 9, 6], "texture": "#5"}, + "up": {"uv": [0, 6, 9, 7.5], "rotation": 180, "texture": "#5"}, + "down": {"uv": [0, 6, 9, 7.5], "rotation": 180, "texture": "#5"} + } + }, + { + "name": "GearCaseInner", + "from": [6, 5.5, -2], + "to": [18, 8.5, 10], + "rotation": {"angle": -22.5, "axis": "y", "origin": [12, 5.5, 4]}, + "faces": { + "north": {"uv": [5.5, 0, 7, 6], "rotation": 90, "texture": "#5"}, + "east": {"uv": [5.5, 0, 7, 6], "rotation": 90, "texture": "#5"}, + "south": {"uv": [5.5, 0, 7, 6], "rotation": 90, "texture": "#5"}, + "west": {"uv": [5.5, 0, 7, 6], "rotation": 90, "texture": "#5"}, + "up": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#5"}, + "down": {"uv": [0, 0, 6, 6], "rotation": 180, "texture": "#5"} + } + }, + { + "name": "base", + "from": [0, 0, 0], + "to": [16, 4, 16], + "faces": { + "north": {"uv": [8, 0, 16, 2], "texture": "#0"}, + "east": {"uv": [8, 0, 16, 2], "texture": "#0"}, + "south": {"uv": [8, 0, 16, 2], "texture": "#0"}, + "west": {"uv": [8, 0, 16, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 8], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "name": "connector1", + "from": [1, 10, 5], + "to": [7, 12, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 12, 13]}, + "faces": { + "north": {"uv": [8, 7, 11, 8], "texture": "#0"}, + "east": {"uv": [8, 7, 11, 8], "texture": "#0"}, + "south": {"uv": [8, 7, 11, 8], "texture": "#0"}, + "west": {"uv": [8, 7, 11, 8], "texture": "#0"}, + "up": {"uv": [11, 5, 14, 8], "texture": "#0"} + } + }, + { + "name": "connector2", + "from": [9, 16, 7], + "to": [15, 18, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [17, 12, 12]}, + "faces": { + "north": {"uv": [8, 7, 11, 8], "texture": "#0"}, + "east": {"uv": [8, 7, 11, 8], "texture": "#0"}, + "south": {"uv": [8, 7, 11, 8], "texture": "#0"}, + "west": {"uv": [8, 7, 11, 8], "texture": "#0"}, + "up": {"uv": [11, 5, 14, 8], "texture": "#0"} + } + }, + { + "name": "tube1", + "from": [1, 12, 5], + "to": [7, 21, 11], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 13]}, + "faces": { + "north": {"uv": [8, 2.5, 11, 7], "texture": "#0"}, + "east": {"uv": [8, 2.5, 11, 7], "texture": "#0"}, + "south": {"uv": [8, 2.5, 11, 7], "texture": "#0"}, + "west": {"uv": [8, 2.5, 11, 7], "texture": "#0"}, + "up": {"uv": [11, 2, 14, 5], "texture": "#0"} + } + } + ], + "display": { + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -0.25, 0], + "scale": [0.6, 0.6, 0.6] + } + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/catalyst.json b/src/overrides/kubejs/assets/kubejs/models/block/catalyst.json new file mode 100644 index 0000000..33aa735 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/catalyst.json @@ -0,0 +1,7 @@ +{ + "parent": "kubejs:block/substrate", + "textures": { + "particle": "thermal:block/glass/lumium_glass", + "0": "kubejs:block/catalyst_glass" + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/chaos_catalyst.json b/src/overrides/kubejs/assets/kubejs/models/block/chaos_catalyst.json new file mode 100644 index 0000000..00ac865 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/chaos_catalyst.json @@ -0,0 +1,7 @@ +{ + "parent": "kubejs:block/substrate", + "textures": { + "particle": "block/glass", + "0": "kubejs:block/chaos_glass" + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/copper_machine.json b/src/overrides/kubejs/assets/kubejs/models/block/copper_machine.json new file mode 100644 index 0000000..d0a3188 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/copper_machine.json @@ -0,0 +1,144 @@ +{ + "credit": "Made with Blockbench", + "parent": "kubejs:block/machine", + "textures": { + "0": "create:block/fluid_pipe", + "1": "create:block/item_drain_top", + "2": "create:block/copper_casing", + "3": "create:block/fluid_tank_connected", + "4": "create:block/copper_plating", + "5": "create:block/hose_pulley_rope", + "6": "create:block/item_drain_side", + "7": "create:block/fluid_tank_window", + "particle": "create:block/copper_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 4, 16], + "faces": { + "north": {"uv": [0, 3, 4, 4], "texture": "#3"}, + "east": {"uv": [0, 3, 4, 4], "texture": "#3"}, + "south": {"uv": [0, 3, 4, 4], "texture": "#3"}, + "west": {"uv": [0, 3, 4, 4], "texture": "#3"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#4"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [1, 6, 7], + "to": [9, 22, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [5.19, 8, 10.81]}, + "faces": { + "north": {"uv": [4, 6, 0, 14], "texture": "#0"}, + "east": {"uv": [0, 6, 4, 14], "texture": "#0"}, + "south": {"uv": [0, 6, 4, 14], "texture": "#0"}, + "west": {"uv": [0, 6, 4, 14], "texture": "#0"}, + "up": {"uv": [4, 12, 8, 16], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 4, 6], + "to": [6, 6, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [5.19, 8, 10.81]}, + "faces": { + "north": {"uv": [11, 6, 8, 5], "texture": "#0"}, + "east": {"uv": [6, 5, 16, 7], "rotation": 180, "texture": "#0"}, + "south": {"uv": [11, 6, 8, 5], "texture": "#0"}, + "west": {"uv": [11, 6, 6, 5], "texture": "#0"}, + "up": {"uv": [8, 0, 11, 5], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [0, 22, 6], + "to": [10, 24, 16], + "rotation": {"angle": 0, "axis": "z", "origin": [4, 23, 11]}, + "faces": { + "north": {"uv": [11, 6, 6, 5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6, 5, 11, 6], "texture": "#0"}, + "south": {"uv": [11, 6, 6, 5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6, 5, 11, 6], "texture": "#0"}, + "up": {"uv": [6, 0, 11, 5], "rotation": 180, "texture": "#0"}, + "down": {"uv": [6, 0, 11, 5], "texture": "#0"} + } + }, + { + "from": [6, 4, 6], + "to": [16, 20, 16], + "faces": { + "north": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "east": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "south": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "west": {"uv": [3, 0, 13, 16], "texture": "#4"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#4"}, + "down": {"uv": [0, 0, 5, 6], "texture": "#missing"} + } + }, + { + "from": [1.9, 2, -2], + "to": [9.9, 10, 10], + "faces": { + "north": {"uv": [8, 3, 16, 11], "texture": "#6"}, + "south": {"uv": [8, 8, 10.5, 12], "texture": "#3"}, + "west": {"uv": [0, 3, 12, 11], "texture": "#6"}, + "up": {"uv": [0, 0, 8, 12], "texture": "#1"}, + "down": {"uv": [0, 0, 8, 12], "texture": "#4"} + } + }, + { + "from": [9.9, 2, -2], + "to": [14.9, 10, 10], + "faces": { + "north": {"uv": [0, 3, 5, 11], "texture": "#6"}, + "east": {"uv": [4, 3, 16, 11], "texture": "#6"}, + "south": {"uv": [8, 8, 10.5, 12], "texture": "#3"}, + "up": {"uv": [11, 0, 16, 12], "texture": "#1"}, + "down": {"uv": [11, 0, 16, 12], "texture": "#4"} + } + }, + { + "from": [11, 4, 7], + "to": [19, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [15, 10, 16]}, + "faces": { + "north": {"uv": [0, 0, 8, 12], "texture": "#5"}, + "east": {"uv": [0, 0, 8, 12], "texture": "#5"}, + "south": {"uv": [0, 0, 8, 12], "texture": "#5"}, + "west": {"uv": [0, 0, 4, 6], "texture": "#missing"}, + "up": {"uv": [0, 0, 8, 8], "rotation": 90, "texture": "#5"}, + "down": {"uv": [0, 0, 8, 8], "rotation": 90, "texture": "#5"} + } + }, + { + "from": [7, 3, 5], + "to": [15, 19, 6], + "faces": { + "north": {"uv": [0, 0, 8, 16], "texture": "#7"}, + "east": {"uv": [0, 0, 1, 16], "texture": "#7"}, + "west": {"uv": [7, 0, 8, 16], "texture": "#7"}, + "up": {"uv": [0, 0, 8, 1], "texture": "#7"} + } + }, + { + "from": [8.5, 3.25, 5.75], + "to": [13.5, 17.25, 6.75], + "faces": { + "north": {"uv": [5, 2, 10, 16], "texture": "#2"} + } + }, + { + "from": [3.4, 7, -1], + "to": [14.4, 8, 8], + "faces": { + "up": {"uv": [3, 0, 14, 7], "texture": "#5"} + } + } + ], + "display": { + "gui": { + "rotation": [30, 135, 0], + "translation": [0, -1.25, 0], + "scale": [0.53, 0.53, 0.53] + } + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/enderium_casing.json b/src/overrides/kubejs/assets/kubejs/models/block/enderium_casing.json new file mode 100644 index 0000000..341536d --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/enderium_casing.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/cube_bottom_top", + "textures": { + "top": "kubejs:block/enderium_casing_top", + "bottom": "kubejs:block/enderium_casing_top", + "side": "kubejs:block/enderium_casing" + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/enderium_machine.json b/src/overrides/kubejs/assets/kubejs/models/block/enderium_machine.json new file mode 100644 index 0000000..bc25f69 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/enderium_machine.json @@ -0,0 +1,13 @@ +{ + "parent": "thermal:block/frame_base", + "textures": { + "particle": "kubejs:block/enderium_machine_top", + "down": "kubejs:block/enderium_machine_bottom", + "up": "kubejs:block/enderium_machine_top", + "north": "kubejs:block/enderium_machine_side", + "east": "kubejs:block/enderium_machine_side", + "south": "kubejs:block/enderium_machine_side", + "west": "kubejs:block/enderium_machine_side", + "inner": "kubejs:block/enderium_machine_inner" + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/machine.json b/src/overrides/kubejs/assets/kubejs/models/block/machine.json new file mode 100644 index 0000000..92df467 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/machine.json @@ -0,0 +1,10 @@ +{ + "parent": "block/block", + "display": { + "gui": { + "rotation": [30, 135, 0], + "translation": [-0.5, -0.75, 0], + "scale": [0.625, 0.625, 0.625] + } + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/mundane_substrate.json b/src/overrides/kubejs/assets/kubejs/models/block/mundane_substrate.json new file mode 100644 index 0000000..452f2d0 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/mundane_substrate.json @@ -0,0 +1,7 @@ +{ + "parent": "kubejs:block/substrate", + "textures": { + "particle": "block/glass", + "0": "kubejs:block/mundane_glass" + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/ponder_laser_lamp.json b/src/overrides/kubejs/assets/kubejs/models/block/ponder_laser_lamp.json new file mode 100644 index 0000000..78cf310 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/ponder_laser_lamp.json @@ -0,0 +1,91 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "kubejs:block/cage_lamp", + "particle": "kubejs:block/cage_lamp" + }, + "elements": [ + { + "from": [3.5, 3.5, 14], + "to": [12.5, 12.5, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4.5, 4.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 4.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 6], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 5, 4.5, 6], "texture": "#0"}, + "down": {"uv": [0, 5, 4.5, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 4, 4], + "to": [12, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 10, 5.5, 14.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6, 10, 11, 14.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6, 10, 11, 14.5], "texture": "#0"}, + "up": {"uv": [6, 10, 11, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 10, 11, 14.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 4, 4], + "to": [4, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 10, 5.5, 14.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6, 10, 11, 14.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6, 10, 11, 14.5], "texture": "#0"}, + "up": {"uv": [6, 10, 11, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 10, 11, 14.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [11.5, 0, 14.5, 3], "rotation": 180, "texture": "#0"}, + "east": {"uv": [11.5, 3.5, 14.5, 8], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 3, 3], "texture": "#missing"}, + "west": {"uv": [11.5, 3.5, 14.5, 8], "rotation": 270, "texture": "#0"}, + "up": {"uv": [11.5, 3.5, 14.5, 8], "texture": "#0"}, + "down": {"uv": [11.5, 3.5, 14.5, 8], "rotation": 180, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [-60, -180, 40], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/ponder_laser_lamp_on.json b/src/overrides/kubejs/assets/kubejs/models/block/ponder_laser_lamp_on.json new file mode 100644 index 0000000..4c59cae --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/ponder_laser_lamp_on.json @@ -0,0 +1,102 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "kubejs:block/cage_lamp", + "particle": "kubejs:block/cage_lamp" + }, + "elements": [ + { + "from": [3.5, 3.5, 14], + "to": [12.5, 12.5, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4.5, 4.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [0, 5, 4.5, 6], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 4.5, 4.5], "texture": "#0"}, + "west": {"uv": [0, 5, 4.5, 6], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 5, 4.5, 6], "texture": "#0"}, + "down": {"uv": [0, 5, 4.5, 6], "rotation": 180, "texture": "#0"} + } + }, + { + "from": [4, 4, 4], + "to": [12, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 10, 5.5, 14.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6, 10, 11, 14.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6, 10, 11, 14.5], "texture": "#0"}, + "up": {"uv": [6, 10, 11, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 10, 11, 14.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [12, 4, 4], + "to": [4, 12, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [1, 10, 5.5, 14.5], "rotation": 180, "texture": "#0"}, + "east": {"uv": [6, 10, 11, 14.5], "rotation": 180, "texture": "#0"}, + "west": {"uv": [6, 10, 11, 14.5], "texture": "#0"}, + "up": {"uv": [6, 10, 11, 14.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [6, 10, 11, 14.5], "rotation": 270, "texture": "#0"} + } + }, + { + "from": [5, 5, 5], + "to": [11, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [8, 0, 11, 3], "rotation": 90, "texture": "#0"}, + "east": {"uv": [8, 3.5, 11, 8], "rotation": 90, "texture": "#0"}, + "west": {"uv": [8, 3.5, 11, 8], "rotation": 90, "texture": "#0"}, + "up": {"uv": [8, 3.5, 11, 8], "rotation": 90, "texture": "#0"}, + "down": {"uv": [8, 3.5, 11, 8], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [4.5, 4.5, 4.5], + "to": [11.5, 11.5, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [12.5, 8.5, 13.5, 9.5], "rotation": 90, "texture": "#0"}, + "east": {"uv": [12.5, 8.5, 13.5, 9.5], "rotation": 90, "texture": "#0"}, + "west": {"uv": [12.5, 8.5, 13.5, 9.5], "rotation": 90, "texture": "#0"}, + "up": {"uv": [12.5, 8.5, 13.5, 9.5], "rotation": 90, "texture": "#0"}, + "down": {"uv": [12.5, 8.5, 13.5, 9.5], "rotation": 90, "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [-60, -180, -45], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/substrate.json b/src/overrides/kubejs/assets/kubejs/models/block/substrate.json new file mode 100644 index 0000000..ffbd0ad --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/substrate.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [32, 32], + "textures": { + "0": "kubejs:block/reagent_glass", + "particle": "block/glass" + }, + "elements": [ + { + "from": [4, 0, 4], + "to": [12, 12, 12], + "faces": { + "north": {"uv": [0, 1, 4, 7], "texture": "#0"}, + "east": {"uv": [0, 1, 4, 7], "texture": "#0"}, + "south": {"uv": [0, 1, 4, 7], "texture": "#0"}, + "west": {"uv": [0, 1, 4, 7], "texture": "#0"}, + "up": {"uv": [4.5, 3, 8.5, 7], "texture": "#0"}, + "down": {"uv": [4.5, 3, 8.5, 7], "texture": "#0"} + } + }, + { + "from": [11, 0, 5], + "to": [5, 12, 11], + "faces": { + "north": {"uv": [0.5, 1, 3.5, 7], "texture": "#0"}, + "east": {"uv": [0.5, 1, 3.5, 7], "texture": "#0"}, + "south": {"uv": [0.5, 1, 3.5, 7], "texture": "#0"}, + "west": {"uv": [0.5, 1, 3.5, 7], "texture": "#0"} + } + }, + { + "from": [5, 11, 5], + "to": [11, 14, 11], + "faces": { + "north": {"uv": [9, 0.5, 12, 2], "texture": "#0"}, + "east": {"uv": [9, 0.5, 12, 2], "texture": "#0"}, + "south": {"uv": [9, 0.5, 12, 2], "texture": "#0"}, + "west": {"uv": [9, 0.5, 12, 2], "texture": "#0"}, + "up": {"uv": [9, 2.5, 12, 5.5], "texture": "#0"}, + "down": {"uv": [9, 2.5, 12, 5.5], "texture": "#0"} + } + }, + { + "from": [5, 1, 5], + "to": [11, 9, 11], + "faces": { + "north": {"uv": [4, 11, 8, 14], "rotation": 90, "texture": "#0", "tintindex": 1}, + "east": {"uv": [4, 11, 8, 14], "rotation": 90, "texture": "#0", "tintindex": 1}, + "south": {"uv": [4, 11, 8, 14], "rotation": 90, "texture": "#0", "tintindex": 1}, + "west": {"uv": [4, 11, 8, 14], "rotation": 90, "texture": "#0", "tintindex": 1}, + "up": {"uv": [0.5, 11, 3.5, 14], "rotation": 90, "texture": "#0", "tintindex": 1}, + "down": {"uv": [8.5, 11, 11.5, 14], "rotation": 90, "texture": "#0", "tintindex": 1} + } + }, + { + "from": [5, 1, 5], + "to": [11, 9, 11], + "faces": { + "north": {"uv": [4, 7.5, 8, 10.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "east": {"uv": [4, 7.5, 8, 10.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "south": {"uv": [4, 7.5, 8, 10.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "west": {"uv": [4, 7.5, 8, 10.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "up": {"uv": [0.5, 7.5, 3.5, 10.5], "rotation": 90, "texture": "#0", "tintindex": 0}, + "down": {"uv": [8.5, 7.5, 11.5, 10.5], "rotation": 90, "texture": "#0", "tintindex": 0} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 61, -5], + "translation": [0, 2.25, 0], + "scale": [0.61, 0.61, 0.61] + }, + "firstperson_lefthand": { + "rotation": [0, 61, -5], + "translation": [0, 2.25, 0], + "scale": [0.61, 0.61, 0.61] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, 1, 0], + "scale": [0.9, 0.9, 0.9] + }, + "head": { + "translation": [0, 14.5, 0] + }, + "fixed": { + "rotation": [0, 45, 0], + "translation": [0, 4, 0] + } + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/block/zinc_machine.json b/src/overrides/kubejs/assets/kubejs/models/block/zinc_machine.json new file mode 100644 index 0000000..6eb4161 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/block/zinc_machine.json @@ -0,0 +1,13 @@ +{ + "parent": "thermal:block/frame_base", + "textures": { + "particle": "kubejs:block/zinc_machine_top", + "down": "kubejs:block/zinc_machine_bottom", + "up": "kubejs:block/zinc_machine_top", + "north": "kubejs:block/zinc_machine_side", + "east": "kubejs:block/zinc_machine_side", + "south": "kubejs:block/zinc_machine_side", + "west": "kubejs:block/zinc_machine_side", + "inner": "kubejs:block/zinc_machine_inner" + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/item/computation_matrix.json b/src/overrides/kubejs/assets/kubejs/models/item/computation_matrix.json new file mode 100644 index 0000000..14a8e36 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/item/computation_matrix.json @@ -0,0 +1,365 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "kubejs:block/computation_matrix", + "1": "kubejs:block/computation_matrix_2", + "particle": "kubejs:block/computation_matrix" + }, + "elements": [ + { + "from": [1, 1, 1], + "to": [5, 5, 5], + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#0"} + } + }, + { + "from": [6, 1, 1], + "to": [10, 5, 5], + "faces": { + "north": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "east": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#0"} + } + }, + { + "from": [11, 1, 1], + "to": [15, 5, 5], + "faces": { + "north": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "east": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "south": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "west": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "up": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "down": {"uv": [8, 0, 12, 4], "texture": "#0"} + } + }, + { + "from": [6, 1, 6], + "to": [10, 5, 10], + "faces": { + "north": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "east": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "south": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "west": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "up": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "down": {"uv": [8, 0, 12, 4], "texture": "#0"} + } + }, + { + "from": [1, 6, 6], + "to": [5, 10, 10], + "faces": { + "north": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "east": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "south": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "west": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "up": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "down": {"uv": [8, 0, 12, 4], "texture": "#0"} + } + }, + { + "from": [1, 11, 1], + "to": [5, 15, 5], + "faces": { + "north": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "east": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "south": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "west": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "up": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "down": {"uv": [8, 0, 12, 4], "texture": "#0"} + } + }, + { + "from": [6, 6, 1], + "to": [10, 10, 5], + "faces": { + "north": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "east": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "south": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "west": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "up": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "down": {"uv": [8, 0, 12, 4], "texture": "#0"} + } + }, + { + "from": [1, 1, 11], + "to": [5, 5, 15], + "faces": { + "north": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "east": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "south": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "west": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "up": {"uv": [8, 0, 12, 4], "texture": "#0"}, + "down": {"uv": [8, 0, 12, 4], "texture": "#0"} + } + }, + { + "from": [6, 1, 11], + "to": [10, 5, 15], + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "down": {"uv": [12, 0, 16, 4], "texture": "#0"} + } + }, + { + "from": [11, 1, 11], + "to": [15, 5, 15], + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#1"} + } + }, + { + "from": [11, 6, 11], + "to": [15, 10, 15], + "faces": { + "north": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "east": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "south": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#1"} + } + }, + { + "from": [11, 11, 6], + "to": [15, 15, 10], + "faces": { + "north": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "east": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "south": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#1"} + } + }, + { + "from": [6, 11, 11], + "to": [10, 15, 15], + "faces": { + "north": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "east": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "south": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#1"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#1"} + } + }, + { + "from": [11, 11, 11], + "to": [15, 15, 15], + "faces": { + "north": {"uv": [8, 0, 12, 4], "texture": "#1"}, + "east": {"uv": [8, 0, 12, 4], "texture": "#1"}, + "south": {"uv": [8, 0, 12, 4], "texture": "#1"}, + "west": {"uv": [8, 0, 12, 4], "texture": "#1"}, + "up": {"uv": [8, 0, 12, 4], "texture": "#1"}, + "down": {"uv": [8, 0, 12, 4], "texture": "#1"} + } + }, + { + "from": [11, 6, 6], + "to": [15, 10, 10], + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#1"} + } + }, + { + "from": [6, 6, 11], + "to": [10, 10, 15], + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#1"} + } + }, + { + "from": [6, 11, 6], + "to": [10, 15, 10], + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#1"} + } + }, + { + "from": [11, 11, 1], + "to": [15, 15, 5], + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#1"} + } + }, + { + "from": [1, 11, 11], + "to": [5, 15, 15], + "faces": { + "north": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "east": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "south": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "west": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#1"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#1"} + } + }, + { + "from": [1, 6, 11], + "to": [5, 10, 15], + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "down": {"uv": [12, 0, 16, 4], "texture": "#0"} + } + }, + { + "from": [11, 6, 1], + "to": [15, 10, 5], + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "down": {"uv": [12, 0, 16, 4], "texture": "#0"} + } + }, + { + "from": [11, 1, 6], + "to": [15, 5, 10], + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "down": {"uv": [12, 0, 16, 4], "texture": "#0"} + } + }, + { + "from": [6, 6, 6], + "to": [10, 10, 10], + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "down": {"uv": [12, 0, 16, 4], "texture": "#0"} + } + }, + { + "from": [6, 11, 1], + "to": [10, 15, 5], + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "down": {"uv": [12, 0, 16, 4], "texture": "#0"} + } + }, + { + "from": [1, 11, 6], + "to": [5, 15, 10], + "faces": { + "north": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [12, 0, 16, 4], "texture": "#0"}, + "down": {"uv": [12, 0, 16, 4], "texture": "#0"} + } + }, + { + "from": [1, 1, 6], + "to": [5, 5, 10], + "faces": { + "north": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "east": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#0"} + } + }, + { + "from": [1, 6, 1], + "to": [5, 10, 5], + "faces": { + "north": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "east": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "south": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "west": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "up": {"uv": [4, 0, 8, 4], "texture": "#0"}, + "down": {"uv": [4, 0, 8, 4], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/item/profession_card.json b/src/overrides/kubejs/assets/kubejs/models/item/profession_card.json new file mode 100644 index 0000000..04d4dab --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/item/profession_card.json @@ -0,0 +1,8 @@ + { + "parent": "item/generated", + "textures": { + "layer0": "kubejs:item/profession_card_0", + "layer1": "kubejs:item/profession_card_1", + "layer2": "kubejs:item/profession_card_2" + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/models/item/trade_card.json b/src/overrides/kubejs/assets/kubejs/models/item/trade_card.json new file mode 100644 index 0000000..244f400 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/models/item/trade_card.json @@ -0,0 +1,8 @@ + { + "parent": "item/generated", + "textures": { + "layer0": "kubejs:item/trade_card_0", + "layer1": "kubejs:item/trade_card_1", + "layer2": "kubejs:item/trade_card_2" + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/ponder/laser_alchemy.nbt b/src/overrides/kubejs/assets/kubejs/ponder/laser_alchemy.nbt new file mode 100644 index 0000000000000000000000000000000000000000..b0d48258fd8436db491bbb6e30cc8c0dd44fa45c GIT binary patch literal 753 zcmV4!KJMI!0f#oE{d zY_Yx8?h=}uc(kfd(nskSvtSvptX4&W#rA)GGxOiUCIIlkQT!2Y04Uzw&FcE#VWzp} zsGxZH(7j7UG*hj)8wkjtv&at_R@RrAL^qN&!?JyK5-$8Mo=DR+$E%z zsMOVJe-GUQ^WxR|c(eNVK7vgjum4jYW`?SL_^tbJK8hH@z8$}_;mLcRXq1~Nuf8OIox z&0egE=KjKP^PNIvVi~RURjDRPv>-v$rtglllLTtVG)8mNra$X@8zYxbb=)cJ?PS9o=w3iz+2|Yj+x*+%}zV$y0yP$ z_LsDaG7-~hr96lI;0mnAoza_-Ntm1#`#4?B5cisH$1>x0jI!;c@Y{paB0gk^$fn_h jOKPno@A1qy)1da>GR;1rR9s{lak*F1T^_}NucIclDZV_>vRsvx-)y$xU_)q_UT#R`*@AxalbSlDXcRq z14vNcEH3W$+r(G>sbOGkA{kysJd7+Y{~|GoO-?nCF9(MZCiSiNyq*YzNI#=I4ZfyM ziWPTB{j{9z1m0GK!GWCv)nFejd9P!{RmT%+!+ALG%Pm_Xj5gk?*Lt_S`Aj17K5tbe z>Nd1(I$9)P69UtGE&3fAxBYpd=_9uWsj;B%z?AO?GWcc~=N}OBKmH^1hrqYoct8W2 zd$qpc95nI)u#%Z+2D^7a42AhH)0gM%F})xhTqy)W6sG}6P#9g{@02lDJ=;0)-a9xF zYS1fR*p?C$R<48!X8e0w5L0NR|J^`J|rN{6h&2t!f0XP3wdw=*YY3Ht`l zCQiY!Bu`o2co~x6a?7}v_rvbS*4MeoV>WI3CF@la`Z?Z1)cvP|_FcDXX)bNftow1t zb{ziUoy={W$kg4ggIjq+Un3x5i;{sMWoU|6_lg?-{c+-~e8~a_G_iZC$ew&1dXwEF zwVfUcG>@ntzM^3_tt9(eL?lJ=e3Av;EPbDlO4LpFmS%PBpP%CVOqIH#VT^yY>IA?&W0@3?f19}(S!au(uVC#{4 zzp=?st_}D8*|EEanot`jIa7%Y_3*$x7~GGbVYF6vf4YTModups9 zo*YST9X{n~`j(G0uN<{)x>ENV>UF6}^Ne`LAkK-$yuwpecC>d>50|Z=ftVy^Kq2An z;-(J#j*6sS5zA1?HN)Rm$0Qi7;A;K6*zUO->o2la)Y%-{9`yd>5 z-lwykH|rCaqhaY9%P(zo8RV9Z;mMvSa$*>7)18E;Xt`qNZQG;bDcNO7>J|BkV&ZgA z$_#24{?s_;?g}%^5|F@1#*ChE)g$h>45u~b2Kw3WWOD|{S3Itr__@{HM>>{s@lw8X zD`V}0`vKNRXTs-E7`Va(mW9$TRK{G!Ed$!hMV{tw@12b17h&jWd`Jt)(2=jS>?;#Z zmf)-ts$TpKM)oPSRDo67h7-lOPNyjpLFkKgrRl;bgdq!^=WsQu#&oko9zt1&IZK@= z!XlJt4R*axa+VU1p4+i#87IcL@twlK^EpFVsI+RrxTin#E=G`flls{CVEH?%EeVR{ z5}k!oy9~z0K&9C+9vg@~xX-f+!5?Av^X7ulcRtaSU6ZL3CAW&!LN$bf@oJZWi?oK2 R?1aR9;JhQQe?nD6eZDiR~|ijbp85up#9hTlT?6|W=W7= z@P8r!L(mt6cAzHC0*}aI1_r(ZAk3I`t&n{Qh?2bIljKj^z$Bmfz0n`uz0P+hr23@4a32VcpN0z8^K7#p~az_>te<+yV?E N22WQ%mvv4FO#spAAD;jK literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/cage_lamp.png b/src/overrides/kubejs/assets/kubejs/textures/block/cage_lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..da5953d45db6939d58a769a1f8c87f911beb07bb GIT binary patch literal 6278 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 Kb6Mw<&;$Tc2X;&V literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/chaos_glass.png b/src/overrides/kubejs/assets/kubejs/textures/block/chaos_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..bd63e3c86652ec116d81c23379c557695de99464 GIT binary patch literal 716 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCilK1o(uwuI~>$G&gC-lz0yh7fTDBcrR@qTeXrXGihn*X(f*HTYT;9jq8%k zckSBs;>C+ObLQ04)J&Z^_20jLNl8gdmoBZUs@l7E@9Nd74<0;t>eQ)?8#i`zbbSB* z{piu7ckkX^yLN3_TH3>h5C8o6)78~AefspTOXy?ghE4*YXmI14-?iy0XB_Jc5^1#7ShFyJCRT^vI!{FhFA9dyV* zpmi~84tLPHypS#Xx#V;(!{FKyvwEbYQyj!Dc&V>16UO;O^*jAf@gUa{VIVCgJP~;l)vc=1~uJEk#pX&@Yj6bjMJj1!{(?wv&GkCiC KxvXEK|00001b5ch_0Itp) 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 z

2?Q*YgUH^h5q!UEp*EFu+bD~}4oF7h)7V-w`CqR4#syYzYK=Tq8eN!T)M3_=|+Q z01Jr5=a+=dml#BBO?~!-Yh^f8DqCISiL}+E=)7L9YUx0``@J7_IEM4Y)u9Aje0fW1IsDx-Dz*GZ&drk`~4yXDHn%Ye_|Qod_5cbf$i|1t8lUFSoPFOm6j z#dvm>m8cYw6m0%%J#LeWpEVnTFD^#$26-K%fy5aP%#W4mFqiByM5X&Fdw}37tOOk8WLF{ z+OwX~e!0F+i?LLQ&EfrFzkk*BX8kT+X!@$xrdYzX56E>*H{JZM_P{DHqeF z(w@=YrpyD%Tp&I;c8^c-!GvecH8_=SIr$({%wo{Ae7&M&^En1ZxmYSSj+)E|`+E)M z0UYts6wZkdAN(otL9|;M$LFm3)FQ=$iO&(>IDBU;@c%f;LU1-itDNPND8w#icr!ev zFTR6BH~@;iCw1X0C@E5W#9fWkG7d>Nm#TK43-)t$ z0#$)l@Y6uc(*-DQN`CXji4|eoi-HSaSbP*WA*`bX)mm;rEGR@;f@|$21sJQ?huxDO zhTvPbIJpoh1VSrUGlW`|9Pxq`Oa>p#0}!+VlL}z%5WI;GvLW{E8-$Te!PZ{*ja#LV z8h{UE)d{A+0@WB^}528r~L~_N9_y9zbu}$rTdN#n9MEGzJ zE-qYvmY@Rl`)|D5z{H7g1)n5-qMoO5F!XMF6riSuG^Jm@x>-CuY4_mj-=#t@Mglhe z1S3byOQm(Kx>Yvvg`8a~mbsbW19)Di)9r%?Kq~mkB3n3nrlS7j_N%bA`ZhZU!^MMCa)cmP8SIE4IedvhBfZd$Z9}4#|NR%-oXs~QkY=9&N zOca@HG9wiCEEOPpAOPB@*Z_Ti8AWj(A5O^!bXs4L@K$z;|u90JCuzSNQOx3gn4A zAQgxM^15I@PkxQhQfJ_U;@MLF7s-4UD8_w{a6P1X4o01NzG@x}cx;knWzNqQY^MWdfWQM?ruwE#v(d6n5Jay%nOU~M* zVo-ak96WuiK2KB0$RK=xG+KcVDDe&84gsy%Y@HU?vZ4CIYcDn>4u(99X2srtE@2FS zR6*wtj>oiEJu6)O^G`o}gs@fSy7i5sfqllp2j3z-kk8iO>i>4X(B?_Flr#Fx?p(bV z!x@54Rr!^uVRDRs8gG-sl-3IPG>u2~UF~@s_$daaLvCz_O0REJvg46E?X?D^p(qU*I1u3=K#mGa|WoxB%ffKmOwa z<3R-<2=0YICcP1NMUS?$MQ|3NI8LR&iCDk~$q#1%UmSTBkDn>VV-Vs0=7a&($}7@R_3?&Bg*AcwbV0e~2LPu6v25fU{)*-@W}*B`6Ue;3ERz102s2$&Byb z0`LLm`1gL+G{6Dig7MH>@Bsu!MeTqv6fuOXZtxYVjwSmuOV$vC^>{=mIUn4%ijlwuNV&$Yo8q~rvP5D))>g+u}X#b?S&Epd- cNHpz#0rd;M&m@YnSpWb407*qoM6N<$f{G+4lmGw# literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix.png.mcmeta b/src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix.png.mcmeta new file mode 100644 index 0000000..462c087 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix_2.png b/src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fcbbdb93d5b069e5dea018596e4e0576f9722c86 GIT binary patch literal 7502 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 Yf7}?p&ot&|i~s-t07*qoM6N<$g2VnV+5i9m literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix_2.png.mcmeta b/src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix_2.png.mcmeta new file mode 100644 index 0000000..462c087 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/textures/block/computation_matrix_2.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing.png b/src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing.png new file mode 100644 index 0000000000000000000000000000000000000000..e22efdcd8db5dd3a785c92ab404be7bd1ed3635e GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFwO ztef9e^|^E73!p~M0*}aI1_r*vAk26?e?3lYispEGXl0p!w$`cHUZ!lvI6l}J>l8SkXmI=#ufrPY zN85@PCr(h5a%OgXe?we5-=z6Ok*@Pj#+$rs+YjC}iC|vEn0{5EXyysMrBW9}YLhmE z8fUmgXTDA5+>!qM;8pfDSzjC7^`mxd{r{Egtkk}r*XOXdvFgjrYiC^leEY?Fe|KI# z@R0eb#mTQhc~7qimj)lx>wZ(G;{8r=my!o}NyqFd8)6r{n^*F;`KLipGvEAnezBZj zZae;Moxf(@)r+p*{FQzE=|iXc?!Qm_`+39r&fOome^yLqzqA8bT=iP8H{q89OiW&w_S3j3^P675dzW9MKOEak7aap&|k?T+ZkIQ4;TkA{zZ@snk0qY-@$6+6t#QYVQ&+e-6 z=*!hP_v!2hiKwmKQeMxU|I78yw9-u4W*vBG)w>g00@E18Z*?{1mn~;8U*XDXxOIh) zL{O??jEaZ(50<}s4n2N2vwoiEne1g>8-!+m=(+yy=Z)w8d$;{$YB;Pq^YKjoW}r(L NJYD@<);T3K0RU@RW6S^m literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing_top.png.mcmeta b/src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing_top.png.mcmeta new file mode 100644 index 0000000..8534312 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing_top.png.mcmeta @@ -0,0 +1,7 @@ +{ + "ctm": { + "ctm_version": 1, + "type": "ctm", + "textures": [ "kubejs:block/enderium_casing_top_ctm" ] + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing_top_ctm.png b/src/overrides/kubejs/assets/kubejs/textures/block/enderium_casing_top_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..6f6251818ca0352f97b9ffd83165936b11417111 GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;{0X`wFI(7~Q&h93j-jd21>gJYqK|Ya%$*+s0T7e2U3p^r=85sBugD~Uq z{1quc!3~}+jv*T7&t7okYcddMeJGh5!{5uEAjOxERLUC`Ir{{o&y#=Y8`dvl}bM~FL*L~0TKNS%G}H0G|+7IUPMoWes(6OYf8z9XkiRAfL#>WCLe+6HjlTl9Ruft^+Bqk|4j} z|1iL?>5R^KpeSd7M`SSr1K&XqX529``z=r~-_yl0L?bxYKU%28fX7Rtvf@8?_r;a3 z&s@^a@HlYBUf{SAlaJbjg3k$pYpyX*V+q;*gY~b6K;^fHi9(Z}9zU=NS%G|>0G|+7CO#2XQ5gYcU7*04J^bAubtOT5!TJ3`31=5EbxddW?B8dFnGH9xvXNS%G}l0G|+7Mp<)qWe+Zca7G~&@AGHNK0MV~v7RTcMz*epiBCjMM=zov$-vn? zud`B8S;H$i+BVQz$Ie07z(`5oP~F_p#M2vSQs)NqG9V>h666>BA1h#Z=I|^IsD!h? zBeIx*f$ty)Gwzs}{T3+L;pyTSq7fY06DV|8frGWNqsiBF>$30mS@NELU-U7b`PI-7 z(bDL0+icO2S)0T*3*{VDb_$S#Ks>$s1p9q|;Z*K{}9sj7}E1Tgx?=O-`eK+gQ6guz}%(IqjyLrO>Xu#qHy!(&7UF7uV b;Xl^=(_H8OH(Tid-NfMO>gTe~DWM4f%1(%8 literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/enderium_machine_top.png b/src/overrides/kubejs/assets/kubejs/textures/block/enderium_machine_top.png new file mode 100644 index 0000000000000000000000000000000000000000..7078f77e869c3fbb40e35a792880eb4861330421 GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|&0G|+7Mp<)qWe+Zca7G~&@AGHNK0MV~v7RTcMz*epS=WojG7P9NN^Dyp zkm4x`@(cct01QI+&z%E`a~60+7BevL9Ry*<9TT(P0tK5qT^vI+f?fMLg`5>RoFiG9 z_WrMxev#j8{K&@1K`_ub^@d9MMBzdst`(f(y_##=76onGaM6XyLtFX64=abnMaTR0 znXzq9efg>3(adQzBC*N4e(=9=ydYojGv@Lx{sVo!M^j7gb1NB|l;7IAFNS%G|~0G|+7Q876#4mJS+0d7uq0bVYC9?sz4U=I%uQBhG-Q&TG|D@R91R%WJ% zhzKt)FB=;h897;14RteXOILeuYisMUurTviV*WtWI14-?iy0XB4uUY_j)~cCfr1k~ zT^vI+f@Awniyc2 z@Qd?2!zV9TA{S&O@6c2c7TLg)l&8TWeE90s6LWYkBs81OznLK1!0qiUpJ3Q0%da53 zF?UJULdOGLEk;ra(dm!#=Is3&m}0rmaNGZDPv7i3bM4ujKX*J2R4#gG9poi$=)+~m TXRNy$=r{&XS3j3^P6Px#1ZP1_K>z@;j|==^1poj5LQqUpMI0U-B`7CFKT8!B9zj7tHaj^50|GlcI|~U1 zH8nL43<(Md1`rSs5Df}CIyzHRQ%Fci6%`d&SXfF*N<2I~R#sN@I!ze>000SaNLh0L z01m(a01m(bYSxJf0003nNkla*_&g=rIkg%Nz<=)N)XD66pX9lhxI0l5d(I3Hj2EX}zrGp3{zZODn5H@Bd7it< z@3MARbonba!)a`9?XKv1E4TL`t6J}@QC9?XcH>X_~s~XIt?#OBi(d*kzScKd!1O fcroUPlv4fyE^`ZZ^I1@S00000NkvXXu0mjfM0CDc literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/invar_casing.png b/src/overrides/kubejs/assets/kubejs/textures/block/invar_casing.png new file mode 100644 index 0000000000000000000000000000000000000000..e86c17edad94d2dde98889ba5a17b1ea93c75bf3 GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF1mXv2xvXG z+nw#UlHEC2^ZBf3=?0#KAuA)Z#gHOHr;L{DAY9F2n3OpfPp6_rkyqvIvqL*IIxu9^eqaR2oj13A8 zPx#1ZP1_K>z@;j|==^1poj5El^BUMWeB(g_n|ch=nF8D^+1(dxnN)b8|5`IAU#W z;pgSW%)==zF?4=@Txn?@AR~EVSBwAv010qNS#tmY4#5Bb4#5Gqk!$S$00CY}L_t(2 z&qYu%Yr;Sn{jMEK=yFMhk_g4%;NT>6D>zA)w&UI8Xm4&*NI;xA7?47HrMiql?dV$hfPX!DILyU2|P{tb-SoC6;SHZRkUt5{rUTmgf}2Mub-0!dRYuBmA@{ z$2_GT0k;Vb_6T@`day5q$EGUuSqpnqmbpd?^oSyesK$83=hI(t|ZJmG^?t~%z-1XZKhDvF}5yrYN3Zk-nB+klr zkG0Dg*uj+n9)5~i?@?>DN2PVsO6#VTg2S4Qjj&nMr%#wXL=$2Z(S-dID5ds>qb}n& zPkXE`grV$uS!*ZY_4jjNNUOVY0H@=zPmD!3;P-Oz5C5m6#r85IrvLx|07*qoM6N<$ Ef^pa3cmMzZ literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/invar_casing_top.png b/src/overrides/kubejs/assets/kubejs/textures/block/invar_casing_top.png new file mode 100644 index 0000000000000000000000000000000000000000..a0edd7e778c075d848e473e29de3369f0af50ad4 GIT binary patch literal 567 zcmV-70?7S|P)pF8+1ijbW?9;ba!ELWdK8EY;$>YAX9X8WNB|8RBvx=!KdMT0005P zNklyu2O5c zx3$IY-ku{EkI(sjaY4fvQfu)&4@5wf)LH<1V?dQZxw^Zp7W=(}g@qqiSNOL~0vsWf zU{8e2R*R=ko;iZogMsr~otlGu01?tSE-m_=M>7mv233MI53pejX#uXP@w~DpLBPx2 zfy?0i$y;ucqy!g$LOSptAwWMmq;|jkARC^%<5wKh$N{U~*Hu3{Tvp)cld4K?Q&ZGY z|0vI3IN)ZQV6CM%RyPJ!T{~Swcy)a22;O`cay|LEBwIw*5~RRp7`kh0Z+Eg!pFi?@ zIxVG&2k^@&2oUE?E+x83a6jwCf1IoQuJB|Qg{&&9k#&<4^r}fEadB}rKM$MWu3TuXX%EMW@cvg_V(`X?lnCt{rvpG!^3-K@4a>F z*5AK>j~qF&X3d)Y`}hC<|9|GpnLBsxJbn7~s#UA*-o1PN{P_nD9z1{keE06%moH!5 zx^?U0$B(~!`Ev2%#o4oGfB*jd)2C0{w{Jgi;K1k4pWnZK|NHmvMT-{An>TOm+OvzZg11aN@AirRsjU)nw!g+i9fZ90=JR*x3 z82Ao=Fk{xWPEKH;1bMnRhFJJ7oxm8}Oj?$;KS3H_scJbCW{@Z%p zK(1Wsi;6;W(*c%a7dRrWGo3xge!qQVu?)u@sSn3b6*q2sXr#cqW}D+|U-bw5KW3dP zJiz$r{ZFIXt@>X6dhr|vvY#vGC2+l1->}a7DyL1m$7D^{&6RsRN|rUA$g7Ohi+f>u zcEuIW)t5J@L_N(HQC?TL*jRjq*rsl;Tkq}#-}=~OR8YigS^qsGMP&MvEAm&D`EKcV zu==q1d5Mi%%Y3UhcOUL**cf!s>Z)f)hT+6%!LU>>N&KvK#uKe`sSDkQWvsQoRruAJqTV`A{XFBL~%xR8nfZa$4F2;(XR`O9UD%I<@Cwl7@1nG4jJbUZb ztxummojZ4K$BrGxjvf2||Nq*xYY!bdbpHJLty{O=xpU{@#fw|EY`J&u-s8uQ4<9~! z_3G9A`}hC;{rl3TOAj7Ac>DJ4<;$1Po;|x}&6@Y`-@ktS`rp5Q2M!!Ke*E~GH*a3P ze7SMs#&zq~?cBNZ!-o$KA3i*B;>4akdv@>Mefsq2&!0apTefWb_U)%mom#bO70}h@ z(}YcdlyymvUog-mWCDhTN37+5#&8yRL>4nJ@ErtU#vK#0-vR?I($mE;#KM2+1jhU( z1A*53=+Ft0szS%uR_JuSFf%be^ZDO@{@YWtS?6?nf0N9-|Mlk^<`-uf)Y1+0$cvr*EO!Y*I9Mu`Z{Zl^KJk@k%PFN@T<{0bs z)`c2o6`QL5tSmfoK_y12gz2)%jFhWJJDB$^(=hXJtedBQd1+sy@t zYLPup+TW?u9&U7!@;_nk+nk({cI?6R=(uOc)2lj#z0!>mqd1EfxqkCvd?XZ}rq<@U zuKabA+3oE!w(VIU$1!Qb$8wiSCr8JJzuk9c$()T>c)Q}m@-6qzbJ(BVP~85S;d)o; zT4#~4j?%MH(GJ%??F=jO`1?XLDk7J0ov2Qsd#Kfat)*(O%g*XNi%Ryoezb7&+2o5$ zEw8m1SWS&|cpNxWJ#<1;E@LeBPO(Rs?JKWbx%H`imidqMjW49{OYFBgdsp=qFyt9L MUHx3vIVCg!0IR@+0RR91 literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/zinc_casing.png b/src/overrides/kubejs/assets/kubejs/textures/block/zinc_casing.png new file mode 100644 index 0000000000000000000000000000000000000000..ff54b4f5ddfcbfadc2c3daa38d71331ccb6f9d9a GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF&ss8J7b-#MI|sU1E)B_Tb*c;43PYx7cy*}}F*E-zol<;mVvGWVvbu+F8O&#vfg z@c6zaa`^$J;Y8-wxhI1QJiuet#39$~^rw%UIBf~K9ux{*y Tul3h~ZeZ|q^>bP0l+XkKuOenT literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/zinc_casing.png.mcmeta b/src/overrides/kubejs/assets/kubejs/textures/block/zinc_casing.png.mcmeta new file mode 100644 index 0000000..08ce903 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/textures/block/zinc_casing.png.mcmeta @@ -0,0 +1,7 @@ +{ + "ctm": { + "ctm_version": 1, + "type": "ctm", + "textures": [ "kubejs:block/zinc_casing_ctm" ] + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/zinc_casing_ctm.png b/src/overrides/kubejs/assets/kubejs/textures/block/zinc_casing_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..aa1a9fda2805d166b3d5042e63eacfee442f9b9b GIT binary patch literal 418 zcmV;T0bTxyP)Px#1ZP1_K>z@;j|==^1poj5Cs0gOMLIn_L`zI#b#h%~U$Mlmnxv46j(jjMFi~J% zL{e09cx&YU>c`^ECMHc>00009a7bBm000id000id0mpBsWB>pG1W80eR4C6qkTGt9 zKoCV|(j?`YYRX-z^sH#y#<>AVK7cL7m6L|n(3mT5fE3{jxj-ZzD*sE%Af8r2!|3f3 zt%H)>Uu{f>4~dp4(ym{sU9K8oVhw46Dy$7fTr}xNS%G|&0G|-o;)?9pl=vtAUmbsR)+H!JLQJE(ug2Cf*x1awzPWhgk@Y}@0(G%Q zK#Hd%$S?Rm0x$^OKX(o&&RO6QSNS%G}%0G|-o*p&Du|6d({bhfx6d*hMy-F-DKK_Ro2OaRIY%oj@qQk*40e!>5t zfFanwLI@;S;1OBOz`%D1gc(IOyc&RlUY;(FAsWGJ`)+d`FyL|8d@JVP|L)bX2|c#F ztMuIs1%AJhV!oW3IK$Wfj@YUbE&1G$0auka6)Y$g{N7ov_h=#OJl2Uv|6hN+w1d@S W3Cqr2mdqxgsSKX3elF{r5}E*s7*qHF literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/zinc_machine_side.png b/src/overrides/kubejs/assets/kubejs/textures/block/zinc_machine_side.png new file mode 100644 index 0000000000000000000000000000000000000000..9cf200280dde1857447c691928bf68e86d84e084 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}B0G|-ojG{VYGjCNDYg@a)( zSmWv97@`rJ+8fAsM1h0VQR6{WZuS4u?@O1~iqe7ZVDNPHb6Mw<&;$S|iFFzP literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/block/zinc_machine_top.png b/src/overrides/kubejs/assets/kubejs/textures/block/zinc_machine_top.png new file mode 100644 index 0000000000000000000000000000000000000000..a43030e0dae012503f973f1e9dba17308aa8cb22 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFpWc?LnJP%p54fM*nr37;$n4$m#i+UibXAAvot?4G)-XD zQK(*Wg5}*}Pu&AoP37M+OlUafqi5xwJYnL`Q$3xfd!<SI!T8Woym)+lr&sL69E%{WP>ki<86mc##=6K>QC@cia)O8oC= z@W!5_?JxVm4gVE@k{n7%Dtb18#lRZ=t><5zU--|m@_v;LFEIERJYD@<);T3K0RRtm Bv6%n> literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/fluid/fine_sand_flow.png.mcmeta b/src/overrides/kubejs/assets/kubejs/textures/fluid/fine_sand_flow.png.mcmeta new file mode 100644 index 0000000..07f504e --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/textures/fluid/fine_sand_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 3 + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/textures/fluid/fine_sand_still.png b/src/overrides/kubejs/assets/kubejs/textures/fluid/fine_sand_still.png new file mode 100644 index 0000000000000000000000000000000000000000..ea2be418f6e1147c9f9ac0a0b1b2544e66827df4 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF6r7Ni*F%T=Ci7#|fTieN8t6>c}6_NuSSoX>GT9 mV*F40raw38u4-C`e&b)RB~Z+jrq%+qn8DN4&t;ucLK6U0=2_VQ literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_flow.png b/src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..673cf5f3a91e17193a6e7cfc880f396e919c8141 GIT binary patch literal 13504 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 CrrIn3 literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_flow.png.mcmeta b/src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_flow.png.mcmeta new file mode 100644 index 0000000..de3267f --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_flow.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_still.png b/src/overrides/kubejs/assets/kubejs/textures/fluid/matrix_still.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd99f83ffd6fef606a8464c8ec81ee3ff12108e GIT binary patch literal 12772 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 literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/fluid/number_flow.png.mcmeta b/src/overrides/kubejs/assets/kubejs/textures/fluid/number_flow.png.mcmeta new file mode 100644 index 0000000..de3267f --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/textures/fluid/number_flow.png.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/textures/fluid/number_still.png b/src/overrides/kubejs/assets/kubejs/textures/fluid/number_still.png new file mode 100644 index 0000000000000000000000000000000000000000..9be2ce69f1ecfc2964f06101a9dcb6af880c57cf GIT binary patch literal 4204 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 literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/boot_medium.png b/src/overrides/kubejs/assets/kubejs/textures/item/boot_medium.png new file mode 100644 index 0000000000000000000000000000000000000000..1e13d212ea2e05e6bd76d06c81ce48b52f85b551 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|m0G|+72F+ad;2p|kcO#d*XOMJ>i;H70pS)tlivR!r-?(ujA|j%wsEEON zsi~=HQ&SUAQROQNvqxe{yR>9^uI&&l_4ixDYpkuh?#kWoW$Ydw m9b-!Szdif>QlG!@9Czk?E^)4ckE?<9GkCiCxvXNS%G|y0G|+7D_h&rFvGxv_~g=}nT3w+X%354_PBWa>^`z6+FoZxm79-=%K!i0 zZa>|(fB$|10|Qe-^H;B4rN(B>m@>=DDKI`FEjcL(Xju2dDZD^Rq9n*K_&;{Qa8_9F z6;KUlfk$L90|Vbd5N6ylG5al0u-?D3y%Y(*^8f$kh2Ii0 zFM0dyI4-`e?zD1Fg0Xn@52u2AOxy++{`K+gdCa<{ox#xUd4rhD@pj1^i;0Y>E+P-l z$em*NIWKDUswW|ncrH|(%5lkcxTckAl9lUZE;0X_%e6$Umszj-6vH?B{5a2B^`CLx XenEp3)1F2FoxgTe~DWM4fajB87 literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/calculator.png b/src/overrides/kubejs/assets/kubejs/textures/item/calculator.png new file mode 100644 index 0000000000000000000000000000000000000000..d8bda46e28389cdbe62585293c1ce80638b896ad GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|+79UWZ@OKUMPG5>%NBNH>AaB@mUVR5;&oxO~VERZ|nN5DQH#a$BQ z7yKU%7`*%$KLLd~3p^r=85sBugD~Uq{1quc!5B{$#}JL+sb?Q@9Z=wK3!J{|()aoY zwOM@^_e-{X7jUUN!>_Qal=-4*MA2&*=U@hpovNy*CVm#nI~W-}<8yBpV~^N%XJh0SeuSK=`WNl&HG?3ZCBjzo0-RseJAgs`9(l`7(8A5T-G@yGywqM5m%@H literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/charged_calculator.png b/src/overrides/kubejs/assets/kubejs/textures/item/charged_calculator.png new file mode 100644 index 0000000000000000000000000000000000000000..20ea6a3deed6f580d21d3b6909213217978ec38c GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^0zmA*!3-o-7PBt_QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`EdzW)Ty=DG8RP=Q#KimqLX1qzEG(@V%zJ^7$tf9y#pTv^_A)ZE3>>{# zNB=W02bewj&ydz@^#2!7LBp2jY#=3E666>B9|JIKs=dPjl;$k(h%9Dc;5!V$jK}j= zqyPnHd%8G=SolAk^p@+e0uMv**)6%d)}H=t|K?Mmdv+b~u>~eg73~T#Oy!?j89qE# zV`!Ul(XVg&6faX{Cjobp#YdVhckGmm{M=%BdoH6V%fUH+{Yn?Q39c0Sshz}<`o{Gx zhg4pZ{f#4eby`mSs$X`r%Xz;@e0JgS#qR}$yW~{ARJ6$@P0{;kf9=9!(W;KXTVD-| jUu^tlduo1_!G6XzUlSRz)xUx6Wnl1h^>bP0l+XkK9T$x{ literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/charged_calculator.png.mcmeta b/src/overrides/kubejs/assets/kubejs/textures/item/charged_calculator.png.mcmeta new file mode 100644 index 0000000..c79bdae --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/textures/item/charged_calculator.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": false, + "frametime": 4 + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/chromatic_resonator.png b/src/overrides/kubejs/assets/kubejs/textures/item/chromatic_resonator.png new file mode 100644 index 0000000000000000000000000000000000000000..c4768307203728d3915efe6f0128cf319179a763 GIT binary patch literal 849 zcmV-X1FrmuP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0_I6XK~!i%?U+kw z6Hyd~&lIzW4|EfPkEHd1xTw`d(fR=I9VX!7JDKIGZfNNZ_FVJK>pMP4ny@!pE>FIMUUN6PvqT;Y-ia z-R$(m*vjC|QM63z;X8B4vYQy@$Z%xuE@MYH1PdRtP%4$NyzpAqh~T~sfU{wMU{4$Z z`2zf`Oc{KE0;bcRFnz}t6^kYQV1o@YJB?hEhqvNNm?USR*`xb*Lo^xz3#L0eb>=vP z{$!LeX_Glhb)7g0h7ns4hlY5ps(D*`D@SntH$gS1%6bR{O+yrAaTx zTN|+>H zXPVv8Z1O3ObZ2`ycEar2lz_njllNS%G}%0G|-o#Kc5vYwMFIPp(_HuD-s$yuAGV`}d0$Edt7~y%wMcq&Q20{DS{O z0Yk8Vg%C)vz$3Dlfr0NZ2s0kfUy%Y7O!9Pb4ABUVJ$F&8L4kugK<3t;|N40iqRVaL z60&|zXI|E0D8*1y!-Tt*tp>MTG6xSm0XD*H0k5Xg{ v{BjxOpRlbsr4?G;D0jAA!}86CwD;1jZ7gdIv|hah+Q#7N>gTe~DWM4f4KZEv literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/coke_chunk.png b/src/overrides/kubejs/assets/kubejs/textures/item/coke_chunk.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0085f121b9387ad53ec78d5fd9300653c9f3eb GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|s0G|+7BO@bAJ2z(!zo?8%RaI60h-fJ(8K7iVm&tx0#ZeOE7yKUr816Oi zjRcBu7I;J!GcfQS24TkI`72U@g0Y@1jv*SsrDp^A4k&OiUtnT=SO2)t*>~ES_%D(I zKTq;M_%%zRY6<&_NY2UwS7TOOy5#Ut>(#D>t#R3M%v;aByWvpWwJT=DYQ@$21-|kt o?KFVdQ&MBb@00miA?*IS* literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/creosote_pellet.png b/src/overrides/kubejs/assets/kubejs/textures/item/creosote_pellet.png new file mode 100644 index 0000000000000000000000000000000000000000..3cc25e7ff96a9cf7b3fc81bd01e3bfc9013f483d GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!Q-ATjv*HQZzo&xA5su$<)7kVn0fcgk>g96 z|NWo8STDAQXV#5~1=~1$#hG<>SyTue+ROQTx4F226Gx5mt@rY;k25Y_Xs|Q3Rw_hf z!qPiymI?QK=9%fSc!I)#(7Sr#3#KS--@av=!np{6M~rhSjpsXh-hA33AmcY(kMAUN zNKj(9$ONy2*Q9NS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*017&Kx;Tbt1o!qvb1^7zu+*m9`+scWtX2V2`*(bc z7PQtgN?u#TWZ1-A5ahC5Rrtl33j1HbiV~W3n5Hcgxy0+aF;LcM3G3G%X4AxhhB0`$ L`njxgN@xNA>-S5v literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/divide_cast.png b/src/overrides/kubejs/assets/kubejs/textures/item/divide_cast.png new file mode 100644 index 0000000000000000000000000000000000000000..5c0c64c011af887e24fd30b251f9009cf26fe8ec GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-opR0NQ-|YJ^jqO$?(~%g4jaEPjhNVj`umLIdk|4j}|6sr%<<0B{ z6yhxKh%9Dc;5!V$jK}j=qyPmoJzX3_G=f9>xcLqka5!0a?fyUUd&*lom194Y9!VVc zKl6Cvik*#BOqGmN6(@ajo11CTnE`r$@?{bYG{73 yo2AF|lJWa(+h-bfADySFhu=LfXrO$1AH#=KCXx4FC(Q&}%HZkh=d#Wzp$Py}xmnc! literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/dye_entangled_singularity.png b/src/overrides/kubejs/assets/kubejs/textures/item/dye_entangled_singularity.png new file mode 100644 index 0000000000000000000000000000000000000000..ec2d0d6438989b427a5b35034dea5f7ea999510f GIT binary patch literal 5759 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 AH2?qr literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/dye_entangled_singularity.png.mcmeta b/src/overrides/kubejs/assets/kubejs/textures/item/dye_entangled_singularity.png.mcmeta new file mode 100644 index 0000000..f8bf2e0 --- /dev/null +++ b/src/overrides/kubejs/assets/kubejs/textures/item/dye_entangled_singularity.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": true, + "frametime": 3 + } +} \ No newline at end of file diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/eight.png b/src/overrides/kubejs/assets/kubejs/textures/item/eight.png new file mode 100644 index 0000000000000000000000000000000000000000..bb0009c5adddac84b86222e0201d0a4c2b8d283f GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-$4*&+%YlxEl@DP)5S4FBe=Auo6A9w$0>UCxBvAuca_->ib_=p zwcGw;W%d#lk5u7oEI;IGRU&m2AuG@HTG)z4*}Q$iB}Zl+cX literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/eight_cast.png b/src/overrides/kubejs/assets/kubejs/textures/item/eight_cast.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd4c503b8c17f720421f4a0fc92c445d5409046 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-opR0NQ-|YJ^jqO$?(?%|LZq}Us&NgtyTK1!lNIZ zR&JSv*LgSXo;qrHhb-*Wb?HJjod$Q@b+`u8E z;3o5iNx(hQWrkx*H}{$bfr`&>r4QdV&zJ18t31r{-D%>~hxN939gM%@_A_37alkW# z#V7vPuil04Z&bPoNWWn%VF=<`+J&-1Q_JF6XXQW?5h(#m6Xt79Ppq2P=H>Sj1T`c z0|nLwUIth88SE@8XT1s#V?Mly+g#F7;*{&e=9dSh*s|sA7=BBhVr8Bnp)+eD;gas;_&#pEf8flV?q6dZaiYNS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01Enfx;Tbt1ef*(@;M0du!LUxegDVR1r?n?C)_=$ zbhCfChb&WRiQ>iBjtk2Z9ITG^%-J{H+v0nZ_4CECJ^POQGC9IFajQt^S;eeosifp@ Zj4#fzPPv}D+YV?lgQu&X%Q~loCIDl^S8@OV literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/four.png b/src/overrides/kubejs/assets/kubejs/textures/item/four.png new file mode 100644 index 0000000000000000000000000000000000000000..e0ba57b63369914762637cd7aaf352ff0a7998d6 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01CQ$x;Tbt1ecx-6aqTI_2Tpk|H{_{s2%=$Ns@8r zFXnG28O2}BVOYRo_1rw?VEH|VS!-D%ev0>AYh}LIa%ihjF=s~YH6}kLW~L<8H6dTP Rfo3x>c)I$ztaD0e0svY=Pu>6k literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/ground_slimy_fern.png b/src/overrides/kubejs/assets/kubejs/textures/item/ground_slimy_fern.png new file mode 100644 index 0000000000000000000000000000000000000000..23bdbc4440f6e9ef32767d6bcd23e79ef6d05410 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-odGqEyeE6`guI~T;{|62nh>3{-%0!uRTm@3>B|(0{Kye^okn(1B z0}62#ctjR6Fz_7)VaDV6D^h@h5uPrNAsWF;`waOGDDW`PwK(~IevEWfo1Scz;!zoP zrq8GJ8)Eq#T-NO@o5eG&voR&afI*OP0>>oQMXV~TqcoN{wy{h}DEsZT+<(iIzbj_n gv3@S^zwf{q)`dbWSEq2C23gGD>FVdQ&MBb@02P2y$N&HU literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_abstruse_mechanism.png b/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_abstruse_mechanism.png new file mode 100644 index 0000000000000000000000000000000000000000..205fc31ee119e1beb5d9179f0eb03c3ec84f4dba GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|+7AnoQJtfp>gXk;r}*TZEH?tT7j*@ve*aW$r9K-CP-=dU~hq_|6h z{DS|(0fU!6<0qgnXMsm#F#`kNVGw3Kp1&dmD462u;uxY4+}jt;cR+!IMSFwBz5fSd zFD&a{ziyJn;?C+b{&n4pgO<0hofL3+R>-9%YFf&(+PZW0v|XDl^6V~8a~k)ThX(Q$ zdkUHzXHO9jQ0PeEn&se97b{y7)*XI%^$)S~XEuzvYuR{i{xO&cw2#5l)z4*}Q$iB} Di@jjO literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_calculation_mechanism.png b/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_calculation_mechanism.png new file mode 100644 index 0000000000000000000000000000000000000000..5c1d55b9ba5d04806a03b9fbd597e011fc925aad GIT binary patch literal 368 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}-0G|+7D_h&rFvGxv_~g=}nT3w+X%354_PBWa>^`z6+FoZxm79-=ih+T_ z+pjnO|Nr;@|F@=whUBCqQ$zFA*sK{-W_dXU#z&;}uUG;!uXeH7CmB9|vGy zG~wC~RK!`}5n0T@z;_sg8IR|$NC66Vdb&7)qYa9HR!A0Gb;y?IjdXWyL}da`F7icx6DhF lGdH~zR*63LrBz)?zUH1l=*OjYXMv7l@O1TaS?83{1OOk(nvMVf literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_calculation_processor.png b/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_calculation_processor.png new file mode 100644 index 0000000000000000000000000000000000000000..33ec2cec6ba30242305cf82161f513c987aeb243 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-oU~j)aCtDvh#F?6!o+}7h;%Ntzv50&)8%VL21o;L32LlEvZ)P{3 z5NCl$WHAE+-(e7DJf6QI1t=Kq>Ealo5ggmk$ag@2gL$FS|N2j-yxQJ*gy{7$o|a#4 z5Z>GHN?1EYsBc5s%)l$WLbsXjaqg3`5Y8!7^Exthg`9iR=Dq(irYP86zm%{<{kl}? emptXRGwj=xnJsu4XXXH{VDNPHb6Mw<&;$S)=TAfc literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_coke_chunk.png b/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_coke_chunk.png new file mode 100644 index 0000000000000000000000000000000000000000..3209f6b24c91261cffa47dca89cfc6f5fe21c2e5 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}T0G|+7RaI3ZBO^;Yx2TLvXAeLBh-fJ(naK1E->^ty6H}n7T$zU5K#IF0 z$S?Rm958tKGkyXJa~60+7BevL9R^{>zopr08=DmG5`Po literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_engineering_processor.png b/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_engineering_processor.png new file mode 100644 index 0000000000000000000000000000000000000000..b4d4fe1a26f591106b94402669ca4ebfd7b3aa81 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}%0G|-oU~fOKw>K4zZZ$PEm6lBSEK+1BRpLkLo|Y8`x*Hd3|UwLtN#6e^f=5bUnSSa zjOk~;zrf-sj#nK^H8{kUCJDBlxX&aO^w4X=+gvl@i?@81RIGFPR(96IZIOf0ioIfD k+*!qQCi>sKwy3b4(LImFdzEqJaiARxp00i_>zopr0M0>F!vFvP literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_inductive_mechanism.png b/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_inductive_mechanism.png new file mode 100644 index 0000000000000000000000000000000000000000..3eef53cfd64fe869905f9ab07c1bcc785a1730c1 GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%Li60G|+7D_h&rFvFRJj_qj<1_lPv_Bt!7+FDS(f2uUb+%oYz$9k*0556Apa%@D zEXO1i6W%RYQ!M4klx1(MQFN_s8`BHr!#<}|eQ!0~D5`6Yo_@vb)7Nd~9Eua%I=?^8 z5b#!Xx?{kv;Fb&I{#L*e4h0Of92(+%==b;Wigv9>>zPARvqXz22WQ% Jmvv4FO#mh`r&9m` literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_infernal_mechanism.png b/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_infernal_mechanism.png new file mode 100644 index 0000000000000000000000000000000000000000..810e13f683af8f40f1c951b89643437b7d9284d1 GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%Li60G|+7U1iy;erlhV`uyA({J7erJUP6tJR^sJcP|@zfvujMf#(1JdsY?O zmxdX}sVdGabZk#^@USvclvPlXm5jF6SyAQYW1`~cA8l*r!N4YIAbBPiK@h z(1yCL%nyN-d`XaB@PE93;jCmC$n~5B9+AZi415Pbm@(^GCnr#_-P6S}L?gKO^j*GY z1s>J}jjZJXuK(uref-y-si@;!w)OJtdHQQL?0-tPOt8s)Eh=(A!MdZ+iItyWj&w(1 zBwIk2{+BZc?g}h=;NS%G}50G|-oXnUOllj2Il4BOKjQZllQOiaqE>U>O8IyySs+&xyVTzTQbg_(sw zZ48&Df9?ZPd?i7C!T*r~gX@7iCx9}X1s;*bKm~_EnDKc2iWHz=j;D)bh(>U4-)+9b z1{}_(*KT?F>HmJ~+cU#f`kT5OQdhX~%z6DmwUtrVRHST;r+duUAox&Hh2zJO^0%Vb zm@41QoZ32*_1r}F#-IBiODX&NSva;Y+`DMQ>a9!dUvn*2XW)#x_=Rb+YM6aN_Bs75 XL-wzeE?Kt#?Pc(E^>bP0l+XkKjLC5* literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_logic_processor.png b/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_logic_processor.png new file mode 100644 index 0000000000000000000000000000000000000000..04b98cf88f311fc479d2fa7082a2d303fecaf030 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}%0G|-oU~j*FKd1h>=4EPXdS{yO%Z;Lczs7G$5d_Lxt#myNq&Q20{DS{O z0Yk8Vg%C)vz$3Dlfr0NZ2s0kfUy%Y7jPP`E4ABUV?Pug;Fl1o~torx=(c>_$e3e`u zGp3*Y{sN1mI9_!u)!-0Ynk3kI;y#mD&_k~cZ*$FrFW&N5QnAkETiIC;w?z(0EB1dGM)y1x?^VW?$ANY*c)I$ztaD0e0svi3R|)_C literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_sealed_mechanism.png b/src/overrides/kubejs/assets/kubejs/textures/item/incomplete_sealed_mechanism.png new file mode 100644 index 0000000000000000000000000000000000000000..4b91f44e3661d71b852574bdb017c5879fbf44e3 GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%Lhh0G|-oXnP%H1=$0W;sU*FOT!E;jJ4a-98xl}y`0Tz8k&tvOv4c}(6Fmlum1bL^T;%}99y0LK=AkB(jqHI8^gb!8+=SufW~tl zlLL|rawS22!5{@V0mB;!nK+UA{X15AWQi`PU=ovK=_Gfc^PicNgJSIf2d- z{3(|r`PXz;bh4~u?6=&^Gtq0N)EVynNi$D>-8QfL_ofeXPAA{yxn#%P&GOU1myu=8 x;!jujnWxHL{GECA-U79=g*U#oNS%G}Z0G|+7D_h&rFvGxv_~g=}nT3w+X%354_PBWa>^`z6+FoZxm79-=ih+T_ z+pjnO|Nr;@|F`}XOTPYk2-NM_J;w(~36})<1^>qY44Z22Z~&z_3p^r=85sBufiR<} zhF1enu-enbF+?M{^h_g{vmyuUg)65{MeY0dKY6*C1W%dr2e~69b)UqAZgd~C6LQiM z+tDyJT3*s?8uy*7RztUQ2KsBRzhh!u5X^Ga1uXZW?-i0qw2Ov zS?LtxiYJ0!<=j1$-`qXOa?@xp`y9!SFPZPp`OMZ-&*Nj9ab*wC84RATelF{r5}E)3 CEPv<# literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/infernal_mechanism.png b/src/overrides/kubejs/assets/kubejs/textures/item/infernal_mechanism.png new file mode 100644 index 0000000000000000000000000000000000000000..f99fdfdab3e8bd25566e63849215cdff732209f9 GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|~0G|+7U1iy;erlhV`uyA({J7erJUP6tJR^sJcP|^eoq?u@l~G!#mx`>U zqO8J=2!)qj4u1a8wsszT99%j&2End2Kx6jTKYRtG#7ctvg8yR!42+i!JOQfUEbxdd zW?qiD^PsXf2seu zWw?;B`kTKy^w@L%F-qAPd{I52RGDWnBO>bR literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/invar_compound.png b/src/overrides/kubejs/assets/kubejs/textures/item/invar_compound.png new file mode 100644 index 0000000000000000000000000000000000000000..af0be2d5a9e44be831a129f2642ed2136cba96a8 GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|m0G|+7eH|@-FZab8S2*V79zAoob^0WG8_S2!pC(0zU%z*=tfMuirdmZo z(Za;oD=iDCY3UlF8$e2+B*-uLKPq5&pd2d+l;bS$h%9Dc;5!7ujG`J|4M4#%PZ!4! zjo{jTM=cc+({wHkZ6_qZ8^S1LW6YqV)cg-i0 zYqn!(@5OruZtaX-_TAjAv-{YMmF`Doh!m7mOgPTKs&w~#nG2VzQp2G?C+2+3QInhX o+u)tdt)}fVN$29{t@+CO^*m>anAg6wKo>B0y85}Sb4q9e0J6V$H2?qr literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/kinetic_mechanism.png b/src/overrides/kubejs/assets/kubejs/textures/item/kinetic_mechanism.png new file mode 100644 index 0000000000000000000000000000000000000000..626d5d8ea973fb810867cb320e1d65106221f9b8 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|~0G|-oXnUQMjO>n%j;lhRXGzT9OmDVVW zC>4c&|92jl=9Xit^Z)O|rA1aV3myM{ZU7pyXV-}nKuWA6$S?RmHo(Am>A(}93eEzL z$YKTtzQZ8Qcszea3Q(}x)5S4FBe?g>L7_tmJS+ibEKH4Axu^gCU&Z;z;_*spzMJL_ z67@TI6%VB4tq$6f;F#byQ^0f0&xb()*=kJe%&)stHVEbk|6zWA>$jO=>I9bs_Va!} zcRMSo`R#h4g~?Zbm#5r|=jxnU^LLXtpIVg8?Y!DU8OHl`f28)9yLRw~9*}>k0(1t0 Mr>mdKI;Vst05S}TMF0Q* literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/matter_plastics.png b/src/overrides/kubejs/assets/kubejs/textures/item/matter_plastics.png new file mode 100644 index 0000000000000000000000000000000000000000..27df6a5d94b79b6e9c6d9acb6f1dda2ec9377ad9 GIT binary patch literal 2393 zcmb_eZ)h837{9U&YHQi1UxxVMxS^}y<=(p_m)w!8wn<$AO$|+SDJtyk-FwN=mYK--n!k-N+L zJiq68pXc{J&->n~{N$0Lfd>W{h8fCc(o^u>NALb!@Eqp%7U0$AO&u9yR=DrA;AAS1ApX)b%{&izx1s@b&=*6kS*YSbJ+GfZNn;b3i+`0NZRn^uxr|L_xzHT5KSG@3&>Cq*h| zX2~UmrOBeUG^;5(H*$DrAkk34Lyh>DZPcokr#6yY)3FNwsaW9HCd8jja-(!cwv@}W zDcdEi974Q?P?(J=AyJM*rP!magd`-0@Qd}Gq*8M_zAdlC7ceI@up@{eL{n=5b*+PQ>Tb0efvyRpN@~RNJ-~_`tW&Xl+pE}H zxbCQXCIE_axy~G$#!{Mbg+ONsc0T zB=b_VC?XX_R7vLHiBJH|*}7>gwxN>9qZluRDO8N85!3^Ps?@QM?+Dg4)v(pQCb%i%bL=$z%Kn7CU_Gw$I)9Py5>tK)242r~w z!5e_)Bcd+zIEF+%YRGXS>k$Qs5NNZQ)F)gM+8kH!-Vdz?>IQ2u%T;6=OYS^LxqK7yh36zK1RX>88L~7 zGH!Fx$t6nr7AZwhRKsx?k`4c7)!2 zZ~N2|0zId?OEV#CR>c9X>wIf2ejtUz6GmXyKDp_rbNUkt2zB9Xe>O8Q0^bGYY&aOS|i4>snmv8B@cd&286=5qOXUuN#`8)q)QbLFvY=-k66kA89G z<=v(87uFscdyn6LslT3mCReVUUOIp5xBXX>uQmo(umAH@0^j7$8ZREQ=Z>$Oerayk X>&yLXCx@1n>9NS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01BFVx;Tbt1ScoBGnWk?WUa}_M?*9RKF;OXk;vd$@?2>?a&K8pYV literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/minus_cast.png b/src/overrides/kubejs/assets/kubejs/textures/item/minus_cast.png new file mode 100644 index 0000000000000000000000000000000000000000..9ad8653dbb845c89680bf76cb40a3362c1a2f220 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-opR0NQ-|YJ^jqO$?(~%g4jaEPjhNVj`umLIdk|4j}|6sr%<<0B{ z6yhxKh%9Dc;5!V$jK}j=qyPmIJY5_^G=f9>x%mzla5%|cy8HhG^T}JiOXTNwPx#1ZP1_K>z@;j|==^1poj55>QN3MG^}O|NsAWWsdHsenU4&0000KL~j}Z000Jb zQchF<|NsC00JFcOzW@LL32;bRa{vGi!vFvd!vV){sAK>D0(D75K~z{r&6k00BQXd> zZQT6-FP9k{7#y`yTPZbrchbIq!^~o5Z#<6pEf~|o<}9#qt?}^$NbnR(Fw6_gW&&f( z%2=D!8eDX&%D@tSC3t-7NFeb>5L(R=P>6~HXsy#91K=fGJ>2f{W&Z;sgZB#vlwS1)xl| z1W@@qMF0xg7Q?-OOZ?bw&<+A@gy-%cpclLID8ao`&0tOgST{i&9PU*{S+bl5@eVS-!yc)k`U z*!QRW^SJQ%8f-g$vc@fb;K^Z{6QE0%(p&e0LtGzz6o|NZ$J6~P^xOd?{E9{2(7wb%$TAj_|^*t295hgLkK8ki;0YQ*x!I%LWjO83EQiL8B(H# z1dwNS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01Enex;Tbt1kddWbP0l+XkKa1m3F literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/multiply_cast.png b/src/overrides/kubejs/assets/kubejs/textures/item/multiply_cast.png new file mode 100644 index 0000000000000000000000000000000000000000..b972df2e47c46050d80f7134c9aaf1434f8d0a14 GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-opR0NQ-|YJ^jqO$?(~%g4jaEPjhNVj`umLIdk|4j}|6sr%<<0B{ z6yhxKh%9Dc;5!V$jK}j=qyPmoJY5_^G=f9>8Tk$09%M(W{Iqem$iybXuc>cENbPq?m{LhwI58@yEn<;VOv#*SovfIjY x5(2MmvK(e9mbDvAkMcNLeDuFp&{ma~Y`>M6tTeA5iUHcm;OXk;vd$@?2>_6;TloM0 literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/nickel_compound.png b/src/overrides/kubejs/assets/kubejs/textures/item/nickel_compound.png new file mode 100644 index 0000000000000000000000000000000000000000..1f8fe75b987810926879d32a5b0ce03f8eb13147 GIT binary patch literal 612 zcmV-q0-ODbP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizyJUazyWI3i3tDz0r^QpK~y+T%~Ib> zlVKEoKHWYOaeWuIL53GHW)Z{$9Y!!pb|FL1M%}K${Rfs81zo8Z%I<<-D77wU7v;L} zqVNX@vIVKZ=4KO=uc5;YQY7XN-p)CjgCOX#9$t9f_nh-Q=X~$?;-5pS@?SAJ9>vQqw(b7DXuD-jo~jpNIb zVEFxhH2nOGYd1r%oy=p~EF!zM3G-W?gvvrDXBvrh5|yhO5xL!NY^+RIBNaFt7qPeZ z14=2B8@rH5B+zoOUa#?((P$KzOhyVzTQf2$!)~|L_U9OQFoFEnmpIgW5s5?~26yk+ zG5By2D|2JgqbMsT8>M1N&il3- zKyxcxRue{NKw=CrIBoNi$xUBqHBSa!Z}O2A@|$0Pe}*1$A%W_TU?1^JEq8BV8@ zL`w)feu0Ho&!sa94a1P)cswr5NG6loaQ`hm{9*aH_K?m^TrL-N$s(0XA(zWlv(l}e yi0d^H*4|3ZfWaor>2zAo+=-dGu}E_N8-QPIVa<`+BmNfv0000NS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01Enhx;Tbt1ef-7b2%t-IGeuy^}oKR)>kp(!kl)Q zmrKNS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01CQ#x;Tbt1h@7$axo}yuoxTv|Nr<>in8*o=5@?@ z7moysv_yEG`7Pq|^XaP}+}W{)%N(_TsT>xzYUn<-*08vB!aI&5Zlw%*MXaw5O@7u0 PG?2m5)z4*}Q$iB}fcsC@ literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_tier_1.png b/src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_tier_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a29d62a00b86556b0ffb0dd402eb1b3d0b323531 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|y0G|-o?OQf1TrjtxuBIYHw<$!UGgjxwbnnaSqxbZ>*{KVxTe8SXMbJQw&)-PGQ(xRxLvT{QX-A4#k&iaeuuA*gnLtXSB*-uLKX$-yR#@*9 zPz`5+M`SSr1K(i~W;~w1A_XXz>FMGaq7fW>{xx5N0*6DQ(dD2ny=m|NFIy;7Jh%63 z?PGSQe@7W&Src9u@t&F9Ah~v~*PomRbH1ND8<)tbm=qIsgQa6ahWe%6X6s53fsaal zic76O-r?&1(m03r=@G72)=hI_SMPs&`X}obKhA@H?rV7iEoJa@^>bP0l+XkK2BUwN literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_tier_2.png b/src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_tier_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7c99137f1302d4b998e335353b78a6eab40f8520 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|&0G|-o?OQf1Trjtxt|lfkGbuN>tfRGc`lO?04nKVUbn(U&%a$wxDr9=H zZ$FUYDGBlm{*M3*Lif*|1B!DNctjR6Fz_7)VaDV6D^h@hv7RoDAsWH4=NK4K*zbtOBx6M-?(}O}KVz_uuHebL@q_Ec0Y11(X9VV(@hJb6Mw<&;$TW CGi8SW literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_tier_3.png b/src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_tier_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a6009bf15b625603876e77d0c3656e49ce44e06f GIT binary patch literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}l0G|-o?OQf1Trjtxu7*+8oL$+2%OIRlNX7g7*|HB$bylqBiK|(*WDyge zh@6gIL_v~)vwL1=rKGZkS8}v%ptp{lgR+4U&?JXf?%#lvcuA07@PDj;;hDp;IG_^F z0*}aI1_r*vAk26?e?=j$>0+AIMqz`5*I^kWU=l43V>BD_`k{tz^#s9mrSCG4XNb w(GQMZoinXZFVdQ&MBb@0Boav-~a#s literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_utility.png b/src/overrides/kubejs/assets/kubejs/textures/item/pipe_module_utility.png new file mode 100644 index 0000000000000000000000000000000000000000..a5eac644c044ce6ff605e809395ff2e5d19c0676 GIT binary patch literal 392 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%Lh_0G|-o?OQf1Trjtxt|mDxxwyPIDmJQX!i2Vt_L};Jrq-7Frl!i8$}k%R zdrjde2jx&3`DjO#0CSmTOBTgBt9Tkn6b9+$`0J*5Y5H2o1lg%HC0d1A$rl9aH6~bA zMVTae>s3S;Iq8c5Z3}O_QvsxuOM?7@{}TiZX`0Q`fXX=wJR*x382Ao@Fyrz36)8Z$ zN>3NZ5RKs2^EdgL6$BhEP84L}7WKNiF6-z2ew}L1_sojwENlh!l?}@nE|^YaSu&+j zA<6&mqwSnG4zx=6JF~7lH#yAhkZSYZbEm6z->!P}v1ae~T5GKt{nOksgAc}^vP|CZ vEtpv`RqRBvvxK2jFvIlYeMj$av;5B5;ldNyeWgYL=m-W+S3j3^P6NS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01DcBx;Tbt1W)bpNS%G}f0G|-opR0NQ-|YJ^jqO$?(~%g4jaEPjhNVj`umLIdk|4j}|6sr%<<0B{ z6yhxKh%9Dc;5!V$jK}j=qyPmoJzX3_G=f9@IQbe3cxFv`_upS^!)1?6rm8ZruYWoI zu43F<#hL%Bf@6yWgL~t>FDn!e?B&dCbC|85*va`)-ebyz{ORUmD{~7^uJnDe<;fyN yp;?^a6>T3F+m<;$WsXkJ4E-LqatYINS%G}@0G|-ozYGk2R>ZGoV8{(OODS$BZJy+0suLa7ZX!CBxDS>3F&wS? sB5l!E6w7+UMl!PT_T4`>E{X4m7b@gD=%IJ*1<-T`Pgg&ebxsLQ0BpNmIsgCw literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/profession_card_1.png b/src/overrides/kubejs/assets/kubejs/textures/item/profession_card_1.png new file mode 100644 index 0000000000000000000000000000000000000000..aa229f3a09342a9e9b09d4db26ed9c79b520100c GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en(8|-rF~q_@S%S5h!N4igVn@NlL-iWM>IMb| z4X>RI6D}|F{hxn-AMevd_EoD^@zmATNr?3~P2`b~U@(Z|X8!OjS^;PZgQu&X%Q~lo FCIFykEqDL` literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/profession_card_2.png b/src/overrides/kubejs/assets/kubejs/textures/item/profession_card_2.png new file mode 100644 index 0000000000000000000000000000000000000000..939d380309b26b78896401f7b4ea00febb26007b GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL2FMJ#}EtuWC_;A46=XJ8UFqK{r&%oi;Mp+ zJaw=^(5w02L}mAX?{98qKXsTdCN@@b&DynrUwWGwS$TLE3cl-Uo>R#_2Q-Gk)78&q Iol`;+0I!lZm;e9( literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/purified_sand.png b/src/overrides/kubejs/assets/kubejs/textures/item/purified_sand.png new file mode 100644 index 0000000000000000000000000000000000000000..da43ecdcff88d9ff3c6275c8430633182af7faee GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}%0G|-o-AhXT|9|}B>zV6k7R+l2II+F+_2V7=6&^tO(rMueK#H>@$S?Rm z6fgw)R|tUw3p^r=85sBugD~Uq{1quc!8}hF#}JL+(zB65%!(W=0Shu8{8RVqp83-w z^nz36jvIfD*c((^m7DfgM4A8AK4q0#a5T>P!L%tMzgC*O^kicd;x$%d$#9X=h-Kt{ z6(P^T8Sv|5_5Bl5*LCRoyxx-)@U_W>zvwmhW$E2}KO8&5{$Va_;{~-dsX&_NS%G|&0G|-oz`#IDOEVQ!+5i8)tyr=0)aetuk1V=+??hT!+SgwX7p?38DqIoo z2r`|gB*-uLKLRia-9L8@D9%~n5n0T@z;_sg8IR|$NC67Qdb&7NS%G|s0G|-otM^X4{d)8N|9}7gf7^Xz(V~?-N6&2sN^ZThcm|N-C<*cl{tp2R z_nP-c0>wBBJR*x382Ao>Fr%o3R|8Nm*we)^L?d|WSx>G520Y9TmEHgUKR#6!x8+16Oz%Ty~#toUx*V|B6YltYgzugC{K!nNS%G}f0G|-o>t`06*xvd7|Krz>cl`KzX7`d3pp4JP6?1_Udr6RA@P9C1kn(1B z0}62#ctjR6Fz_7)VaDV6D^h@h@t!V@AsWHGy@7lO3^<$|FaDOVjM$uV^Ss-oEjC?? z;(u{6{F13>P?{{MlCSWCU(`s_VTp_66~;bMzwOO#ZEa7=E{Fw{DR+1vENvFHn&bP09wW1>FVdQ&MBb@07ar(fB*mh literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/sand_ball.png b/src/overrides/kubejs/assets/kubejs/textures/item/sand_ball.png new file mode 100644 index 0000000000000000000000000000000000000000..545c104bdf272497ce17f71f75c3be2a971a5c15 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-o6WcpqKi=`<>zUn4O8)m(n=u3UJ~RN{2vS$q`aBk zfI^%F9+AZi419+{nDKc2iWHz=oTrOph(>VfS#GWa3OvjgmhJy7U+GyY+#)LaIpgZD zRrUtg_MJ^EXg|u`(|O0}!ON4ayw6UYTqoAJiQ{XNn@rp+!I0i7d#w7Kj;!r$OyGZA nb6YTHQ$UbP0l+XkKo}*oK literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/sealed_mechanism.png b/src/overrides/kubejs/assets/kubejs/textures/item/sealed_mechanism.png new file mode 100644 index 0000000000000000000000000000000000000000..282a696193850857a39e375ee6e56e51dd63858e GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|;0G|+7Wd+%qhUQhPR!yEhJJ8EEBsA>m)vH!EHWtR(|NsB@ayF9?7ilpz zkC0IQ|Lf78ldai``VSi79BmAN21s6Ty$qy8N`m}?fr`-qgTMcCL7+Tmfk$L90|Vb7 z5M~tB@M-`GR(QHNhG+!$o;k_KqR7D#z#Vv}>g)giTN}%aPR?2O!C~);#D7onIT)?> zt@R3QW^J@gbyB&Q*6!`Nb|#06$QE;z#=e5`4g709OU!mYrOu$4OdcwTfTr4f`-yw&mdb8eMd1tWu_%_!2XMQrQ;o|YX7ZsBPbOVE@tDnm{r-UW| D$xVVn literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/seven.png b/src/overrides/kubejs/assets/kubejs/textures/item/seven.png new file mode 100644 index 0000000000000000000000000000000000000000..917b8d4605fc67925cb1a2818f5c179f3b2105c6 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01A40x;Tbt1ef*%@*Pm%aCR)Y^Z(dkqYRUqzZZOP z(yIHYo-#T5Ty#c3hl7i;Vdds8yCb`JyskKNA5k-Z+peW5aQKNS%G}@0G|+7BO{~TOG@Uo1Vm+I{{R2jKO)-M!|%t}GuO{7u(WeiRaHH)y%VVR z(U~g?ffR2^kYDhBB*0+%La7ZX!CBxDSNS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*015_qx;Tbt1ecx-@JaSOx$9 literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/slimy_fern_leaf.png b/src/overrides/kubejs/assets/kubejs/textures/item/slimy_fern_leaf.png new file mode 100644 index 0000000000000000000000000000000000000000..5ef7d2a61085b40f0dfcfc656f08180acfe31c4b GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-o`uh5rGiRPTbLRj5|C=^#diwM!P{!x&@hTw2UJ~RN3={_f1}Sf5 zH=qz_fk$L90|Vb-5N14{zaj-FnBwW;7@`rJdoEJwumJ~i0E^Ri`y$tZ$v(?#Dk_yX zINN^}ce-(UisFQ?7aW?V{%m@gd93gDRY8??+gQ1do|WO)RDP-{zUz>vrGsnup@qyr uzZ9eP8PsR~Do|gr?q+_$SDpLNS%G}f0G|-o)vH%uxNzalojWZpEzh4n-?L{AP$r+{(iI@ZUJ~RN{2vS$q`aBk zfI^%F9+AZi419+{nDKc2iWHz=oTrOph(>VlSw}u*LmnoF18V>4i#D1EEsfjuL`ZF7 z@8`+&j3?vd7&HV|aIZWowzG+ONS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01Enfx;Tbt1ef*(@--N6I49;5{g>`$)inHAoAcJ2 z;Uj;&6T_t!&KU}eL>#}0nK}pxOIEA!{Htk!)78&qol`;+0QY@TKL7v# literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/three_cast.png b/src/overrides/kubejs/assets/kubejs/textures/item/three_cast.png new file mode 100644 index 0000000000000000000000000000000000000000..70b72ae2515b52b4e988296f2b89e4c68df2b302 GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-opR0NQ-|YJ^jqO$?(?%GoJP4r~J w31O*n6O@JK2K-)O=koOTli#Oai+WySb`E2jf75FNKhRDFPgg&ebxsLQ06;EU@c;k- literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/trade_card_0.png b/src/overrides/kubejs/assets/kubejs/textures/item/trade_card_0.png new file mode 100644 index 0000000000000000000000000000000000000000..daf0a602807bcae02e432288883e59c63865dfe3 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|&0G|-ozYGk2R>aS&2w%^@u&6WP`1Y3EaI<0`>z`j&Kff|#!-7(v!mP4@ zb3lrxB*-uLKLRia-9HBs=PdAuEM{Qf+YiEw7OcT4K*0!47sn8d;MP8Gu>%Sm%xk?C z7ybWj#_{d(vdv1LIcAj{KH_e)P<9&2t1CxSv!t_PoW(ycG wMM_URe(S~A3a!^F2SvX582sP(Q9VR|A}7ag&#Nx0fp#!>y85}Sb4q9e0DOL8-~a#s literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/trade_card_1.png b/src/overrides/kubejs/assets/kubejs/textures/item/trade_card_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2cab20af64b05c9ce360b199736143767e6b5d99 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en(Av|*F~q_@S%S5h!N4g~q~PJ9*8c%&VF?Kd z4AKV`&22WQ%mvv4F FO#m%XFVX-2 literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/trade_card_2.png b/src/overrides/kubejs/assets/kubejs/textures/item/trade_card_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bd31cf9580d67d06c69035eee0ceb31be600bf40 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBufiR<}hF1en(Av|*F~q_@S%P&jgX|x5hJSy5fB*mD;^O}c zPaSL!^lCmhQQ7_9`NS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01Enfx;Tbt1ef+Y@-ZlKFt1$k=l^kSSA$t^WW45f zblLvlns~R!;-V7k4weU#OfOX)z14Nn=DEn9)>?g`dz_4iX61{B_*REs4NLMd@{&1Y Y$JWfc(#G`MLZHbEp00i_>zopr0AR;a*#H0l literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/zero.png b/src/overrides/kubejs/assets/kubejs/textures/item/zero.png new file mode 100644 index 0000000000000000000000000000000000000000..fdc1d2a440d555771d96d943196deabf0a49c7c1 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|s0G|-o=l@R^%?sYJVZ)p`a~c{NLPA1ptgV5P9Y4RG08$(!L4LviA%Njt z^WI3H7-xY;WHAE+-yslY6xHx*01A3}x;Tbt1W!E^$ag@2gE>Gz=KKDS6Ow#=zHL-X zs+9ML`N@*_QvWh(V U+)Op}70^@$Pgg&ebxsLQ02cvJr~m)} literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/zinc_dust.png b/src/overrides/kubejs/assets/kubejs/textures/item/zinc_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..71561eb246777440f91b8df62e45c62ae7a1a308 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}%0G|-o6{{w1+Oq7%%}c3yDW5-oHgfitHFB?O$N|dVN?&&aNO6_~`33)n z0)}A!3L%hSfk$L914E1}2s7@~P0|4h#(26ohG+!$p7rKCpuoX$p;7SZKXpC%Y~k?K zg=d;seuVyKTz+%DM)~#ie6HS(X_6bn7YI2Ss4@r@^DJD(vO%n6qY?L-&68Fux+cZ! pJa9H_N@^a*tj&FLKVC6?XOI8HW^a{V-VU^f!PC{xWt~$(695jYSPcLG literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/kubejs/textures/item/zinc_sheet.png b/src/overrides/kubejs/assets/kubejs/textures/item/zinc_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..ee9eea38c898de143352b53e23f7b8c3b164961c GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}H0G|+7_mHp;A75R*dVIyI$^ZZVH*)q*%1)Fua<6O10V+AyZ59utxJrWj zf`PISz_96z&Uv6HXMsm#F#`kNArNL1)$nQn3PyUmIEH8hFYWc_I$*%z^0%k+-v2|g zlSRDDW4~}dvT<1&_eW^c@yngJX5ExHb4TX12d7Wu_K950+a69+iuz&J&}aDDZ3*Lv slsT_8daL}3_FXu_cUH)MpUYL&gA>{Ll#Yn>04-tgboFyt=akR{0P6T(!~g&Q literal 0 HcmV?d00001 diff --git a/src/overrides/kubejs/assets/ponderjs_generated/lang/en_us.json b/src/overrides/kubejs/assets/ponderjs_generated/lang/en_us.json new file mode 100644 index 0000000..ea837df --- /dev/null +++ b/src/overrides/kubejs/assets/ponderjs_generated/lang/en_us.json @@ -0,0 +1,34 @@ +{ + "kubejs.ponder.test.alchemy_setup.header": "The Thermal Alchemy Setup", + "kubejs.ponder.alchemy.alchemy_setup.header": "The Thermal Alchemy Setup", + "kubejs.ponder.rocket.rocket_setup.header": "Launching Rockets 101", + "kubejs.ponder.alchemy.alchemy_setup.text_1": "Start with an Invar Machine", + "kubejs.ponder.alchemy.alchemy_setup.text_2": "Attach a Laser Lamp of any colour", + "kubejs.ponder.alchemy.alchemy_setup.text_4": "Place a Deployer targeting the Invar Machine", + "kubejs.ponder.alchemy.alchemy_setup.text_5": "Set it to Punch mode using a Wrench", + "kubejs.ponder.alchemy.alchemy_setup.text_3": "Ensure that the light is powered", + "kubejs.ponder.alchemy.alchemy_setup.text_8": "Hopper Minecarts caught in the Beam will process their contained Items", + "kubejs.ponder.alchemy.alchemy_setup.text_9": "The Hopper Minecart acts as the Item Container in the process", + "kubejs.ponder.alchemy.alchemy_setup.text_6": "Whenever the Deployer activates...", + "kubejs.ponder.alchemy.alchemy_setup.text_7": "...the Laser Lamp will emit a High-Energy Beam", + "kubejs.ponder.alchemy.alchemy_setup.text_10": "The Hopper Minecart acts as the Item Container in the process", + "kubejs.ponder.rocket.rocket_setup.text_4": "The Rocket can now be built within these Boundaries", + "kubejs.ponder.rocket.rocket_setup.text_1": "Start by placing down a Launch Pad", + "kubejs.ponder.rocket.rocket_setup.text_3": "Place the Rocket Assembler one block above the perimeter", + "kubejs.ponder.rocket.rocket_setup.text_2": "Attach a Launch Tower to the side of it", + "kubejs.ponder.rocket.rocket_setup.text_9": "and other blocks for Decoration.", + "kubejs.ponder.rocket.rocket_setup.text_8": "a Rocket Seat,", + "kubejs.ponder.rocket.rocket_setup.text_5": "Add Thrusters,", + "kubejs.ponder.rocket.rocket_setup.text_7": "the Guidance Computer,", + "kubejs.ponder.rocket.rocket_setup.text_6": "Fuel Tanks,", + "kubejs.ponder.rocket.rocket_setup.text_10": "Add a Fueling Station by the Assembler...", + "kubejs.ponder.rocket.rocket_setup.text_11": "...and supply both Machines with Energy", + "kubejs.ponder.rocket.rocket_setup.text_12": "Open the Assembler UI and \u0027Scan\u0027 the Rocket", + "kubejs.ponder.rocket.rocket_setup.text_13": "If the Rocket is considered valid, press \u0027Build\u0027", + "kubejs.ponder.rocket.rocket_setup.text_14": "(Don\u0027t worry about the brief Screen Freeze - the rocketry mod is in early Development.)", + "kubejs.ponder.rocket.rocket_setup.text_19": "Any fuel added to the Station will now be trasferred to the Rocket", + "kubejs.ponder.rocket.rocket_setup.text_15": "Once the Rocket is assembled, Sneak-Right-Click it to open the Interface", + "kubejs.ponder.rocket.rocket_setup.text_16": "Inside the UI you can insert the Planet Id Chip of the Desired Destination", + "kubejs.ponder.rocket.rocket_setup.text_17": "In order to Fuel the rocket, you first need a Rocket Linking Device", + "kubejs.ponder.rocket.rocket_setup.text_18": "Sneak-Use it on the Fueling Station first, then on the Rocket" +} \ No newline at end of file diff --git a/src/overrides/kubejs/client_scripts/client.js b/src/overrides/kubejs/client_scripts/client.js new file mode 100644 index 0000000..63b2b78 --- /dev/null +++ b/src/overrides/kubejs/client_scripts/client.js @@ -0,0 +1,166 @@ +// priority: 0 + +onEvent('jei.hide.items', event => { + event.hide('appliedenergistics2:facade') + event.hide(`#buddycards:cards`) + event.hide(`#buddycards:gummy_cards`) +}) + +onEvent('jei.subtypes', event => { + event.useNBT('advancedrocketry:planet_id_chip') +}) + +onEvent('jei.hide.fluids', event => { +}) + +onEvent('jei.add.items', event => { + event.add('thermal:ruby') + event.add('thermal:ruby_dust') + event.add('thermal:ruby_ore') + event.add('thermal:apatite_ore') + event.add('thermal:sapphire') + event.add('thermal:sapphire_dust') + event.add('thermal:sapphire_ore') + + event.add(Item.of("advancedrocketry:planet_id_chip", { dimId: "custommoon:moon", DimensionName: " The Moon " })) + event.add(Item.of("advancedrocketry:planet_id_chip", { dimId: "minecraft:overworld", DimensionName: " Earth " })) + +}) + +onEvent('jei.remove.categories', event => { + event.yeetIf(element => { + let name = (element.getUid() + "") + return name.startsWith('advancedrocketry:') || name.startsWith("thermal:centrifuge") + }); +}) + +onEvent('item.tooltip', tooltip => { + let holds = (id, slots) => tooltip.add("metalbarrels:" + id + "_barrel", [`§7${slots} Slots`]) + let main_assembly = (id, stage) => tooltip.add(id, [`§7Main Assembly: ${stage == "4" ? "§6Finale" : "§6Chapter " + stage}`, '§8Consider automating this item']) + let bonus_assembly = (id, stage) => tooltip.add(id, [`§7Bonus Assembly: §6Chapter ${stage}`]) + let not_consumed = (id, stage) => tooltip.add(id, [`§7Not consumed in the`, `§7Assembly Process`]) + let ore = (id, y1, y2) => tooltip.add(id, [`§o§7Y level §6${y1} §7to §6${y2}`]) + + tooltip.add("minecraft:redstone_ore", [`§7Does not generate, crush Cinnabar to obtain Redstone.`]); + + ore("forbidden_arcanus:arcane_crystal_ore", 1, 9) + ore("appliedenergistics2:charged_quartz_ore", 1, 30) + ore("forbidden_arcanus:xpetrified_ore", 1, 30) + ore("appliedenergistics2:quartz_ore", 1, 30) + ore("thermal:apatite_ore", 1, 30) + ore("thermal:cinnabar_ore", 1, 30) + ore("thermal:niter_ore", 1, 30) + ore("thermal:nickel_ore", 1, 40) + ore("thermal:ruby_ore", 1, 30) + ore("thermal:sapphire_ore", 1, 30) + ore("thermal:lead_ore", 1, 20) + ore("minecraft:emerald_ore", 1, 30) + ore("thermal:sulfur_ore", 12, 36) + ore("create:zinc_ore", 15, 70) + ore("create:copper_ore", 40, 85) + + ore("minecraft:coal_ore", 1, 128) + ore("minecraft:iron_ore", 1, 64) + ore("minecraft:lapis_ore", 1, 32) + ore("minecraft:gold_ore", 1, 32) + ore("minecraft:diamond_ore", 1, 16) + + tooltip.add("advancedrocketry:planet_id_chip", [`§3How to Use:`, `1. §7Use the Survival Mode recipes to obtain these`, `2. §7Open the UI of your Rocket`, `3. §7Click on the displayed Guidance Computer item`, `4. §7Insert chip into the empty slot`, "§8§o(Using the Planet Selection menu crashes the game)"]); + + holds('copper', 5 * 9) + holds('iron', 6 * 9) + holds('silver', 8 * 9) + holds('gold', 9 * 9) + + main_assembly('kubejs:kinetic_mechanism', "1") + bonus_assembly('kubejs:sealed_mechanism', "1A") + main_assembly('create:precision_mechanism', "2") + bonus_assembly('kubejs:infernal_mechanism', "2A") + main_assembly('kubejs:inductive_mechanism', "3") + bonus_assembly('kubejs:abstruse_mechanism', "3A") + main_assembly('kubejs:calculation_mechanism', "4") + + not_consumed('cb_microblock:stone_saw') + not_consumed('cb_microblock:iron_saw') + not_consumed('cb_microblock:diamond_saw') + not_consumed('projectred-core:screwdriver') + // not_consumed('create:super_glue') + not_consumed('kubejs:chromatic_resonator') + not_consumed('kubejs:flash_drive') + // not_consumed('xreliquary:mercy_cross') + // not_consumed('xreliquary:ender_staff') + + global.substrates[0].forEach(e => tooltip.add(e.id, [`§8Category: §7Igneous`])); + global.substrates[1].forEach(e => tooltip.add(e.id, [`§8Category: §7Herbal`])); + global.substrates[2].forEach(e => tooltip.add(e.id, [`§8Category: §7Volatile`])); + global.substrates[3].forEach(e => tooltip.add(e.id, [`§8Category: §7Crystalline`])); + global.substrates[4].forEach(e => tooltip.add(e.id, [`§8Category: §7Metallurgic`])); + global.substrates[5].forEach(e => tooltip.add(e.id, [`§8Category: §7Gemstone`])); + global.substrates[6].forEach(e => tooltip.add(e.id, [`§8Category: §7Catalyst`])); + + tooltip.add("structurescompass:structures_compass", [`§7Right-Click to Activate`]); + + tooltip.add("magicfeather:magicfeather", [`§6Grants Creative Flight`]); + + tooltip.add("xreliquary:alkahestry_tome", [`§6Cannot be used in Mechanical Crafting`]); + + tooltip.add("pipez:energy_pipe", [`§7Connections may have to be`, `§7marked as §fInputs §7by sneak-clicking`, `§7the connection with a §fWrench`]); + + tooltip.add("kubejs:accellerator_redstone", ["§7When used in Alchemy Research:", " §6One of the §ecorrect §6Reagents", + " §6in §eincorrect §6slots will not be consumed"]); + tooltip.add("kubejs:accellerator_glowstone", ["§7When used in Alchemy Research:", " §6One of the §ecorrect §6Reagents", + " §6in §ecorrect §6slots will not be consumed"]); + + for (i = 0; i < 15; i++) + tooltip.add(`kubejs:failed_alchemy_${i}`, [ + `§7Place in Centrifugal Separator to analyse.`, + "", + "§6Yields", + "- Ash §7for each incorrect ingredient", + "- Redstone §7for each correct ingredient", + " §7in an incorrect slot", + "- Glowstone §7for each correct ingredient", + " §7in the correct slot" + ]) +}) + +onEvent('jei.information', event => { + // event.add('thermal:blitz_rod', ["Obtain by running a §9Charged Staff§0 (with Charge) and any amount of §9Tiny Smoke Clouds§0 through an §5Alchemical Laser§0."]) + event.add('thermal:blizz_rod', ["Obtain by running an §9Entropy Manipulator§0 (with Charge) and any amount of §9Snowballs§0 through an §5Alchemical Laser§0."]) + event.add('thermal:basalz_rod', ["Obtain by running a §9FluxoMagnet§0 (with Charge) and any amount of §9Basalt§0 through an §5Alchemical Laser§0."]) + event.add('kubejs:substrate_silicon', ["Obtained only by running a §9Chaos Catalyst§0 and any amount of one specific other §9Reagent§0 through an §5Alchemical Laser§0.", " ", "The Reagent in question §9differs from World to World§0."]) + + event.add('kubejs:alchemical_laser', ["This item represents the §5Alchemical Laser§0 machine. Use the §9Ponder Feature§0 on this item to learn how it is build."]) + + let catalyst = (name, me) => + [ + `Obtained by finding the §9Correct Combination§0 of four §9${me ? name : name + " §0Reagent"}s§0 with the §5Alchemical Laser§0.`, " ", + `§81.§0 Occupy the first four slots of the Hopper Cart with one §9${me ? name : name + " §0Reagent"}§0 each`, + `§82.§0 Run the §5Alchemical Laser§0 on the contents and find either the §9${me ? me : name + " §9Catalyst"}§0, or a §9Hint§0 towards the Correct Combination`, " ", + "§8Note:§0 The Correct Combination may contain §9Duplicates§0", + "§8Note:§0 The Correct Combination §9Differs from World to World§0", + "§8Optional:§0 Place §9Redstone Accelerator§0 or §9Glowstone Accelerator§0 in the fifth slot for §9Additional Hints§0", + ] + + event.add('kubejs:substrate_igneous', catalyst("Igneous")) + event.add('kubejs:substrate_herbal', catalyst("Herbal")) + event.add('kubejs:substrate_volatile', catalyst("Volatile")) + event.add('kubejs:substrate_crystal', catalyst("Crystalline")) + event.add('kubejs:substrate_metal', catalyst("Metallurgic")) + event.add('kubejs:substrate_gem', catalyst("Gemstone")) + + let beer = (id, igs) => + event.add('drinkbeer:beer_mug' + id, ["Place 4 Empty Beer Mugs, " + igs + " in a Keg to create this Beverage."]) + + beer("", "3 Wheat and a Water Bucket") + beer("_blaze_stout", "2 Wheat, 1 Blaze Powder and a Water Bucket") + beer("_blaze_milk_stout", "1 Wheat, 1 Sugar, 1 Blaze Powder and a Water Bucket") //wtf are these drinks + beer("_apple_lambic", "2 Wheat, an Apple and a Water Bucket") + beer("_sweet_berry_kriek", "2 Wheat, 1 Sweet Berry and a Water Bucket") + beer("_haars_icey_pale_lager", "3 Wheat and a block of Blue Ice") + beer("_pumpkin_kvass", "2 Bread, a Pumpkin and a Water Bucket") + + event.add('kubejs:substrate_chaos', catalyst("Catalyst", "Chaos Catalyst").concat([ + " ", "§8Usage:§0", "Running the §9Chaos Catalyst§0 with any amount of one §9Reagent§0 through an §5Alchemical Laser§0 will §9transmute§0 the Reagent to another. The Transmutation Pairings are §9unique to each World§0." + ])) +}) \ No newline at end of file diff --git a/src/overrides/kubejs/client_scripts/ponder.js b/src/overrides/kubejs/client_scripts/ponder.js new file mode 100644 index 0000000..f650e7d --- /dev/null +++ b/src/overrides/kubejs/client_scripts/ponder.js @@ -0,0 +1,365 @@ +onEvent("ponder.registry", event => { + + event.create("kubejs:alchemy", "kubejs:alchemical_laser") + .scene("alchemy_setup", "The Thermal Alchemy Setup", "kubejs:laser_alchemy", (scene, util) => { + scene.configureBasePlate(0, 0, 5); + scene.showBasePlate(); + scene.idle(10) + + let largeCog = util.select().position(5, 0, 2) + let deployerSingle = util.select().position(4, 1, 3) + let smallCog = util.select().position(4, 1, 2) + let lamp = util.select().fromTo(4, 1, 4, 4, 2, 4) + let deployer = util.select().fromTo(4, 1, 2, 4, 2, 4) + let machine = util.select().position(2, 1, 3) + let light = util.select().position(2, 1, 2) + + scene.world().showSection(machine, Facing.down) + scene.idle(15) + + scene.overlay().showText(50) + .text("Start with an Invar Machine") + .pointAt(util.vector().topOf(2, 1, 3)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(60) + + scene.world().showSection(light, Facing.south) + scene.overlay().showText(50) + .text("Attach a Laser Lamp of any colour") + .pointAt(util.vector().centerOf(2, 1, 2)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(30) + + scene.world().showSection(util.select().position(1, 1, 2), Facing.north) + scene.idle(25) + + scene.world().toggleRedstonePower(util.select().position(1, 1, 2)) + scene.effects().indicateRedstone(util.grid().at(1, 1, 2)) + scene.world().setBlock(util.grid().at(2, 1, 2), util.getDefaultState("kubejs:ponder_laser_lamp_on"), false) + scene.idle(15) + + scene.overlay().showText(40) + .text("Ensure that the light is powered") + .colored(PonderPalette.GREEN) + .pointAt(util.vector().centerOf(2, 1, 2)) + .placeNearTarget() + scene.idle(50) + + scene.world().setKineticSpeed(deployer, 0) + scene.world().showSection(deployerSingle, Facing.down) + scene.idle(15) + + scene.overlay().showText(60) + .text("Place a Deployer targeting the Invar Machine") + .pointAt(util.vector().topOf(4, 1, 3)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(70) + scene.overlay().showControls(new PonderInput(util.vector().blockSurface(util.grid().at(4, 1, 3), Facing.west), PonderPointing.RIGHT) + .rightClick().withWrench(), + 50) + scene.idle(8) + scene.world().modifyTileNBT(deployerSingle, java("com.simibubi.create.content.contraptions.components.deployer.DeployerTileEntity"), nbt => nbt.func_74778_a("Mode", "PUNCH")); + scene.overlay().showText(50) + .text("Set it to Punch mode using a Wrench") + .colored(PonderPalette.GREEN) + .pointAt(util.vector().topOf(4, 1, 3)) + .placeNearTarget() + scene.idle(20) + scene.world().showSection(largeCog, Facing.up) + scene.world().showSection(smallCog, Facing.down) + scene.idle(5) + scene.world().showSection(lamp, Facing.down) + scene.idle(5) + scene.world().setKineticSpeed(deployer, 64) + scene.idle(60) + scene.overlay().showText(50) + .attachKeyFrame() + .text("Whenever the Deployer activates...") + .pointAt(util.vector().topOf(4, 1, 3)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + + scene.idle(30) + scene.world().toggleRedstonePower(lamp) + scene.idle(3) + scene.world().moveDeployer(util.grid().at(4, 1, 3), 1, 25); + scene.idle(15) + scene.idle(10) + + scene.effects().indicateSuccess(util.grid().at(2, 1, 2)) + scene.effects().indicateSuccess(util.grid().at(2, 1, 1)) + scene.effects().indicateSuccess(util.grid().at(2, 1, 0)) + scene.effects().indicateSuccess(util.grid().at(2, 1, -1)) + + scene.idle(3) + scene.world().moveDeployer(util.grid().at(4, 1, 3), -1, 25); + scene.idle(10) + scene.world().toggleRedstonePower(lamp) + // scene.effects().indicateRedstone(util.grid().at(4, 2, 4)) + + scene.overlay().showText(50) + .text("...the Laser Lamp will emit a High-Energy Beam") + .colored(PonderPalette.GREEN) + .pointAt(util.vector().centerOf(2, 1, 2)) + .placeNearTarget() + scene.idle(60) + + scene.world().showSection(util.select().fromTo(1, 1, 0, 3, 1, 0), Facing.west) + scene.idle(5) + let HopperMinecart = java("net.minecraft.entity.item.minecart.HopperMinecartEntity") + let cartHandle = scene.special().createCart(util.vector().topOf(2, 0, 0), 0, (w, x, y, z) => new HopperMinecart(w, x, y, z)) + scene.idle(20) + scene.overlay().showText(80) + .attachKeyFrame() + .text("Hopper Minecarts caught in the Beam will process their contained Items") + .pointAt(util.vector().centerOf(2, 1, 0)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(70) + + scene.overlay().showControls(new PonderInput(util.vector().centerOf(2, 1, 0), PonderPointing.DOWN) + .withItem("thermal:flux_magnet"), + 40) + scene.idle(5) + scene.overlay().showControls(new PonderInput(util.vector().centerOf(2, 1, 0), PonderPointing.UP) + .withItem("minecraft:basalt"), + 35) + scene.idle(30) + + scene.world().toggleRedstonePower(lamp) + scene.idle(3) + scene.world().moveDeployer(util.grid().at(4, 1, 3), 1, 25); + scene.idle(15) + scene.idle(10) + + scene.effects().indicateSuccess(util.grid().at(2, 1, 2)) + scene.effects().indicateSuccess(util.grid().at(2, 1, 1)) + scene.effects().indicateSuccess(util.grid().at(2, 1, 0)) + scene.effects().indicateSuccess(util.grid().at(2, 1, -1)) + + scene.idle(3) + scene.world().moveDeployer(util.grid().at(4, 1, 3), -1, 25); + scene.idle(10) + + scene.overlay().showControls(new PonderInput(util.vector().centerOf(2, 1, 0), PonderPointing.DOWN) + .withItem("thermal:flux_magnet"), + 40) + scene.idle(5) + scene.overlay().showControls(new PonderInput(util.vector().centerOf(2, 1, 0), PonderPointing.UP) + .withItem("thermal:basalz_rod"), + 35) + + // scene.effects().indicateRedstone(util.grid().at(4, 2, 4)) + scene.world().toggleRedstonePower(lamp) + }) + + event.create("kubejs:rocket", "advancedrocketry:guidancecomputer") + .scene("rocket_setup", "Launching Rockets 101", "kubejs:rocket_scene", (scene, util) => { + scene.configureBasePlate(0, 0, 7); + scene.scaleSceneView(.8); + scene.setSceneOffsetY(-1); + scene.showBasePlate(); + scene.idle(10) + + let pad = util.select().fromTo(1, 1, 1, 5, 1, 5) + let tower = util.select().fromTo(0, 1, 4, 0, 6, 4) + let assembler = util.select().position(3, 2, 0) + let fuelingstation = util.select().position(4, 2, 0) + let powercable = util.select().fromTo(1, 1, 0, 7, 1, 0) + let powercable2 = util.select().fromTo(7, 0, 1, 7, 1, 1) + + let rocket1 = util.select().fromTo(2, 2, 2, 4, 2, 4) + let rocket21 = util.select().fromTo(2, 3, 3, 4, 3, 4) + let rocket22 = util.select().position(2, 4, 3) + let rocket23 = util.select().position(4, 4, 3) + let rocket3 = util.select().position(3, 3, 2) + let rocket4 = util.select().position(3, 4, 3) + let rocket51 = util.select().position(3, 4, 2) + let rocket52 = util.select().position(3, 4, 4) + let rocket53 = util.select().fromTo(2, 5, 2, 4, 6, 4) + + scene.world().showSection(pad, Facing.down) + scene.idle(10) + scene.overlay().showText(40) + .text("Start by placing down a Launch Pad") + .pointAt(util.vector().topOf(1, 1, 2)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(50) + scene.world().showSection(tower, Facing.east) + scene.idle(10) + scene.overlay().showText(40) + .text("Attach a Launch Tower to the side of it") + .pointAt(util.vector().centerOf(0, 1, 4)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(50) + scene.world().showSection(assembler, Facing.down) + scene.idle(10) + scene.overlay().showText(80) + .text("Place the Rocket Assembler one block above the perimeter") + .pointAt(util.vector().blockSurface(util.grid().at(3, 2, 0), Facing.west)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(70) + scene.overlay().showOutline(PonderPalette.GREEN, Facing.down, util.select().fromTo(1, 2, 1, 5, 6, 5), 80) + scene.idle(15) + scene.overlay().showText(70) + .attachKeyFrame() + .text("The Rocket can now be built within these Boundaries") + .colored(PonderPalette.GREEN) + .pointAt(util.vector().topOf(1, 1, 2)) + .placeNearTarget() + scene.idle(80) + + scene.world().showSection(rocket1, Facing.down) + scene.idle(5) + scene.overlay().showText(20) + .text("Add Thrusters,") + .pointAt(util.vector().blockSurface(util.grid().at(2, 2, 3), Facing.west)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(20) + scene.world().showSection(rocket21, Facing.down) + scene.world().showSection(rocket22, Facing.down) + scene.world().showSection(rocket23, Facing.down) + scene.idle(5) + scene.overlay().showText(20) + .text("Fuel Tanks,") + .pointAt(util.vector().blockSurface(util.grid().at(2, 4, 3), Facing.west)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(20) + scene.world().showSection(rocket3, Facing.south) + scene.idle(5) + scene.overlay().showText(20) + .text("the Guidance Computer,") + .pointAt(util.vector().blockSurface(util.grid().at(3, 3, 2), Facing.west)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(20) + scene.world().showSection(rocket4, Facing.down) + scene.idle(5) + scene.overlay().showText(20) + .text("a Rocket Seat,") + .pointAt(util.vector().centerOf(3, 4, 3)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(20) + scene.world().showSection(rocket51, Facing.down) + scene.world().showSection(rocket52, Facing.down) + scene.world().showSection(rocket53, Facing.down) + scene.idle(5) + scene.overlay().showText(50) + .text("and other blocks for Decoration.") + .pointAt(util.vector().blockSurface(util.grid().at(3, 5, 2), Facing.west)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + + scene.idle(60) + scene.world().showSection(fuelingstation, Facing.down) + scene.idle(10) + scene.overlay().showText(60) + .attachKeyFrame() + .text("Add a Fueling Station by the Assembler...") + .pointAt(util.vector().blockSurface(util.grid().at(4, 2, 0), Facing.up)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(50) + scene.world().showSection(powercable, Facing.south) + scene.world().showSection(powercable2, Facing.south) + scene.idle(10) + scene.effects().indicateRedstone(util.grid().at(4, 2, 0)) + scene.effects().indicateRedstone(util.grid().at(3, 2, 0)) + scene.idle(10) + scene.overlay().showText(60) + .text("...and supply both Machines with Energy") + .pointAt(util.vector().centerOf(2, 1, 0)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(80) + + scene.overlay().showText(60) + .attachKeyFrame() + .text("Open the Assembler UI and 'Scan' the Rocket") + .pointAt(util.vector().blockSurface(util.grid().at(3, 2, 0), Facing.west)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(70) + scene.overlay().showText(60) + .text("If the Rocket is considered valid, press 'Build'") + .pointAt(util.vector().blockSurface(util.grid().at(3, 2, 0), Facing.west)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(70) + scene.overlay().showText(80) + .text("(Don't worry about the brief Screen Freeze - the rocketry mod is in early Development.)") + .pointAt(util.vector().blockSurface(util.grid().at(3, 2, 0), Facing.west)) + .colored(PonderPalette.GREEN) + .placeNearTarget() + scene.idle(90) + + scene.effects().indicateSuccess(util.grid().at(3, 2, 0)) + scene.idle(5) + scene.overlay().showControls(new PonderInput(util.vector().centerOf(3, 4, 3), PonderPointing.RIGHT) + .rightClick().whileSneaking(), + 50) + scene.idle(8) + scene.overlay().showText(70) + .attachKeyFrame() + .text("Once the Rocket is assembled, Sneak-Right-Click it to open the Interface") + .pointAt(util.vector().centerOf(3, 4, 3)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(80) + scene.overlay().showControls(new PonderInput(util.vector().centerOf(4, 4, 3), PonderPointing.RIGHT) + .withItem("advancedrocketry:planet_id_chip"), + 50) + scene.idle(8) + scene.overlay().showText(70) + .text("Inside the UI you can insert the Planet Id Chip of the Desired Destination") + .colored(PonderPalette.GREEN) + .pointAt(util.vector().centerOf(3, 4, 3)) + .placeNearTarget() + scene.idle(80) + + scene.overlay().showText(70) + .attachKeyFrame() + .text("In order to Fuel the rocket, you first need a Rocket Linking Device") + .pointAt(util.vector().blockSurface(util.grid().at(4, 2, 0), Facing.up)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(80) + scene.overlay().showControls(new PonderInput(util.vector().topOf(4, 2, 0), PonderPointing.DOWN) + .withItem("libvulpes:linker").rightClick().whileSneaking(), + 20) + scene.idle(15) + scene.overlay().showControls(new PonderInput(util.vector().centerOf(4, 4, 3), PonderPointing.RIGHT) + .withItem("libvulpes:linker").rightClick().whileSneaking(), + 20) + scene.idle(8) + scene.effects().indicateSuccess(util.grid().at(4, 2, 0)) + scene.idle(15) + scene.overlay().showText(60) + .attachKeyFrame() + .text("Sneak-Use it on the Fueling Station first, then on the Rocket") + .pointAt(util.vector().blockSurface(util.grid().at(4, 2, 0), Facing.up)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(70) + scene.overlay().showControls(new PonderInput(util.vector().topOf(4, 2, 0), PonderPointing.DOWN) + .withItem("thermal:refined_fuel_bucket"), + 20) + scene.idle(15) + scene.overlay().showText(70) + .text("Any fuel added to the Station will now be trasferred to the Rocket") + .pointAt(util.vector().blockSurface(util.grid().at(4, 2, 0), Facing.up)) + .colored(PonderPalette.WHITE) + .placeNearTarget() + scene.idle(50) + }) + +}) \ No newline at end of file diff --git a/src/overrides/kubejs/config/client.properties b/src/overrides/kubejs/config/client.properties new file mode 100644 index 0000000..a1ffc46 --- /dev/null +++ b/src/overrides/kubejs/config/client.properties @@ -0,0 +1,15 @@ +#KubeJS Client Properties +#Tue Aug 31 15:51:05 CEST 2021 +fmlLogColor=B8B2A6 +barBorderColor=F4F3F3 +overrideColors=true +menuBackgroundScale=32.0 +fmlMemoryColor=F4F3F3 +barColor=5EAAA8 +showTagNames=true +menuBackgroundBrightness=64 +disableRecipeBook=false +menuInnerBackgroundBrightness=32 +title=Create: Above and Beyond +backgroundColor=B8B2A6 +exportAtlases=false diff --git a/src/overrides/kubejs/config/common.properties b/src/overrides/kubejs/config/common.properties new file mode 100644 index 0000000..156a30a --- /dev/null +++ b/src/overrides/kubejs/config/common.properties @@ -0,0 +1,8 @@ +#KubeJS Common Properties +#Mon Oct 04 13:29:27 CEST 2021 +hideServerScriptErrors=false +packmode=default +invertClassLoader=true +debugInfo=false +announceReload=true +serverOnly=false diff --git a/src/overrides/kubejs/data/architects_palette/loot_modifiers/wither_skeleton_bones.json b/src/overrides/kubejs/data/architects_palette/loot_modifiers/wither_skeleton_bones.json new file mode 100644 index 0000000..06237fc --- /dev/null +++ b/src/overrides/kubejs/data/architects_palette/loot_modifiers/wither_skeleton_bones.json @@ -0,0 +1,5 @@ +{ + "conditions": [], + "bone": "tconstruct:necrotic_bone", + "replaces": "minecraft:bone" +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/buddycards/loot_tables/inject/fd_buddybeans.json b/src/overrides/kubejs/data/buddycards/loot_tables/inject/fd_buddybeans.json new file mode 100644 index 0000000..a276c69 --- /dev/null +++ b/src/overrides/kubejs/data/buddycards/loot_tables/inject/fd_buddybeans.json @@ -0,0 +1,15 @@ +{ + "pools": [ + { + "name": "buddycards", + "rolls": 1, + "entries": [ + { + "type": "item", + "weight": 60, + "name": "buddycards:buddybeans" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/custom/loot_tables/chests/moon_junk.json b/src/overrides/kubejs/data/custom/loot_tables/chests/moon_junk.json new file mode 100644 index 0000000..4caa12a --- /dev/null +++ b/src/overrides/kubejs/data/custom/loot_tables/chests/moon_junk.json @@ -0,0 +1,312 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "weight": 20, + "name": "thermal:lead_block" + }, + { + "type": "minecraft:item", + "name": "thermal:nickel_block" + }, + { + "type": "minecraft:item", + "weight": 30, + "name": "minecraft:gold_block" + }, + { + "type": "minecraft:item", + "weight": 10, + "functions": [ + { + "function": "minecraft:enchant_randomly" + } + ], + "name": "minecraft:book" + }, + { + "type": "minecraft:item", + "weight": 5, + "name": "chisel:futura/controller_purple" + }, + { + "type": "minecraft:empty", + "weight": 2 + } + ] + }, + { + "rolls": { + "min": 2.0, + "max": 4.0, + "type": "minecraft:uniform" + }, + "entries": [ + { + "type": "minecraft:item", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 5.0, + "type": "minecraft:uniform" + } + } + ], + "name": "create:powdered_obsidian" + }, + { + "type": "minecraft:item", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 3.0, + "type": "minecraft:uniform" + } + } + ], + "name": "create:andesite_alloy" + }, + { + "type": "minecraft:item", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4.0, + "max": 9.0, + "type": "minecraft:uniform" + } + } + ], + "name": "create:crushed_lead_ore" + }, + { + "type": "minecraft:item", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4.0, + "max": 9.0, + "type": "minecraft:uniform" + } + } + ], + "name": "minecraft:lapis_lazuli" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 2.0, + "type": "minecraft:uniform" + } + } + ], + "name": "minecraft:diamond" + }, + { + "type": "minecraft:item", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 3.0, + "max": 8.0, + "type": "minecraft:uniform" + } + } + ], + "name": "create:copper_sheet" + }, + { + "type": "minecraft:item", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 3.0, + "type": "minecraft:uniform" + } + } + ], + "name": "kubejs:zinc_sheet" + }, + { + "type": "minecraft:item", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2.0, + "max": 4.0, + "type": "minecraft:uniform" + } + } + ], + "name": "create:andesite_cobblestone" + }, + { + "type": "minecraft:item", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2.0, + "max": 4.0, + "type": "minecraft:uniform" + } + } + ], + "name": "minecraft:bread" + }, + { + "type": "minecraft:item", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2.0, + "max": 4.0, + "type": "minecraft:uniform" + } + } + ], + "name": "minecraft:potato" + } + ] + }, + { + "rolls": 10, + "entries": [ + { + "type": "minecraft:item", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 48.0, + "type": "minecraft:uniform" + } + } + ], + "name": "chisel:factory/grinder" + }, + { + "type": "minecraft:item", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 10.0, + "type": "minecraft:uniform" + } + } + ], + "name": "minecraft:iron_block" + }, + { + "type": "minecraft:item", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 10.0, + "type": "minecraft:uniform" + } + } + ], + "name": "create:copper_block" + }, + { + "type": "minecraft:item", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 10.0, + "type": "minecraft:uniform" + } + } + ], + "name": "create:zinc_block" + }, + { + "type": "minecraft:item", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 48.0, + "type": "minecraft:uniform" + } + } + ], + "name": "chisel:factory/dots" + }, + { + "type": "minecraft:item", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 48.0, + "type": "minecraft:uniform" + } + } + ], + "name": "xkdeco:steel_tiles" + }, + { + "type": "minecraft:item", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 48.0, + "type": "minecraft:uniform" + } + } + ], + "name": "chisel:tyrian/shining" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/custom/loot_tables/chests/moon_treasure.json b/src/overrides/kubejs/data/custom/loot_tables/chests/moon_treasure.json new file mode 100644 index 0000000..0cd2012 --- /dev/null +++ b/src/overrides/kubejs/data/custom/loot_tables/chests/moon_treasure.json @@ -0,0 +1,393 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "rolls": { + "min": 2.0, + "max": 6.0, + "type": "minecraft:uniform" + }, + "entries": [ + { + "type": "minecraft:item", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2.0, + "max": 7.0, + "type": "minecraft:uniform" + } + } + ], + "name": "thermal:invar_ingot" + }, + { + "type": "minecraft:item", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2.0, + "max": 7.0, + "type": "minecraft:uniform" + } + } + ], + "name": "randomium:randomium_ore" + }, + { + "type": "minecraft:item", + "weight": 10, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 4.0, + "max": 8.0, + "type": "minecraft:uniform" + } + } + ], + "name": "xkdeco:steel_ingot" + }, + { + "type": "minecraft:item", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2.0, + "max": 7.0, + "type": "minecraft:uniform" + } + } + ], + "name": "moreminecarts:silica_steel" + }, + { + "type": "minecraft:item", + "weight": 2, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 2.0, + "max": 6.0, + "type": "minecraft:uniform" + } + } + ], + "name": "thermal:lead_block" + }, + { + "type": "minecraft:item", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 10.0, + "type": "minecraft:uniform" + } + } + ], + "name": "minecraft:glowstone_dust" + }, + { + "type": "minecraft:item", + "weight": 3, + "name": "thermal:refined_fuel_bucket" + }, + { + "type": "minecraft:item", + "name": "minecraft:ender_pearl" + }, + { + "type": "minecraft:item", + "name": "thermal:upgrade_augment_3" + }, + { + "type": "minecraft:item", + "name": "advancedrocketry:bucketoxygen" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "create:potato_cannon" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "minecraft:diamond_boots" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "create:copper_backtank" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "thermal:flux_drill" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "thermal:rf_potato" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "thermal:flux_saw" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "thermal:fluid_cell" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "advancedrocketry:spacehelmet" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "farmersdelight:netherite_knife" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "aquaculture:diamond_fishing_rod" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "constructionwand:diamond_wand" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "exchangers:signalum_exchanger" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "xkdeco:steel_pickaxe" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "xkdeco:steel_shovel" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "xkdeco:steel_axe" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "xkdeco:steel_sword" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": { + "min": 20.0, + "max": 39.0, + "type": "minecraft:uniform" + }, + "treasure": true + } + ], + "name": "create:super_glue" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/custom/loot_tables/chests/patience_1.json b/src/overrides/kubejs/data/custom/loot_tables/chests/patience_1.json new file mode 100644 index 0000000..caba092 --- /dev/null +++ b/src/overrides/kubejs/data/custom/loot_tables/chests/patience_1.json @@ -0,0 +1,502 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "rolls": 1, + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.075 + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:apple", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Motivational Apple", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:cookie", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Motivational Cookie", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:pufferfish", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Motivational Pufferfish", + "italic": false + } + } + ] + } + ] + }, + { + "rolls": 1, + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.09 + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Keep going.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Let's do this.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Don't stop until you're proud.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Dream big.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "You get what you give.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Be you.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Take the risk or lose the chance.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "You are stronger than you think", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Never ever give up.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Anything is possible.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "It always seems impossible until it's done.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Believe in yourself.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Getting there...", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "You've got this.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Prove them wrong.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Failure is success in progress.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Don't let go.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Be brave.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Just keep trying.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Be stronger than your excuses", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Any minute now...", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "I'm sorry.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Persistence is key.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Today is a good day.", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "The next crate could be the one!", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "So close yet so far...", + "italic": false + } + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "This took forever to package.", + "italic": false + } + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "weight": 2500000, + "name": "minecraft:barrel", + "functions": [ + { + "function": "minecraft:set_loot_table", + "name": "custom:chests/patience_1" + }, + { + "function": "minecraft:set_lore", + "lore": [ + { + "text": "The fabled prize awaits at the bottom...", + "italic": true, + "color": "gray" + } + ] + } + ] + }, + { + "type": "minecraft:item", + "weight": 1, + "name": "minecraft:barrel", + "functions": [ + { + "function": "minecraft:set_loot_table", + "name": "custom:chests/patience_2" + }, + { + "function": "minecraft:set_name", + "name": { + "text": "The Reward of Patience", + "italic": false, + "color": "dark_green" + } + }, + { + "function": "minecraft:set_lore", + "lore": [ + { + "text": "The fabled prize...", + "italic": true, + "color": "gray" + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/custom/loot_tables/chests/patience_2.json b/src/overrides/kubejs/data/custom/loot_tables/chests/patience_2.json new file mode 100644 index 0000000..a889450 --- /dev/null +++ b/src/overrides/kubejs/data/custom/loot_tables/chests/patience_2.json @@ -0,0 +1,130 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 1, + "functions": [ + { + "function": "minecraft:set_name", + "name": { + "text": "Unbelievable.", + "italic": false + } + }, + { + "function": "minecraft:set_lore", + "lore": [ + { + "text": "You have no idea how lucky you are.", + "color": "gray", + "italic": false + } + ] + } + ] + } + ] + }, + { + "rolls": { + "min": 15.0, + "max": 25.0, + "type": "minecraft:uniform" + }, + "entries": [ + { + "type": "minecraft:item", + "weight": 5, + "name": "thermal:gold_coin" + }, + { + "type": "minecraft:item", + "weight": 8, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 56.0, + "type": "minecraft:uniform" + } + } + ], + "name": "thermal:gold_coin" + }, + { + "type": "minecraft:item", + "weight": 4, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 12.0, + "max": 57.0, + "type": "minecraft:uniform" + } + } + ], + "name": "thermal:silver_coin" + }, + { + "type": "minecraft:item", + "weight": 3, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 11.0, + "max": 53.0, + "type": "minecraft:uniform" + } + } + ], + "name": "minecraft:gold_ingot" + }, + { + "type": "minecraft:item", + "weight": 2, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 13.0, + "type": "minecraft:uniform" + } + } + ], + "name": "thermal:silver_ingot" + }, + { + "type": "minecraft:item", + "weight": 5, + "functions": [ + { + "function": "minecraft:enchant_randomly" + } + ], + "name": "minecraft:book" + }, + { + "type": "minecraft:item", + "weight": 5, + "functions": [ + { + "function": "minecraft:enchant_with_levels", + "levels": 35, + "treasure": true + } + ], + "name": "minecraft:book" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/custom/loot_tables/chests/tinker.json b/src/overrides/kubejs/data/custom/loot_tables/chests/tinker.json new file mode 100644 index 0000000..d12de82 --- /dev/null +++ b/src/overrides/kubejs/data/custom/loot_tables/chests/tinker.json @@ -0,0 +1,1068 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "rolls": { + "min": 1.0, + "max": 3.0, + "type": "minecraft:uniform" + }, + "entries": [ + { + "type": "minecraft:tag", + "name": "tconstruct:tables", + "expand": true, + "weight": 1 + } + ] + }, + { + "rolls": { + "min": 2.0, + "max": 4.0, + "type": "minecraft:uniform" + }, + "entries": [ + { + "type": "minecraft:tag", + "name": "tconstruct:seared_blocks", + "expand": true, + "weight": 1 + } + ] + }, + { + "rolls": { + "min": 12.0, + "max": 18.0, + "type": "minecraft:uniform" + }, + "entries": [ + { + "type": "minecraft:item", + "name": "tconstruct:pickaxe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:copper\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:pickaxe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:cobalt\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:pickaxe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:iron\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:pickaxe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:tinkers_bronze\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:pickaxe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:rose_gold\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:pickaxe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:silver\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:pickaxe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:bone\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:pickaxe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:lead\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:pickaxe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:wood\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:pickaxe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:flint\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:copper\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:cobalt\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:iron\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:tinkers_bronze\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:rose_gold\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:silver\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:bone\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:lead\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:wood\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:flint\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:hammer_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:copper\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:hammer_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:cobalt\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:hammer_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:iron\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:hammer_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:tinkers_bronze\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:hammer_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:rose_gold\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:hammer_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:silver\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:hammer_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:bone\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:hammer_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:lead\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:hammer_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:wood\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:hammer_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:flint\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:copper\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:cobalt\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:iron\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:tinkers_bronze\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:rose_gold\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:silver\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:bone\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:lead\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:wood\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_axe_head", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:flint\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:copper\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:cobalt\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:iron\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:tinkers_bronze\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:rose_gold\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:silver\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:bone\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:lead\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:wood\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:small_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:flint\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:copper\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:cobalt\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:iron\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:tinkers_bronze\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:rose_gold\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:silver\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:bone\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:lead\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:wood\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:broad_blade", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:flint\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_binding", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:copper\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_binding", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:cobalt\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_binding", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:iron\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_binding", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:tinkers_bronze\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_binding", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:rose_gold\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_binding", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:silver\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_binding", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:bone\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_binding", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:lead\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_binding", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:wood\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_binding", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:flint\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:large_plate", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:copper\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:large_plate", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:cobalt\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:large_plate", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:iron\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:large_plate", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:tinkers_bronze\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:large_plate", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:rose_gold\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:large_plate", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:silver\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:large_plate", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:bone\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:large_plate", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:lead\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:large_plate", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:wood\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:large_plate", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:flint\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:copper\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:cobalt\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:iron\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:tinkers_bronze\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:rose_gold\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:silver\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:bone\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:lead\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:wood\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tool_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:flint\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tough_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:copper\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tough_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:cobalt\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tough_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:iron\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tough_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:tinkers_bronze\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tough_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:rose_gold\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tough_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:silver\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tough_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:bone\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tough_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:lead\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tough_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:wood\"}" + } + ] + }, + { + "type": "minecraft:item", + "name": "tconstruct:tough_handle", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{\"Material\": \"tconstruct:flint\"}" + } + ] + } + ] + }, + { + "rolls": { + "min": 2.0, + "max": 8.0, + "type": "minecraft:uniform" + }, + "entries": [ + { + "type": "minecraft:item", + "name": "tconstruct:pattern", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 3.0, + "type": "minecraft:uniform" + } + } + ], + "weight": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/extcaves/loot_tables/blocks/lavastone_slab.json b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/lavastone_slab.json new file mode 100644 index 0000000..19291bd --- /dev/null +++ b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/lavastone_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "extcaves:lavastone_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "extcaves:lavastone_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/extcaves/loot_tables/blocks/lavastone_stairs.json b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/lavastone_stairs.json new file mode 100644 index 0000000..391aebf --- /dev/null +++ b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/lavastone_stairs.json @@ -0,0 +1,20 @@ + +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "extcaves:lavastone_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } \ No newline at end of file diff --git a/src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone.json b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone.json new file mode 100644 index 0000000..8d40576 --- /dev/null +++ b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone.json @@ -0,0 +1,20 @@ + +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "extcaves:polished_lavastone" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } \ No newline at end of file diff --git a/src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone_slab.json b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone_slab.json new file mode 100644 index 0000000..384c7fc --- /dev/null +++ b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone_slab.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": "extcaves:polished_lavastone_slab", + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "extcaves:polished_lavastone_slab" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone_stairs.json b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone_stairs.json new file mode 100644 index 0000000..1079fa0 --- /dev/null +++ b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/polished_lavastone_stairs.json @@ -0,0 +1,20 @@ + +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "extcaves:polished_lavastone_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } \ No newline at end of file diff --git a/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot.json b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot.json new file mode 100644 index 0000000..3f1da5e --- /dev/null +++ b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot.json @@ -0,0 +1,82 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "thermal:silver_coin", + "weight": 30, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "type": "tag", + "name": "forge:treasure1", + "expand": true, + "weight": 1 + }, + { + "type": "tag", + "name": "forge:treasure2", + "expand": true, + "weight": 1 + }, + { + "type": "item", + "name": "minecraft:dead_bush", + "weight": 1 + }, + { + "type": "item", + "name": "minecraft:carrot", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 4 + } + } + ] + }, + { + "type": "item", + "name": "minecraft:potato", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 4 + } + } + ] + }, + { + "type": "item", + "name": "minecraft:apple", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 4 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_long.json b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_long.json new file mode 100644 index 0000000..33327cf --- /dev/null +++ b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_long.json @@ -0,0 +1,68 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "minecraft:dead_bush", + "weight": 1 + }, + { + "type": "tag", + "name": "forge:treasure2", + "expand": true, + "weight": 1 + }, + { + "type": "tag", + "name": "minecraft:saplings", + "expand": true, + "weight": 1 + }, + { + "type": "item", + "name": "thermal:silver_coin", + "weight": 40, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "type": "item", + "name": "minecraft:bone", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "type": "item", + "name": "minecraft:stick", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_quartz_long.json b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_quartz_long.json new file mode 100644 index 0000000..313d615 --- /dev/null +++ b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_quartz_long.json @@ -0,0 +1,68 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "thermal:gold_coin", + "weight": 1 + }, + { + "type": "tag", + "name": "forge:treasure3", + "expand": true, + "weight": 1 + }, + { + "type": "tag", + "name": "minecraft:arrows", + "expand": true, + "weight": 1 + }, + { + "type": "item", + "name": "thermal:silver_coin", + "weight": 30, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 8 + } + } + ] + }, + { + "type": "item", + "name": "minecraft:arrow", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "type": "item", + "name": "minecraft:torch", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_quartz_short.json b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_quartz_short.json new file mode 100644 index 0000000..4d76fb4 --- /dev/null +++ b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_quartz_short.json @@ -0,0 +1,92 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "thermal:gold_coin", + "weight": 1 + }, + { + "type": "tag", + "name": "forge:treasure3", + "expand": true, + "weight": 1 + }, + { + "type": "item", + "name": "thermal:silver_coin", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "type": "item", + "name": "minecraft:emerald", + "weight": 4, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + } + ] + }, + { + "conditions": [ + { + "condition": "random_chance", + "chance": 0.1 + } + ], + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "minecraft:golden_carrot", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": 1 + } + ] + } + ] + }, + { + "conditions": [ + { + "condition": "random_chance", + "chance": 0.1 + } + ], + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "minecraft:golden_apple", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": 1 + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_short.json b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_short.json new file mode 100644 index 0000000..bfe3bea --- /dev/null +++ b/src/overrides/kubejs/data/extcaves/loot_tables/blocks/treasure_pot_short.json @@ -0,0 +1,81 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "item", + "name": "thermal:silver_coin", + "weight": 13 + }, + { + "type": "tag", + "name": "forge:treasure1", + "expand": true, + "weight": 1 + }, + { + "type": "item", + "name": "minecraft:dead_bush", + "weight": 1 + }, + { + "type": "item", + "name": "minecraft:string", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "type": "item", + "name": "minecraft:feather", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "type": "item", + "name": "minecraft:gunpowder", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "type": "item", + "name": "minecraft:leather", + "weight": 1, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/forbidden_arcanus/loot_tables/inject/abandoned_mineshaft.json b/src/overrides/kubejs/data/forbidden_arcanus/loot_tables/inject/abandoned_mineshaft.json new file mode 100644 index 0000000..a90d7f7 --- /dev/null +++ b/src/overrides/kubejs/data/forbidden_arcanus/loot_tables/inject/abandoned_mineshaft.json @@ -0,0 +1,63 @@ + +{ + "pools": [ + { + "name": "other_loot", + "rolls": { + "min": 1.0, + "max": 2.0, + "type": "minecraft:uniform" + }, + "entries": [ + { + "type": "minecraft:item", + "name": "forbidden_arcanus:cloth", + "weight": 15, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 3.0, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "forbidden_arcanus:obsidian_with_iron", + "weight": 5, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 2.0, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:item", + "name": "forbidden_arcanus:bat_wing", + "weight": 20, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 2.0, + "type": "minecraft:uniform" + } + } + ] + }, + { + "type": "minecraft:empty", + "weight": 10 + } + ] + }] +} \ No newline at end of file diff --git a/src/overrides/kubejs/data/occultism/loot_tables/blocks/datura_seed_additions.json b/src/overrides/kubejs/data/occultism/loot_tables/blocks/datura_seed_additions.json new file mode 100644 index 0000000..3152b71 --- /dev/null +++ b/src/overrides/kubejs/data/occultism/loot_tables/blocks/datura_seed_additions.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:random_chance", + "chance": 0.015625 + } + ], + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ], + "name": "occultism:datura_seeds" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/kubejs/exported/tags/blocks.txt b/src/overrides/kubejs/exported/tags/blocks.txt new file mode 100644 index 0000000..4792ab6 --- /dev/null +++ b/src/overrides/kubejs/exported/tags/blocks.txt @@ -0,0 +1,2960 @@ +To refresh this file, delete it and run /reload command again! Last updated: Aug 15, 2021 10:39:59 PM + +#create:non_movable +- minecraft:obsidian +- immersiveengineering:connector_lv? +- immersiveengineering:connector_lv_relay? +- immersiveengineering:connector_mv? +- immersiveengineering:connector_mv_relay? +- immersiveengineering:connector_hv? +- immersiveengineering:connector_hv_relay? +- immersiveengineering:connector_bundled? +- immersiveengineering:connector_structural? +- immersiveengineering:connector_redstone? +- immersiveengineering:connector_probe? +- immersiveengineering:breaker_switch? + +#minecraft:soul_fire_base_blocks +- minecraft:soul_sand +- minecraft:soul_soil +- tconstruct:soul_glass + +#forge:glass_panes/magenta +- tconstruct:magenta_clear_stained_glass_pane +- minecraft:magenta_stained_glass_pane + +#forge:crops/flax +- supplementaries:flax + +#farmersdelight:unaffected_by_rich_soil +- minecraft:grass +- minecraft:tall_grass +- minecraft:fern +- minecraft:large_fern +- minecraft:twisting_vines +- minecraft:twisting_vines_plant +- farmersdelight:brown_mushroom_colony +- farmersdelight:red_mushroom_colony +- #farmersdelight:wild_crops + +#survivalist:chopping_blocks +- survivalist:oak_chopping_block +- survivalist:chipped_oak_chopping_block +- survivalist:damaged_oak_chopping_block +- survivalist:birch_chopping_block +- survivalist:chipped_birch_chopping_block +- survivalist:damaged_birch_chopping_block +- survivalist:spruce_chopping_block +- survivalist:chipped_spruce_chopping_block +- survivalist:damaged_spruce_chopping_block +- survivalist:jungle_chopping_block +- survivalist:chipped_jungle_chopping_block +- survivalist:damaged_jungle_chopping_block +- survivalist:dark_oak_chopping_block +- survivalist:chipped_dark_oak_chopping_block +- survivalist:damaged_dark_oak_chopping_block +- survivalist:acacia_chopping_block +- survivalist:chipped_acacia_chopping_block +- survivalist:damaged_acacia_chopping_block + +#forge:storage_blocks/netherite +- minecraft:netherite_block + +#forge:glass_panes/white +- tconstruct:white_clear_stained_glass_pane +- minecraft:white_stained_glass_pane + +#biomesoplenty:hellbark_logs +- biomesoplenty:hellbark_log +- biomesoplenty:hellbark_wood +- biomesoplenty:stripped_hellbark_log +- biomesoplenty:stripped_hellbark_wood + +#forge:gravel +- minecraft:gravel + +#supplementaries:beams +- valhelsia_structures:oak_beam? +- valhelsia_structures:birch_beam? +- valhelsia_structures:spruce_beam? +- valhelsia_structures:acacia_beam? +- valhelsia_structures:dark_beam? +- valhelsia_structures:jungle_beam? +- valhelsia_structures:warped_beam? +- valhelsia_structures:crimson_beam? + +#forge:glass_panes/cyan +- tconstruct:cyan_clear_stained_glass_pane +- minecraft:cyan_stained_glass_pane + +#biomesoplenty:magic_logs +- biomesoplenty:magic_log +- biomesoplenty:magic_wood +- biomesoplenty:stripped_magic_log +- biomesoplenty:stripped_magic_wood + +#tconstruct:slimy_leaves +- tconstruct:earth_slime_leaves +- tconstruct:sky_slime_leaves +- tconstruct:ender_slime_leaves + +#forge:glass_panes/light_gray +- tconstruct:light_gray_clear_stained_glass_pane +- minecraft:light_gray_stained_glass_pane + +#minecraft:wool +- minecraft:white_wool +- minecraft:orange_wool +- minecraft:magenta_wool +- minecraft:light_blue_wool +- minecraft:yellow_wool +- minecraft:lime_wool +- minecraft:pink_wool +- minecraft:gray_wool +- minecraft:light_gray_wool +- minecraft:cyan_wool +- minecraft:purple_wool +- minecraft:blue_wool +- minecraft:brown_wool +- minecraft:green_wool +- minecraft:red_wool +- minecraft:black_wool + +#forge:storage_blocks/nickel +- thermal:nickel_block + +#forge:glass/colorless +- tconstruct:clear_glass +- create:tiled_glass +- create:framed_glass +- create:horizontal_framed_glass +- create:vertical_framed_glass +- minecraft:glass + +#survivalist:rock_sources/copper +- #forge:ores/copper? + +#forge:ores/niter +- thermal:niter_ore + +#tconstruct:harvestable/stackable +- minecraft:sugar_cane +- minecraft:kelp_plant + +#forge:glass_panes/light_blue +- tconstruct:light_blue_clear_stained_glass_pane +- minecraft:light_blue_stained_glass_pane + +#minecraft:beehives +- minecraft:bee_nest +- minecraft:beehive + +#tconstruct:slimy_nylium +- #tconstruct:slimy_nylium/ichor +- #tconstruct:slimy_nylium/blood + +#minecraft:ice +- minecraft:ice +- minecraft:packed_ice +- minecraft:blue_ice +- minecraft:frosted_ice + +#forge:ores/zinc +- create:zinc_ore + +#forge:ores/netherite_scrap +- minecraft:ancient_debris + +#minecraft:dragon_immune +- minecraft:barrier +- minecraft:bedrock +- minecraft:end_portal +- minecraft:end_portal_frame +- minecraft:end_gateway +- minecraft:command_block +- minecraft:repeating_command_block +- minecraft:chain_command_block +- minecraft:structure_block +- minecraft:jigsaw +- minecraft:moving_piston +- minecraft:obsidian +- minecraft:crying_obsidian +- minecraft:end_stone +- minecraft:iron_bars +- minecraft:respawn_anchor +- tconstruct:obsidian_pane +- supplementaries:piston_launcher_arm +- supplementaries:safe + +#minecraft:crops +- minecraft:beetroots +- minecraft:carrots +- minecraft:potatoes +- minecraft:wheat +- minecraft:melon_stem +- minecraft:pumpkin_stem +- farmersdelight:cabbages +- farmersdelight:onions +- farmersdelight:rice_upper_crop +- farmersdelight:tall_rice_crop +- farmersdelight:tomatoes +- supplementaries:flax + +#farmersdelight:heat_sources +- minecraft:magma_block +- farmersdelight:stove +- #farmersdelight:tray_heat_sources + +#forge:fiber/flax +- supplementaries:flax + +#forge:stained_glass +- tconstruct:white_clear_stained_glass +- tconstruct:orange_clear_stained_glass +- tconstruct:magenta_clear_stained_glass +- tconstruct:light_blue_clear_stained_glass +- tconstruct:yellow_clear_stained_glass +- tconstruct:lime_clear_stained_glass +- tconstruct:pink_clear_stained_glass +- tconstruct:gray_clear_stained_glass +- tconstruct:light_gray_clear_stained_glass +- tconstruct:cyan_clear_stained_glass +- tconstruct:purple_clear_stained_glass +- tconstruct:blue_clear_stained_glass +- tconstruct:brown_clear_stained_glass +- tconstruct:green_clear_stained_glass +- tconstruct:red_clear_stained_glass +- tconstruct:black_clear_stained_glass +- minecraft:white_stained_glass +- minecraft:orange_stained_glass +- minecraft:magenta_stained_glass +- minecraft:light_blue_stained_glass +- minecraft:yellow_stained_glass +- minecraft:lime_stained_glass +- minecraft:pink_stained_glass +- minecraft:gray_stained_glass +- minecraft:light_gray_stained_glass +- minecraft:cyan_stained_glass +- minecraft:purple_stained_glass +- minecraft:blue_stained_glass +- minecraft:brown_stained_glass +- minecraft:green_stained_glass +- minecraft:red_stained_glass +- minecraft:black_stained_glass + +#forge:glass/pink +- tconstruct:pink_clear_stained_glass +- minecraft:pink_stained_glass + +#forge:chests +- #forge:chests/ender +- #forge:chests/trapped +- #forge:chests/wooden + +#forge:storage_blocks/emerald +- minecraft:emerald_block + +#forge:ores/redstone +- minecraft:redstone_ore + +#tconstruct:harvestable +- minecraft:pumpkin +- minecraft:beehive +- minecraft:bee_nest +- #tconstruct:harvestable/crops +- #tconstruct:harvestable/interact +- #tconstruct:harvestable/stackable + +#tconstruct:foundry/floor +- #tconstruct:scorched_blocks +- tconstruct:scorched_drain +- tconstruct:scorched_chute +- tconstruct:scorched_duct + +#tconstruct:foundry/tanks +- #tconstruct:scorched_tanks + +#minecraft:warped_stems +- minecraft:warped_stem +- minecraft:stripped_warped_stem +- minecraft:warped_hyphae +- minecraft:stripped_warped_hyphae + +#forge:glass/red +- tconstruct:red_clear_stained_glass +- minecraft:red_stained_glass + +#forge:storage_blocks/coal_coke +- thermal:coal_coke_block + +#forge:storage_blocks/iron +- minecraft:iron_block + +#create:seats +- create:white_seat +- create:orange_seat +- create:magenta_seat +- create:light_blue_seat +- create:yellow_seat +- create:lime_seat +- create:pink_seat +- create:gray_seat +- create:light_gray_seat +- create:cyan_seat +- create:purple_seat +- create:blue_seat +- create:brown_seat +- create:green_seat +- create:red_seat +- create:black_seat + +#tconstruct:smeltery/tanks +- #tconstruct:seared_tanks + +#forge:glass_panes/brown +- tconstruct:brown_clear_stained_glass_pane +- minecraft:brown_stained_glass_pane + +#forge:glass_panes/green +- tconstruct:green_clear_stained_glass_pane +- minecraft:green_stained_glass_pane + +#create:wrench_pickup +- #minecraft:rails +- #minecraft:buttons +- #minecraft:pressure_plates +- minecraft:redstone_wire +- minecraft:redstone_torch +- minecraft:repeater +- minecraft:lever +- minecraft:comparator +- minecraft:observer +- minecraft:redstone_wall_torch +- minecraft:piston +- minecraft:sticky_piston +- minecraft:tripwire +- minecraft:tripwire_hook +- minecraft:daylight_detector +- minecraft:target + +#forge:ores/sapphire +- thermal:sapphire_ore + +#supplementaries:enchantment_bypass +- #minecraft:carpets + +#minecraft:prevent_mob_spawning_inside +- #minecraft:rails + +#minecraft:climbable +- minecraft:ladder +- minecraft:vine +- minecraft:scaffolding +- minecraft:weeping_vines +- minecraft:weeping_vines_plant +- minecraft:twisting_vines +- minecraft:twisting_vines_plant +- tconstruct:seared_ladder +- tconstruct:scorched_ladder +- biomesoplenty:willow_vine +- supplementaries:rope + +#forge:fiber +- supplementaries:flax + +#forge:chests/trapped +- minecraft:trapped_chest + +#forge:fence_gates +- #forge:fence_gates/wooden + +#minecraft:dark_oak_logs +- minecraft:dark_oak_log +- minecraft:dark_oak_wood +- minecraft:stripped_dark_oak_log +- minecraft:stripped_dark_oak_wood + +#farmersdelight:compost_activators +- minecraft:brown_mushroom +- minecraft:red_mushroom +- minecraft:podzol +- minecraft:mycelium +- farmersdelight:organic_compost +- farmersdelight:rich_soil +- farmersdelight:rich_soil_farmland +- farmersdelight:brown_mushroom_colony +- farmersdelight:red_mushroom_colony + +#farmersdelight:tray_heat_sources +- minecraft:lava +- #minecraft:campfires +- #minecraft:fire + +#tconstruct:scorched_blocks +- tconstruct:scorched_stone +- tconstruct:polished_scorched_stone +- tconstruct:scorched_bricks +- tconstruct:scorched_road +- tconstruct:chiseled_scorched_bricks + +#forge:glass_panes +- create:tiled_glass_pane +- create:framed_glass_pane +- create:horizontal_framed_glass_pane +- create:vertical_framed_glass_pane +- create:oak_window_pane +- create:spruce_window_pane +- create:birch_window_pane +- create:jungle_window_pane +- create:acacia_window_pane +- create:dark_oak_window_pane +- create:crimson_window_pane +- create:warped_window_pane +- create:ornate_iron_window_pane +- #forge:glass_panes/colorless +- #forge:stained_glass_panes + +#minecraft:coral_plants +- minecraft:tube_coral +- minecraft:brain_coral +- minecraft:bubble_coral +- minecraft:fire_coral +- minecraft:horn_coral + +#forge:storage_blocks/lumium +- thermal:lumium_block + +#minecraft:non_flammable_wood +- minecraft:warped_stem +- minecraft:stripped_warped_stem +- minecraft:warped_hyphae +- minecraft:stripped_warped_hyphae +- minecraft:crimson_stem +- minecraft:stripped_crimson_stem +- minecraft:crimson_hyphae +- minecraft:stripped_crimson_hyphae +- minecraft:crimson_planks +- minecraft:warped_planks +- minecraft:crimson_slab +- minecraft:warped_slab +- minecraft:crimson_pressure_plate +- minecraft:warped_pressure_plate +- minecraft:crimson_fence +- minecraft:warped_fence +- minecraft:crimson_trapdoor +- minecraft:warped_trapdoor +- minecraft:crimson_fence_gate +- minecraft:warped_fence_gate +- minecraft:crimson_stairs +- minecraft:warped_stairs +- minecraft:crimson_button +- minecraft:warped_button +- minecraft:crimson_door +- minecraft:warped_door +- minecraft:crimson_sign +- minecraft:warped_sign +- minecraft:crimson_wall_sign +- minecraft:warped_wall_sign +- tconstruct:bloodshroom_planks +- tconstruct:bloodshroom_planks_slab +- tconstruct:bloodshroom_planks_stairs +- tconstruct:bloodshroom_fence +- tconstruct:bloodshroom_fence_gate +- tconstruct:bloodshroom_door +- tconstruct:bloodshroom_trapdoor +- tconstruct:bloodshroom_pressure_plate +- tconstruct:bloodshroom_button +- #tconstruct:bloodshroom_logs +- biomesoplenty:hellbark_log +- biomesoplenty:hellbark_wood +- biomesoplenty:stripped_hellbark_log +- biomesoplenty:stripped_hellbark_wood +- biomesoplenty:hellbark_planks +- biomesoplenty:hellbark_slab +- biomesoplenty:hellbark_pressure_plate +- biomesoplenty:hellbark_fence +- biomesoplenty:hellbark_trapdoor +- biomesoplenty:hellbark_fence_gate +- biomesoplenty:hellbark_stairs +- biomesoplenty:hellbark_button +- biomesoplenty:hellbark_door +- supplementaries:hanging_sign_warped +- supplementaries:hanging_sign_crimson + +#forge:sandstone +- biomesoplenty:black_sandstone +- biomesoplenty:cut_black_sandstone +- biomesoplenty:chiseled_black_sandstone +- biomesoplenty:smooth_black_sandstone +- biomesoplenty:orange_sandstone +- biomesoplenty:cut_orange_sandstone +- biomesoplenty:chiseled_orange_sandstone +- biomesoplenty:smooth_orange_sandstone +- biomesoplenty:white_sandstone +- biomesoplenty:cut_white_sandstone +- biomesoplenty:chiseled_white_sandstone +- biomesoplenty:smooth_white_sandstone +- minecraft:sandstone +- minecraft:cut_sandstone +- minecraft:chiseled_sandstone +- minecraft:smooth_sandstone +- minecraft:red_sandstone +- minecraft:cut_red_sandstone +- minecraft:chiseled_red_sandstone +- minecraft:smooth_red_sandstone + +#ceramics:cistern_connections +- tconstruct:seared_faucet +- tconstruct:scorched_faucet + +#forge:storage_blocks/copper +- tconstruct:copper_block +- create:copper_block +- thermal:copper_block + +#forge:glass_panes/colorless +- tconstruct:clear_glass_pane +- minecraft:glass_pane + +#survivalist:rock_sources/lead +- #forge:ores/lead? + +#forge:storage_blocks/cinnabar +- thermal:cinnabar_block + +#tconstruct:seared_blocks +- tconstruct:seared_stone +- tconstruct:seared_cracked_bricks +- tconstruct:seared_cobble +- tconstruct:seared_paver +- #tconstruct:seared_bricks + +#forge:storage_blocks/bronze +- thermal:bronze_block + +#tconstruct:slimy_soil/earth +- tconstruct:earth_earth_slime_grass +- tconstruct:sky_earth_slime_grass +- tconstruct:ichor_earth_slime_grass +- tconstruct:ender_earth_slime_grass +- tconstruct:blood_earth_slime_grass +- tconstruct:earth_slime_dirt + +#forge:storage_blocks/soulsteel +- tconstruct:soulsteel_block + +#create:safe_nbt +- create:creative_motor +- create:creative_fluid_tank +- create:mechanical_piston +- create:sticky_mechanical_piston +- create:windmill_bearing +- create:mechanical_bearing +- create:clockwork_bearing +- create:rope_pulley +- create:cart_assembler +- create:linear_chassis +- create:secondary_linear_chassis +- create:radial_chassis +- create:sequenced_gearshift +- create:rotation_speed_controller +- create:andesite_funnel +- create:andesite_belt_funnel +- create:brass_funnel +- create:brass_belt_funnel +- create:creative_crate +- create:redstone_link +- create:analog_lever +- create:adjustable_repeater +- create:adjustable_pulse_repeater +- #minecraft:signs + +#supplementaries:pane_connection +- supplementaries:iron_gate +- supplementaries:gold_gate + +#minecraft:fences +- #minecraft:wooden_fences +- minecraft:nether_brick_fence +- tconstruct:scorched_bricks_fence +- tconstruct:nahuatl_fence + +#minecraft:saplings +- minecraft:oak_sapling +- minecraft:spruce_sapling +- minecraft:birch_sapling +- minecraft:jungle_sapling +- minecraft:acacia_sapling +- minecraft:dark_oak_sapling +- #tconstruct:slimy_saplings +- biomesoplenty:origin_sapling +- biomesoplenty:flowering_oak_sapling +- biomesoplenty:rainbow_birch_sapling +- biomesoplenty:yellow_autumn_sapling +- biomesoplenty:orange_autumn_sapling +- biomesoplenty:maple_sapling +- biomesoplenty:fir_sapling +- biomesoplenty:redwood_sapling +- biomesoplenty:white_cherry_sapling +- biomesoplenty:pink_cherry_sapling +- biomesoplenty:mahogany_sapling +- biomesoplenty:jacaranda_sapling +- biomesoplenty:palm_sapling +- biomesoplenty:willow_sapling +- biomesoplenty:dead_sapling +- biomesoplenty:magic_sapling +- biomesoplenty:umbran_sapling +- biomesoplenty:hellbark_sapling + +#forge:storage_blocks/tin +- thermal:tin_block + +#forge:storage_blocks/lapis +- minecraft:lapis_block + +#forge:ores/copper +- tconstruct:copper_ore +- create:copper_ore +- thermal:copper_ore + +#minecraft:beds +- minecraft:red_bed +- minecraft:black_bed +- minecraft:blue_bed +- minecraft:brown_bed +- minecraft:cyan_bed +- minecraft:gray_bed +- minecraft:green_bed +- minecraft:light_blue_bed +- minecraft:light_gray_bed +- minecraft:lime_bed +- minecraft:magenta_bed +- minecraft:orange_bed +- minecraft:pink_bed +- minecraft:purple_bed +- minecraft:white_bed +- minecraft:yellow_bed + +#tconstruct:seared_bricks +- tconstruct:seared_bricks +- tconstruct:seared_fancy_bricks +- tconstruct:seared_triangle_bricks + +#minecraft:unstable_bottom_center +- #minecraft:fence_gates + +#forge:ores/diamond +- minecraft:diamond_ore + +#forge:ores/lead +- thermal:lead_ore + +#minecraft:doors +- #minecraft:wooden_doors +- minecraft:iron_door +- supplementaries:gold_door +- supplementaries:netherite_door + +#minecraft:enderman_holdable +- #minecraft:small_flowers +- minecraft:grass_block +- minecraft:dirt +- minecraft:coarse_dirt +- minecraft:podzol +- minecraft:sand +- minecraft:red_sand +- minecraft:gravel +- minecraft:brown_mushroom +- minecraft:red_mushroom +- minecraft:tnt +- minecraft:cactus +- minecraft:clay +- minecraft:pumpkin +- minecraft:carved_pumpkin +- minecraft:melon +- minecraft:mycelium +- minecraft:crimson_fungus +- minecraft:crimson_nylium +- minecraft:crimson_roots +- minecraft:warped_fungus +- minecraft:warped_nylium +- minecraft:warped_roots +- #tconstruct:congealed_slime +- tconstruct:grout +- tconstruct:ichor_slime_sapling +- tconstruct:blood_slime_sapling +- #tconstruct:slimy_soil +- biomesoplenty:black_sand +- biomesoplenty:orange_sand +- biomesoplenty:white_sand +- biomesoplenty:toadstool +- biomesoplenty:glowshroom +- biomesoplenty:origin_grass_block + +#minecraft:banners +- minecraft:white_banner +- minecraft:orange_banner +- minecraft:magenta_banner +- minecraft:light_blue_banner +- minecraft:yellow_banner +- minecraft:lime_banner +- minecraft:pink_banner +- minecraft:gray_banner +- minecraft:light_gray_banner +- minecraft:cyan_banner +- minecraft:purple_banner +- minecraft:blue_banner +- minecraft:brown_banner +- minecraft:green_banner +- minecraft:red_banner +- minecraft:black_banner +- minecraft:white_wall_banner +- minecraft:orange_wall_banner +- minecraft:magenta_wall_banner +- minecraft:light_blue_wall_banner +- minecraft:yellow_wall_banner +- minecraft:lime_wall_banner +- minecraft:pink_wall_banner +- minecraft:gray_wall_banner +- minecraft:light_gray_wall_banner +- minecraft:cyan_wall_banner +- minecraft:purple_wall_banner +- minecraft:blue_wall_banner +- minecraft:brown_wall_banner +- minecraft:green_wall_banner +- minecraft:red_wall_banner +- minecraft:black_wall_banner + +#tconstruct:slimy_soil/vanilla +- tconstruct:earth_vanilla_slime_grass +- tconstruct:sky_vanilla_slime_grass +- tconstruct:ichor_vanilla_slime_grass +- tconstruct:ender_vanilla_slime_grass +- tconstruct:blood_vanilla_slime_grass + +#forge:storage_blocks/electrum +- thermal:electrum_block + +#minecraft:infiniburn_overworld +- minecraft:netherrack +- minecraft:magma_block + +#minecraft:flower_pots +- minecraft:flower_pot +- minecraft:potted_poppy +- minecraft:potted_blue_orchid +- minecraft:potted_allium +- minecraft:potted_azure_bluet +- minecraft:potted_red_tulip +- minecraft:potted_orange_tulip +- minecraft:potted_white_tulip +- minecraft:potted_pink_tulip +- minecraft:potted_oxeye_daisy +- minecraft:potted_dandelion +- minecraft:potted_oak_sapling +- minecraft:potted_spruce_sapling +- minecraft:potted_birch_sapling +- minecraft:potted_jungle_sapling +- minecraft:potted_acacia_sapling +- minecraft:potted_dark_oak_sapling +- minecraft:potted_red_mushroom +- minecraft:potted_brown_mushroom +- minecraft:potted_dead_bush +- minecraft:potted_fern +- minecraft:potted_cactus +- minecraft:potted_cornflower +- minecraft:potted_lily_of_the_valley +- minecraft:potted_wither_rose +- minecraft:potted_bamboo +- minecraft:potted_crimson_fungus +- minecraft:potted_warped_fungus +- minecraft:potted_crimson_roots +- minecraft:potted_warped_roots +- biomesoplenty:potted_origin_sapling +- biomesoplenty:potted_flowering_oak_sapling +- biomesoplenty:potted_rainbow_birch_sapling +- biomesoplenty:potted_yellow_autumn_sapling +- biomesoplenty:potted_orange_autumn_sapling +- biomesoplenty:potted_maple_sapling +- biomesoplenty:potted_fir_sapling +- biomesoplenty:potted_redwood_sapling +- biomesoplenty:potted_white_cherry_sapling +- biomesoplenty:potted_pink_cherry_sapling +- biomesoplenty:potted_mahogany_sapling +- biomesoplenty:potted_jacaranda_sapling +- biomesoplenty:potted_palm_sapling +- biomesoplenty:potted_willow_sapling +- biomesoplenty:potted_dead_sapling +- biomesoplenty:potted_magic_sapling +- biomesoplenty:potted_umbran_sapling +- biomesoplenty:potted_hellbark_sapling +- biomesoplenty:potted_rose +- biomesoplenty:potted_violet +- biomesoplenty:potted_lavender +- biomesoplenty:potted_wildflower +- biomesoplenty:potted_orange_cosmos +- biomesoplenty:potted_pink_daffodil +- biomesoplenty:potted_pink_hibiscus +- biomesoplenty:potted_glowflower +- biomesoplenty:potted_wilted_lily +- biomesoplenty:potted_burning_blossom +- biomesoplenty:potted_sprout +- biomesoplenty:potted_clover +- biomesoplenty:potted_toadstool +- biomesoplenty:potted_glowshroom + +#minecraft:wooden_fences +- minecraft:oak_fence +- minecraft:acacia_fence +- minecraft:dark_oak_fence +- minecraft:spruce_fence +- minecraft:birch_fence +- minecraft:jungle_fence +- minecraft:crimson_fence +- minecraft:warped_fence +- tconstruct:greenheart_fence +- tconstruct:skyroot_fence +- tconstruct:bloodshroom_fence +- biomesoplenty:fir_fence +- biomesoplenty:redwood_fence +- biomesoplenty:cherry_fence +- biomesoplenty:mahogany_fence +- biomesoplenty:jacaranda_fence +- biomesoplenty:palm_fence +- biomesoplenty:willow_fence +- biomesoplenty:dead_fence +- biomesoplenty:magic_fence +- biomesoplenty:umbran_fence +- biomesoplenty:hellbark_fence + +#forge:storage_blocks/knightslime +- tconstruct:knightslime_block + +#minecraft:wall_post_override +- minecraft:torch +- minecraft:soul_torch +- minecraft:redstone_torch +- minecraft:tripwire +- #minecraft:signs +- #minecraft:banners +- #minecraft:pressure_plates +- supplementaries:sconce +- supplementaries:sconce_soul +- supplementaries:sconce_ender +- supplementaries:sconce_green +- supplementaries:crank + +#forge:storage_blocks/sugar_cane +- thermal:sugar_cane_block + +#forge:storage_blocks/signalum +- thermal:signalum_block + +#forge:storage_blocks/invar +- thermal:invar_block + +#tconstruct:anvil_metal +- #forge:storage_blocks/slimesteel +- #forge:storage_blocks/silicon_bronze +- #forge:storage_blocks/rose_gold +- #forge:storage_blocks/pig_iron +- #forge:storage_blocks/queens_slime +- #forge:storage_blocks/manyullyn +- #forge:storage_blocks/hepatizon +- #forge:storage_blocks/netherite +- #forge:storage_blocks/bronze? +- #forge:storage_blocks/brass? +- #forge:storage_blocks/electrum? +- #forge:storage_blocks/invar? +- #forge:storage_blocks/constantan? +- #forge:storage_blocks/pewter? +- #forge:storage_blocks/steel? + +#supplementaries:posts +- #minecraft:fences +- #quark:hedges? +- #adorn:posts? +- quark:oak_post? +- quark:birch_post? +- quark:spruce_post? +- quark:acacia_post? +- quark:dark_oak_post? +- quark:jungle_post? +- quark:warped_post? +- quark:crimson_post? +- quark:stripped_oak_post? +- quark:stripped_birch_post? +- quark:stripped_spruce_post? +- quark:stripped_acacia_post? +- quark:stripped_dark_oak_post? +- quark:stripped_jungle_post? +- quark:stripped_warped_post? +- quark:stripped_crimson_post? +- car:sign_post? +- mysticalworld:thatch_small_post? +- mysticalworld:red_mushroom_small_post? +- mysticalworld:brown_mushroom_small_post? +- mysticalworld:mushroom_stem_small_post? +- mysticalworld:mushroom_inside_small_post? +- mysticalworld:mud_block_small_post? +- mysticalworld:mud_brick_small_post? +- mysticalworld:charred_small_post? +- mysticalworld:terracotta_brick_small_post? +- mysticalworld:iron_brick_small_post? +- mysticalworld:soft_stone_small_post? +- mysticalworld:cracked_stone_small_post? +- mysticalworld:blackened_stone_small_post? +- mysticalworld:soft_obsidian_small_post? +- mysticalworld:amethyst_small_post? +- mysticalworld:copper_small_post? +- mysticalworld:lead_small_post? +- mysticalworld:quicksilver_small_post? +- mysticalworld:silver_small_post? +- mysticalworld:tin_small_post? +- environmental:stripped_willow_post? +- environmental:willow_post? +- environmental:stripped_cherry_post? +- environmental:cherry_post? +- environmental:stripped_wisteria_post? +- environmental:wisteria_post? + +#forge:obsidian +- minecraft:obsidian + +#tconstruct:slimy_nylium/ichor +- tconstruct:ichor_earth_slime_grass +- tconstruct:ichor_sky_slime_grass +- tconstruct:ichor_ichor_slime_grass +- tconstruct:ichor_ender_slime_grass +- tconstruct:ichor_vanilla_slime_grass + +#forge:enderman_place_on_blacklist + +#biomesoplenty:mahogany_logs +- biomesoplenty:mahogany_log +- biomesoplenty:mahogany_wood +- biomesoplenty:stripped_mahogany_log +- biomesoplenty:stripped_mahogany_wood + +#forge:ores/tin +- thermal:tin_ore + +#forge:glass/white +- tconstruct:white_clear_stained_glass +- minecraft:white_stained_glass + +#minecraft:signs +- #minecraft:standing_signs +- #minecraft:wall_signs + +#forge:glass_panes/red +- tconstruct:red_clear_stained_glass_pane +- minecraft:red_stained_glass_pane + +#biomesoplenty:willow_logs +- biomesoplenty:willow_log +- biomesoplenty:willow_wood +- biomesoplenty:stripped_willow_log +- biomesoplenty:stripped_willow_wood + +#minecraft:wither_summon_base_blocks +- minecraft:soul_sand +- minecraft:soul_soil + +#supplementaries:pouring_tank +- tconstruct:channel? +- tconstruct:casting_basin? +- tconstrust:casting_table? + +#forge:glass/magenta +- tconstruct:magenta_clear_stained_glass +- minecraft:magenta_stained_glass + +#forge:ores/coal +- minecraft:coal_ore + +#minecraft:hoglin_repellents +- minecraft:warped_fungus +- minecraft:potted_warped_fungus +- minecraft:nether_portal +- minecraft:respawn_anchor + +#forge:storage_blocks/constantan +- thermal:constantan_block + +#minecraft:fire +- minecraft:fire +- minecraft:soul_fire + +#minecraft:base_stone_nether +- minecraft:netherrack +- minecraft:basalt +- minecraft:blackstone + +#minecraft:wall_signs +- minecraft:oak_wall_sign +- minecraft:spruce_wall_sign +- minecraft:birch_wall_sign +- minecraft:acacia_wall_sign +- minecraft:jungle_wall_sign +- minecraft:dark_oak_wall_sign +- minecraft:crimson_wall_sign +- minecraft:warped_wall_sign +- tconstruct:greenheart_wall_sign +- tconstruct:skyroot_wall_sign +- tconstruct:bloodshroom_wall_sign + +#tconstruct:seared_tanks +- tconstruct:seared_fuel_tank +- tconstruct:seared_fuel_gauge +- tconstruct:seared_ingot_tank +- tconstruct:seared_ingot_gauge + +#quark:vertical_slabs +- supplementaries:checker_vertical_slab +- supplementaries:stone_tile_vertical_slab +- supplementaries:blackstone_tile_vertical_slab + +#create:fan_transparent +- create:blaze_burner +- create:lit_blaze_burner +- create:sail_frame +- #minecraft:fences +- minecraft:iron_bars +- minecraft:campfire +- minecraft:soul_campfire + +#forge:storage_blocks/sapphire +- thermal:sapphire_block + +#forge:sand/colorless +- minecraft:sand + +#minecraft:trapdoors +- #minecraft:wooden_trapdoors +- minecraft:iron_trapdoor +- supplementaries:gold_trapdoor +- supplementaries:netherite_trapdoor + +#tconstruct:smeltery/floor +- #tconstruct:seared_blocks +- tconstruct:seared_drain +- tconstruct:seared_chute +- tconstruct:seared_duct + +#tconstruct:slimy_grass/sky +- tconstruct:sky_earth_slime_grass +- tconstruct:sky_sky_slime_grass +- tconstruct:sky_ichor_slime_grass +- tconstruct:sky_ender_slime_grass +- tconstruct:sky_vanilla_slime_grass + +#forge:glass/cyan +- tconstruct:cyan_clear_stained_glass +- minecraft:cyan_stained_glass + +#forge:glass +- #forge:glass/colorless +- #forge:stained_glass + +#forge:storage_blocks/gunpowder +- thermal:gunpowder_block + +#tconstruct:harvestable/crops +- #minecraft:crops +- #forge:crops? +- minecraft:nether_wart + +#minecraft:soul_speed_blocks +- minecraft:soul_sand +- minecraft:soul_soil +- tconstruct:soul_glass +- tconstruct:soul_glass_pane + +#forge:storage_blocks/charcoal +- thermal:charcoal_block + +#tconstruct:skyroot_logs +- tconstruct:skyroot_log +- tconstruct:stripped_skyroot_log +- tconstruct:skyroot_wood +- tconstruct:stripped_skyroot_wood + +#tconstruct:slimy_soil/sky +- tconstruct:earth_sky_slime_grass +- tconstruct:sky_sky_slime_grass +- tconstruct:ichor_sky_slime_grass +- tconstruct:ender_sky_slime_grass +- tconstruct:blood_sky_slime_grass +- tconstruct:sky_slime_dirt + +#minecraft:leaves +- minecraft:jungle_leaves +- minecraft:oak_leaves +- minecraft:spruce_leaves +- minecraft:dark_oak_leaves +- minecraft:acacia_leaves +- minecraft:birch_leaves +- #tconstruct:slimy_leaves +- biomesoplenty:origin_leaves +- biomesoplenty:flowering_oak_leaves +- biomesoplenty:rainbow_birch_leaves +- biomesoplenty:yellow_autumn_leaves +- biomesoplenty:orange_autumn_leaves +- biomesoplenty:maple_leaves +- biomesoplenty:fir_leaves +- biomesoplenty:redwood_leaves +- biomesoplenty:white_cherry_leaves +- biomesoplenty:pink_cherry_leaves +- biomesoplenty:mahogany_leaves +- biomesoplenty:jacaranda_leaves +- biomesoplenty:palm_leaves +- biomesoplenty:willow_leaves +- biomesoplenty:dead_leaves +- biomesoplenty:magic_leaves +- biomesoplenty:umbran_leaves +- biomesoplenty:hellbark_leaves + +#minecraft:walls +- minecraft:cobblestone_wall +- minecraft:mossy_cobblestone_wall +- minecraft:brick_wall +- minecraft:prismarine_wall +- minecraft:red_sandstone_wall +- minecraft:mossy_stone_brick_wall +- minecraft:granite_wall +- minecraft:stone_brick_wall +- minecraft:nether_brick_wall +- minecraft:andesite_wall +- minecraft:red_nether_brick_wall +- minecraft:sandstone_wall +- minecraft:end_stone_brick_wall +- minecraft:diorite_wall +- minecraft:blackstone_wall +- minecraft:polished_blackstone_brick_wall +- minecraft:polished_blackstone_wall +- tconstruct:seared_bricks_wall +- tconstruct:seared_cobble_wall +- biomesoplenty:black_sandstone_wall +- biomesoplenty:orange_sandstone_wall +- biomesoplenty:white_sandstone_wall +- biomesoplenty:mud_brick_wall +- create:granite_cobblestone_wall +- create:granite_bricks_wall +- create:fancy_granite_bricks_wall +- create:paved_granite_wall +- create:diorite_cobblestone_wall +- create:diorite_bricks_wall +- create:fancy_diorite_bricks_wall +- create:paved_diorite_wall +- create:andesite_cobblestone_wall +- create:andesite_bricks_wall +- create:fancy_andesite_bricks_wall +- create:paved_andesite_wall +- create:limestone_cobblestone_wall +- create:polished_limestone_wall +- create:limestone_bricks_wall +- create:fancy_limestone_bricks_wall +- create:paved_limestone_wall +- create:weathered_limestone_cobblestone_wall +- create:polished_weathered_limestone_wall +- create:weathered_limestone_bricks_wall +- create:fancy_weathered_limestone_bricks_wall +- create:paved_weathered_limestone_wall +- create:dolomite_cobblestone_wall +- create:polished_dolomite_wall +- create:dolomite_bricks_wall +- create:fancy_dolomite_bricks_wall +- create:paved_dolomite_wall +- create:gabbro_cobblestone_wall +- create:polished_gabbro_wall +- create:gabbro_bricks_wall +- create:fancy_gabbro_bricks_wall +- create:paved_gabbro_wall +- create:scoria_cobblestone_wall +- create:polished_scoria_wall +- create:scoria_bricks_wall +- create:fancy_scoria_bricks_wall +- create:paved_scoria_wall +- create:dark_scoria_cobblestone_wall +- create:polished_dark_scoria_wall +- create:dark_scoria_bricks_wall +- create:fancy_dark_scoria_bricks_wall +- create:paved_dark_scoria_wall + +#tconstruct:slimy_logs +- #tconstruct:greenheart_logs +- #tconstruct:skyroot_logs +- #tconstruct:bloodshroom_logs + +#minecraft:coral_blocks +- minecraft:tube_coral_block +- minecraft:brain_coral_block +- minecraft:bubble_coral_block +- minecraft:fire_coral_block +- minecraft:horn_coral_block + +#tconstruct:slimy_grass +- #tconstruct:slimy_grass/earth +- #tconstruct:slimy_grass/sky +- #tconstruct:slimy_grass/ender + +#forge:storage_blocks/rose_gold +- tconstruct:rose_gold_block + +#forge:storage_blocks/brass +- create:brass_block + +#forge:glass/green +- tconstruct:green_clear_stained_glass +- minecraft:green_stained_glass + +#forge:storage_blocks/lead +- thermal:lead_block + +#forge:glass_panes/gray +- tconstruct:gray_clear_stained_glass_pane +- minecraft:gray_stained_glass_pane + +#minecraft:wither_immune +- minecraft:barrier +- minecraft:bedrock +- minecraft:end_portal +- minecraft:end_portal_frame +- minecraft:end_gateway +- minecraft:command_block +- minecraft:repeating_command_block +- minecraft:chain_command_block +- minecraft:structure_block +- minecraft:jigsaw +- minecraft:moving_piston +- supplementaries:piston_launcher_arm +- supplementaries:safe + +#forge:ores/ruby +- thermal:ruby_ore + +#minecraft:acacia_logs +- minecraft:acacia_log +- minecraft:acacia_wood +- minecraft:stripped_acacia_log +- minecraft:stripped_acacia_wood + +#tconstruct:slimy_soil/ender +- tconstruct:earth_ender_slime_grass +- tconstruct:sky_ender_slime_grass +- tconstruct:ichor_ender_slime_grass +- tconstruct:ender_ender_slime_grass +- tconstruct:blood_ender_slime_grass +- tconstruct:ender_slime_dirt + +#forge:storage_blocks/silicon_bronze +- tconstruct:tinkers_bronze_block + +#tconstruct:slimy_tree_trunks +- #tconstruct:slimy_logs +- #tconstruct:congealed_slime + +#forge:stained_glass_panes +- tconstruct:white_clear_stained_glass_pane +- tconstruct:orange_clear_stained_glass_pane +- tconstruct:magenta_clear_stained_glass_pane +- tconstruct:light_blue_clear_stained_glass_pane +- tconstruct:yellow_clear_stained_glass_pane +- tconstruct:lime_clear_stained_glass_pane +- tconstruct:pink_clear_stained_glass_pane +- tconstruct:gray_clear_stained_glass_pane +- tconstruct:light_gray_clear_stained_glass_pane +- tconstruct:cyan_clear_stained_glass_pane +- tconstruct:purple_clear_stained_glass_pane +- tconstruct:blue_clear_stained_glass_pane +- tconstruct:brown_clear_stained_glass_pane +- tconstruct:green_clear_stained_glass_pane +- tconstruct:red_clear_stained_glass_pane +- tconstruct:black_clear_stained_glass_pane +- minecraft:white_stained_glass_pane +- minecraft:orange_stained_glass_pane +- minecraft:magenta_stained_glass_pane +- minecraft:light_blue_stained_glass_pane +- minecraft:yellow_stained_glass_pane +- minecraft:lime_stained_glass_pane +- minecraft:pink_stained_glass_pane +- minecraft:gray_stained_glass_pane +- minecraft:light_gray_stained_glass_pane +- minecraft:cyan_stained_glass_pane +- minecraft:purple_stained_glass_pane +- minecraft:blue_stained_glass_pane +- minecraft:brown_stained_glass_pane +- minecraft:green_stained_glass_pane +- minecraft:red_stained_glass_pane +- minecraft:black_stained_glass_pane + +#minecraft:underwater_bonemeals +- minecraft:seagrass +- #minecraft:corals +- #minecraft:wall_corals + +#forge:storage_blocks/queens_slime +- tconstruct:queens_slime_block + +#survivalist:rock_sources/tin +- #forge:ores/tin? + +#forge:storage_blocks/zinc +- create:zinc_block + +#forge:sand/red +- minecraft:red_sand + +#minecraft:impermeable +- minecraft:glass +- minecraft:white_stained_glass +- minecraft:orange_stained_glass +- minecraft:magenta_stained_glass +- minecraft:light_blue_stained_glass +- minecraft:yellow_stained_glass +- minecraft:lime_stained_glass +- minecraft:pink_stained_glass +- minecraft:gray_stained_glass +- minecraft:light_gray_stained_glass +- minecraft:cyan_stained_glass +- minecraft:purple_stained_glass +- minecraft:blue_stained_glass +- minecraft:brown_stained_glass +- minecraft:green_stained_glass +- minecraft:red_stained_glass +- minecraft:black_stained_glass +- tconstruct:clear_glass +- tconstruct:soul_glass +- tconstruct:seared_glass +- tconstruct:white_clear_stained_glass +- tconstruct:orange_clear_stained_glass +- tconstruct:magenta_clear_stained_glass +- tconstruct:light_blue_clear_stained_glass +- tconstruct:yellow_clear_stained_glass +- tconstruct:lime_clear_stained_glass +- tconstruct:pink_clear_stained_glass +- tconstruct:gray_clear_stained_glass +- tconstruct:light_gray_clear_stained_glass +- tconstruct:cyan_clear_stained_glass +- tconstruct:purple_clear_stained_glass +- tconstruct:blue_clear_stained_glass +- tconstruct:brown_clear_stained_glass +- tconstruct:green_clear_stained_glass +- tconstruct:red_clear_stained_glass +- tconstruct:black_clear_stained_glass +- create:tiled_glass +- create:framed_glass +- create:horizontal_framed_glass +- create:vertical_framed_glass +- create:oak_window +- create:spruce_window +- create:birch_window +- create:jungle_window +- create:acacia_window +- create:dark_oak_window +- create:crimson_window +- create:warped_window +- create:ornate_iron_window +- thermal:obsidian_glass +- thermal:signalum_glass +- thermal:lumium_glass +- thermal:enderium_glass + +#forge:workbenches +- minecraft:crafting_table +- tconstruct:crafting_station +- #forge:workbench? + +#minecraft:sand +- minecraft:sand +- minecraft:red_sand +- biomesoplenty:black_sand +- biomesoplenty:orange_sand +- biomesoplenty:white_sand + +#forge:end_stones +- minecraft:end_stone + +#forge:glass/brown +- tconstruct:brown_clear_stained_glass +- minecraft:brown_stained_glass + +#biomesoplenty:fir_logs +- biomesoplenty:fir_log +- biomesoplenty:fir_wood +- biomesoplenty:stripped_fir_log +- biomesoplenty:stripped_fir_wood + +#create:sails +- create:orange_sail +- create:magenta_sail +- create:light_blue_sail +- create:yellow_sail +- create:lime_sail +- create:pink_sail +- create:gray_sail +- create:light_gray_sail +- create:cyan_sail +- create:purple_sail +- create:blue_sail +- create:brown_sail +- create:green_sail +- create:red_sail +- create:black_sail + +#minecraft:logs_that_burn +- #minecraft:dark_oak_logs +- #minecraft:oak_logs +- #minecraft:acacia_logs +- #minecraft:birch_logs +- #minecraft:jungle_logs +- #minecraft:spruce_logs +- #tconstruct:greenheart_logs +- #tconstruct:skyroot_logs +- #biomesoplenty:fir_logs +- #biomesoplenty:redwood_logs +- #biomesoplenty:cherry_logs +- #biomesoplenty:mahogany_logs +- #biomesoplenty:jacaranda_logs +- #biomesoplenty:palm_logs +- #biomesoplenty:willow_logs +- #biomesoplenty:dead_logs +- #biomesoplenty:magic_logs +- #biomesoplenty:umbran_logs + +#forge:ores/sulfur +- thermal:sulfur_ore + +#forge:wg_stone +- create:limestone +- create:weathered_limestone +- create:gabbro +- create:dolomite +- create:natural_scoria + +#forge:fences/wooden +- tconstruct:greenheart_fence +- tconstruct:skyroot_fence +- tconstruct:bloodshroom_fence +- biomesoplenty:fir_fence +- biomesoplenty:redwood_fence +- biomesoplenty:cherry_fence +- biomesoplenty:mahogany_fence +- biomesoplenty:jacaranda_fence +- biomesoplenty:palm_fence +- biomesoplenty:willow_fence +- biomesoplenty:dead_fence +- biomesoplenty:magic_fence +- biomesoplenty:umbran_fence +- biomesoplenty:hellbark_fence +- minecraft:oak_fence +- minecraft:spruce_fence +- minecraft:birch_fence +- minecraft:jungle_fence +- minecraft:acacia_fence +- minecraft:dark_oak_fence +- minecraft:crimson_fence +- minecraft:warped_fence + +#sereneseasons:summer_crops +- farmersdelight:tomatoes +- farmersdelight:rice_crop +- farmersdelight:rice_upper_crop +- biomesoplenty:origin_sapling +- biomesoplenty:flowering_oak_sapling +- biomesoplenty:rainbow_birch_sapling +- biomesoplenty:yellow_autumn_sapling +- biomesoplenty:orange_autumn_sapling +- biomesoplenty:maple_sapling +- biomesoplenty:fir_sapling +- biomesoplenty:redwood_sapling +- biomesoplenty:white_cherry_sapling +- biomesoplenty:pink_cherry_sapling +- biomesoplenty:mahogany_sapling +- biomesoplenty:jacaranda_sapling +- biomesoplenty:palm_sapling +- biomesoplenty:willow_sapling +- biomesoplenty:dead_sapling +- biomesoplenty:magic_sapling +- biomesoplenty:umbran_sapling +- biomesoplenty:hellbark_sapling +- biomesoplenty:spanish_moss +- biomesoplenty:spanish_moss_plant +- biomesoplenty:clover +- biomesoplenty:toadstool +- biomesoplenty:glowshroom + +#supplementaries:vine_support +- #minecraft:campfires + +#forge:storage_blocks +- #forge:storage_blocks/copper +- #forge:storage_blocks/cobalt +- #forge:storage_blocks/slimesteel +- #forge:storage_blocks/silicon_bronze +- #forge:storage_blocks/rose_gold +- #forge:storage_blocks/pig_iron +- #forge:storage_blocks/queens_slime +- #forge:storage_blocks/manyullyn +- #forge:storage_blocks/hepatizon +- #forge:storage_blocks/soulsteel +- #forge:storage_blocks/knightslime +- create:copper_block +- create:zinc_block +- create:brass_block +- #forge:storage_blocks/coal +- #forge:storage_blocks/diamond +- #forge:storage_blocks/emerald +- #forge:storage_blocks/gold +- #forge:storage_blocks/iron +- #forge:storage_blocks/lapis +- #forge:storage_blocks/quartz +- #forge:storage_blocks/redstone +- #forge:storage_blocks/netherite +- #forge:storage_blocks/apatite +- #forge:storage_blocks/bamboo +- #forge:storage_blocks/bitumen +- #forge:storage_blocks/bronze +- #forge:storage_blocks/charcoal +- #forge:storage_blocks/cinnabar +- #forge:storage_blocks/coal_coke +- #forge:storage_blocks/constantan +- #forge:storage_blocks/copper +- #forge:storage_blocks/electrum +- #forge:storage_blocks/enderium +- #forge:storage_blocks/gunpowder +- #forge:storage_blocks/invar +- #forge:storage_blocks/lead +- #forge:storage_blocks/lumium +- #forge:storage_blocks/nickel +- #forge:storage_blocks/niter +- #forge:storage_blocks/ruby +- #forge:storage_blocks/sapphire +- #forge:storage_blocks/signalum +- #forge:storage_blocks/silver +- #forge:storage_blocks/slag +- #forge:storage_blocks/sugar_cane +- #forge:storage_blocks/sulfur +- #forge:storage_blocks/tar +- #forge:storage_blocks/tin +- supplementaries:flax_block +- supplementaries:magma_cream_block + +#forge:glass/gray +- tconstruct:gray_clear_stained_glass +- minecraft:gray_stained_glass + +#minecraft:campfires +- minecraft:campfire +- minecraft:soul_campfire + +#minecraft:infiniburn_nether +- #minecraft:infiniburn_overworld + +#tconstruct:fuel_tanks +- tconstruct:seared_heater +- #tconstruct:seared_tanks +- #tconstruct:scorched_tanks + +#tconstruct:slimy_soil +- #tconstruct:slimy_soil/earth +- #tconstruct:slimy_soil/sky +- #tconstruct:slimy_soil/ichor +- #tconstruct:slimy_soil/ender +- #tconstruct:slimy_soil/vanilla + +#forge:glass_panes/orange +- tconstruct:orange_clear_stained_glass_pane +- minecraft:orange_stained_glass_pane + +#forge:glass/light_gray +- tconstruct:light_gray_clear_stained_glass +- minecraft:light_gray_stained_glass + +#survivalist:rock_sources/aluminum +- #forge:ores/aluminum? + +#forge:ores/quartz +- minecraft:nether_quartz_ore + +#forge:ores/cobalt +- tconstruct:cobalt_ore + +#minecraft:wooden_slabs +- minecraft:oak_slab +- minecraft:spruce_slab +- minecraft:birch_slab +- minecraft:jungle_slab +- minecraft:acacia_slab +- minecraft:dark_oak_slab +- minecraft:crimson_slab +- minecraft:warped_slab +- tconstruct:greenheart_planks_slab +- tconstruct:skyroot_planks_slab +- tconstruct:bloodshroom_planks_slab +- biomesoplenty:fir_slab +- biomesoplenty:redwood_slab +- biomesoplenty:cherry_slab +- biomesoplenty:mahogany_slab +- biomesoplenty:jacaranda_slab +- biomesoplenty:palm_slab +- biomesoplenty:willow_slab +- biomesoplenty:dead_slab +- biomesoplenty:magic_slab +- biomesoplenty:umbran_slab +- biomesoplenty:hellbark_slab + +#forge:glass/blue +- tconstruct:blue_clear_stained_glass +- minecraft:blue_stained_glass + +#minecraft:small_flowers +- minecraft:dandelion +- minecraft:poppy +- minecraft:blue_orchid +- minecraft:allium +- minecraft:azure_bluet +- minecraft:red_tulip +- minecraft:orange_tulip +- minecraft:white_tulip +- minecraft:pink_tulip +- minecraft:oxeye_daisy +- minecraft:cornflower +- minecraft:lily_of_the_valley +- minecraft:wither_rose +- #farmersdelight:wild_crops +- biomesoplenty:rose +- biomesoplenty:violet +- biomesoplenty:lavender +- biomesoplenty:wildflower +- biomesoplenty:orange_cosmos +- biomesoplenty:pink_daffodil +- biomesoplenty:pink_hibiscus +- biomesoplenty:glowflower +- biomesoplenty:wilted_lily +- biomesoplenty:burning_blossom + +#minecraft:wooden_trapdoors +- minecraft:acacia_trapdoor +- minecraft:birch_trapdoor +- minecraft:dark_oak_trapdoor +- minecraft:jungle_trapdoor +- minecraft:oak_trapdoor +- minecraft:spruce_trapdoor +- minecraft:crimson_trapdoor +- minecraft:warped_trapdoor +- tconstruct:greenheart_trapdoor +- tconstruct:skyroot_trapdoor +- tconstruct:bloodshroom_trapdoor +- biomesoplenty:fir_trapdoor +- biomesoplenty:redwood_trapdoor +- biomesoplenty:cherry_trapdoor +- biomesoplenty:mahogany_trapdoor +- biomesoplenty:jacaranda_trapdoor +- biomesoplenty:palm_trapdoor +- biomesoplenty:willow_trapdoor +- biomesoplenty:dead_trapdoor +- biomesoplenty:magic_trapdoor +- biomesoplenty:umbran_trapdoor +- biomesoplenty:hellbark_trapdoor + +#create:valve_handles +- create:copper_valve_handle +- create:white_valve_handle +- create:orange_valve_handle +- create:magenta_valve_handle +- create:light_blue_valve_handle +- create:yellow_valve_handle +- create:lime_valve_handle +- create:pink_valve_handle +- create:gray_valve_handle +- create:light_gray_valve_handle +- create:cyan_valve_handle +- create:purple_valve_handle +- create:blue_valve_handle +- create:brown_valve_handle +- create:green_valve_handle +- create:red_valve_handle +- create:black_valve_handle + +#forge:storage_blocks/coal +- minecraft:coal_block + +#forge:glass_panes/black +- tconstruct:black_clear_stained_glass_pane +- minecraft:black_stained_glass_pane + +#forge:glass/light_blue +- tconstruct:light_blue_clear_stained_glass +- minecraft:light_blue_stained_glass + +#farmersdelight:wild_crops +- farmersdelight:wild_carrots +- farmersdelight:wild_potatoes +- farmersdelight:wild_beetroots +- farmersdelight:wild_cabbages +- farmersdelight:wild_tomatoes +- farmersdelight:wild_onions +- farmersdelight:wild_rice + +#forge:storage_blocks/redstone +- minecraft:redstone_block + +#supplementaries:rope_support +- supplementaries:rope +- supplementaries:cracked_bell +- minecraft:bell +- minecraft:grindstone +- create:peculiar_bell? +- create:haunted_bell? +- farmersdelight:rope? +- inspirations:rope? +- inspirations:vine? +- farmersdelight:rope? +- xercamod:rope? +- druidcraft:rope? + +#sereneseasons:winter_crops +- farmersdelight:cabbages +- biomesoplenty:origin_sapling +- biomesoplenty:flowering_oak_sapling +- biomesoplenty:rainbow_birch_sapling +- biomesoplenty:yellow_autumn_sapling +- biomesoplenty:orange_autumn_sapling +- biomesoplenty:maple_sapling +- biomesoplenty:fir_sapling +- biomesoplenty:redwood_sapling +- biomesoplenty:white_cherry_sapling +- biomesoplenty:pink_cherry_sapling +- biomesoplenty:mahogany_sapling +- biomesoplenty:jacaranda_sapling +- biomesoplenty:palm_sapling +- biomesoplenty:willow_sapling +- biomesoplenty:dead_sapling +- biomesoplenty:magic_sapling +- biomesoplenty:umbran_sapling +- biomesoplenty:hellbark_sapling +- biomesoplenty:toadstool +- biomesoplenty:glowshroom + +#survivalist:rock_sources/silver +- #forge:ores/silver? + +#minecraft:stairs +- #minecraft:wooden_stairs +- minecraft:cobblestone_stairs +- minecraft:sandstone_stairs +- minecraft:nether_brick_stairs +- minecraft:stone_brick_stairs +- minecraft:brick_stairs +- minecraft:purpur_stairs +- minecraft:quartz_stairs +- minecraft:red_sandstone_stairs +- minecraft:prismarine_brick_stairs +- minecraft:prismarine_stairs +- minecraft:dark_prismarine_stairs +- minecraft:polished_granite_stairs +- minecraft:smooth_red_sandstone_stairs +- minecraft:mossy_stone_brick_stairs +- minecraft:polished_diorite_stairs +- minecraft:mossy_cobblestone_stairs +- minecraft:end_stone_brick_stairs +- minecraft:stone_stairs +- minecraft:smooth_sandstone_stairs +- minecraft:smooth_quartz_stairs +- minecraft:granite_stairs +- minecraft:andesite_stairs +- minecraft:red_nether_brick_stairs +- minecraft:polished_andesite_stairs +- minecraft:diorite_stairs +- minecraft:blackstone_stairs +- minecraft:polished_blackstone_brick_stairs +- minecraft:polished_blackstone_stairs +- biomesoplenty:black_sandstone_stairs +- biomesoplenty:smooth_black_sandstone_stairs +- biomesoplenty:orange_sandstone_stairs +- biomesoplenty:smooth_orange_sandstone_stairs +- biomesoplenty:white_sandstone_stairs +- biomesoplenty:smooth_white_sandstone_stairs +- biomesoplenty:mud_brick_stairs +- biomesoplenty:fir_stairs +- biomesoplenty:redwood_stairs +- biomesoplenty:cherry_stairs +- biomesoplenty:mahogany_stairs +- biomesoplenty:jacaranda_stairs +- biomesoplenty:palm_stairs +- biomesoplenty:willow_stairs +- biomesoplenty:dead_stairs +- biomesoplenty:magic_stairs +- biomesoplenty:umbran_stairs +- biomesoplenty:hellbark_stairs +- create:granite_cobblestone_stairs +- create:granite_bricks_stairs +- create:fancy_granite_bricks_stairs +- create:paved_granite_stairs +- create:diorite_cobblestone_stairs +- create:diorite_bricks_stairs +- create:fancy_diorite_bricks_stairs +- create:paved_diorite_stairs +- create:andesite_cobblestone_stairs +- create:andesite_bricks_stairs +- create:fancy_andesite_bricks_stairs +- create:paved_andesite_stairs +- create:limestone_cobblestone_stairs +- create:polished_limestone_stairs +- create:limestone_bricks_stairs +- create:fancy_limestone_bricks_stairs +- create:paved_limestone_stairs +- create:weathered_limestone_cobblestone_stairs +- create:polished_weathered_limestone_stairs +- create:weathered_limestone_bricks_stairs +- create:fancy_weathered_limestone_bricks_stairs +- create:paved_weathered_limestone_stairs +- create:dolomite_cobblestone_stairs +- create:polished_dolomite_stairs +- create:dolomite_bricks_stairs +- create:fancy_dolomite_bricks_stairs +- create:paved_dolomite_stairs +- create:gabbro_cobblestone_stairs +- create:polished_gabbro_stairs +- create:gabbro_bricks_stairs +- create:fancy_gabbro_bricks_stairs +- create:paved_gabbro_stairs +- create:scoria_cobblestone_stairs +- create:polished_scoria_stairs +- create:scoria_bricks_stairs +- create:fancy_scoria_bricks_stairs +- create:paved_scoria_stairs +- create:dark_scoria_cobblestone_stairs +- create:polished_dark_scoria_stairs +- create:dark_scoria_bricks_stairs +- create:fancy_dark_scoria_bricks_stairs +- create:paved_dark_scoria_stairs + +#forge:glass_panes/blue +- tconstruct:blue_clear_stained_glass_pane +- minecraft:blue_stained_glass_pane + +#sereneseasons:unbreakable_infertile_crops +- farmersdelight:onions +- biomesoplenty:spanish_moss +- biomesoplenty:spanish_moss_plant +- biomesoplenty:toadstool +- biomesoplenty:glowshroom + +#tconstruct:slimy_nylium/blood +- tconstruct:blood_earth_slime_grass +- tconstruct:blood_sky_slime_grass +- tconstruct:blood_ichor_slime_grass +- tconstruct:blood_ender_slime_grass +- tconstruct:blood_vanilla_slime_grass + +#minecraft:logs +- #minecraft:logs_that_burn +- #minecraft:crimson_stems +- #minecraft:warped_stems +- #tconstruct:slimy_logs +- #biomesoplenty:fir_logs +- #biomesoplenty:redwood_logs +- #biomesoplenty:cherry_logs +- #biomesoplenty:mahogany_logs +- #biomesoplenty:jacaranda_logs +- #biomesoplenty:palm_logs +- #biomesoplenty:willow_logs +- #biomesoplenty:dead_logs +- #biomesoplenty:magic_logs +- #biomesoplenty:umbran_logs +- #biomesoplenty:hellbark_logs + +#tconstruct:bloodshroom_logs +- tconstruct:bloodshroom_log +- tconstruct:stripped_bloodshroom_log +- tconstruct:bloodshroom_wood +- tconstruct:stripped_bloodshroom_wood + +#forge:ores/cinnabar +- thermal:cinnabar_ore + +#tconstruct:tables +- tconstruct:crafting_station +- tconstruct:part_builder +- tconstruct:tinker_station + +#supplementaries:water_holder +- minecraft:composter +- farmersdelight:basket? + +#tconstruct:slimy_saplings +- tconstruct:earth_slime_sapling +- tconstruct:sky_slime_sapling +- tconstruct:ender_slime_sapling + +#forge:stone +- create:limestone +- create:polished_limestone +- create:weathered_limestone +- create:polished_weathered_limestone +- create:gabbro +- create:polished_gabbro +- create:dolomite +- create:polished_dolomite +- create:scoria +- create:polished_scoria +- create:dark_scoria +- create:polished_dark_scoria +- minecraft:andesite +- minecraft:diorite +- minecraft:granite +- minecraft:infested_stone +- minecraft:stone +- minecraft:polished_andesite +- minecraft:polished_diorite +- minecraft:polished_granite + +#minecraft:valid_spawn +- minecraft:grass_block +- minecraft:podzol +- biomesoplenty:origin_grass_block + +#minecraft:mushroom_grow_block +- minecraft:mycelium +- minecraft:podzol +- minecraft:crimson_nylium +- minecraft:warped_nylium +- farmersdelight:organic_compost +- farmersdelight:rich_soil +- supplementaries:planter +- supplementaries:planter_rich? + +#minecraft:wooden_doors +- minecraft:oak_door +- minecraft:spruce_door +- minecraft:birch_door +- minecraft:jungle_door +- minecraft:acacia_door +- minecraft:dark_oak_door +- minecraft:crimson_door +- minecraft:warped_door +- tconstruct:greenheart_door +- tconstruct:skyroot_door +- tconstruct:bloodshroom_door +- biomesoplenty:fir_door +- biomesoplenty:redwood_door +- biomesoplenty:cherry_door +- biomesoplenty:mahogany_door +- biomesoplenty:jacaranda_door +- biomesoplenty:palm_door +- biomesoplenty:willow_door +- biomesoplenty:dead_door +- biomesoplenty:magic_door +- biomesoplenty:umbran_door +- biomesoplenty:hellbark_door + +#minecraft:standing_signs +- minecraft:oak_sign +- minecraft:spruce_sign +- minecraft:birch_sign +- minecraft:acacia_sign +- minecraft:jungle_sign +- minecraft:dark_oak_sign +- minecraft:crimson_sign +- minecraft:warped_sign +- tconstruct:greenheart_sign +- tconstruct:skyroot_sign +- tconstruct:bloodshroom_sign + +#minecraft:infiniburn_end +- #minecraft:infiniburn_overworld +- minecraft:bedrock + +#forge:glass_panes/yellow +- tconstruct:yellow_clear_stained_glass_pane +- minecraft:yellow_stained_glass_pane + +#tconstruct:planklike +- #minecraft:planks +- tconstruct:lavawood +- tconstruct:blazewood +- tconstruct:nahuatl + +#sereneseasons:autumn_crops +- farmersdelight:cabbages +- farmersdelight:onions +- farmersdelight:rice_crop +- farmersdelight:rice_upper_crop +- biomesoplenty:origin_sapling +- biomesoplenty:flowering_oak_sapling +- biomesoplenty:rainbow_birch_sapling +- biomesoplenty:yellow_autumn_sapling +- biomesoplenty:orange_autumn_sapling +- biomesoplenty:maple_sapling +- biomesoplenty:fir_sapling +- biomesoplenty:redwood_sapling +- biomesoplenty:white_cherry_sapling +- biomesoplenty:pink_cherry_sapling +- biomesoplenty:mahogany_sapling +- biomesoplenty:jacaranda_sapling +- biomesoplenty:palm_sapling +- biomesoplenty:willow_sapling +- biomesoplenty:dead_sapling +- biomesoplenty:magic_sapling +- biomesoplenty:umbran_sapling +- biomesoplenty:hellbark_sapling +- biomesoplenty:toadstool +- biomesoplenty:glowshroom + +#forge:glass/purple +- tconstruct:purple_clear_stained_glass +- minecraft:purple_stained_glass + +#minecraft:crimson_stems +- minecraft:crimson_stem +- minecraft:stripped_crimson_stem +- minecraft:crimson_hyphae +- minecraft:stripped_crimson_hyphae + +#biomesoplenty:cherry_logs +- biomesoplenty:cherry_log +- biomesoplenty:cherry_wood +- biomesoplenty:stripped_cherry_log +- biomesoplenty:stripped_cherry_wood + +#minecraft:wart_blocks +- minecraft:nether_wart_block +- minecraft:warped_wart_block +- tconstruct:ichor_slime_leaves +- tconstruct:blood_slime_leaves + +#forge:storage_blocks/ruby +- thermal:ruby_block + +#tconstruct:tree_log +- #minecraft:logs + +#forge:storage_blocks/apatite +- thermal:apatite_block + +#tconstruct:slime_block +- minecraft:slime_block +- tconstruct:sky_slime +- tconstruct:ichor_slime +- tconstruct:ender_slime +- tconstruct:blood_slime + +#minecraft:beacon_base_blocks +- minecraft:netherite_block +- minecraft:emerald_block +- minecraft:diamond_block +- minecraft:gold_block +- minecraft:iron_block +- #forge:storage_blocks/copper +- #forge:storage_blocks/cobalt +- #forge:storage_blocks/slimesteel +- #forge:storage_blocks/silicon_bronze +- #forge:storage_blocks/rose_gold +- #forge:storage_blocks/pig_iron +- #forge:storage_blocks/queens_slime +- #forge:storage_blocks/manyullyn +- #forge:storage_blocks/hepatizon +- #forge:storage_blocks/soulsteel +- #forge:storage_blocks/knightslime +- tconstruct:silky_jewel_block +- create:copper_block +- create:zinc_block +- create:brass_block + +#tconstruct:scorched_tanks +- tconstruct:scorched_fuel_tank +- tconstruct:scorched_fuel_gauge +- tconstruct:scorched_ingot_tank +- tconstruct:scorched_ingot_gauge + +#minecraft:shulker_boxes +- minecraft:shulker_box +- minecraft:black_shulker_box +- minecraft:blue_shulker_box +- minecraft:brown_shulker_box +- minecraft:cyan_shulker_box +- minecraft:gray_shulker_box +- minecraft:green_shulker_box +- minecraft:light_blue_shulker_box +- minecraft:light_gray_shulker_box +- minecraft:lime_shulker_box +- minecraft:magenta_shulker_box +- minecraft:orange_shulker_box +- minecraft:pink_shulker_box +- minecraft:purple_shulker_box +- minecraft:red_shulker_box +- minecraft:white_shulker_box +- minecraft:yellow_shulker_box + +#minecraft:anvil +- minecraft:anvil +- minecraft:chipped_anvil +- minecraft:damaged_anvil + +#forge:ores/silver +- thermal:silver_ore + +#minecraft:birch_logs +- minecraft:birch_log +- minecraft:birch_wood +- minecraft:stripped_birch_log +- minecraft:stripped_birch_wood + +#forge:storage_blocks/enderium +- thermal:enderium_block + +#tconstruct:slimy_planks +- tconstruct:greenheart_planks +- tconstruct:skyroot_planks +- tconstruct:bloodshroom_planks + +#tconstruct:slimy_grass/ender +- tconstruct:ender_earth_slime_grass +- tconstruct:ender_sky_slime_grass +- tconstruct:ender_ichor_slime_grass +- tconstruct:ender_ender_slime_grass +- tconstruct:ender_vanilla_slime_grass + +#forge:sand +- biomesoplenty:black_sand +- biomesoplenty:orange_sand +- biomesoplenty:white_sand +- #forge:sand/colorless +- #forge:sand/red + +#minecraft:wall_corals +- minecraft:tube_coral_wall_fan +- minecraft:brain_coral_wall_fan +- minecraft:bubble_coral_wall_fan +- minecraft:fire_coral_wall_fan +- minecraft:horn_coral_wall_fan + +#create:fan_heaters +- farmersdelight:stove +- create:blaze_burner +- create:lit_blaze_burner +- minecraft:magma_block +- minecraft:campfire +- minecraft:lava +- minecraft:fire +- minecraft:soul_fire +- minecraft:soul_campfire + +#thermal:rockwool +- thermal:white_rockwool +- thermal:orange_rockwool +- thermal:magenta_rockwool +- thermal:light_blue_rockwool +- thermal:yellow_rockwool +- thermal:lime_rockwool +- thermal:pink_rockwool +- thermal:gray_rockwool +- thermal:light_gray_rockwool +- thermal:cyan_rockwool +- thermal:purple_rockwool +- thermal:blue_rockwool +- thermal:brown_rockwool +- thermal:green_rockwool +- thermal:red_rockwool +- thermal:black_rockwool + +#forge:storage_blocks/tar +- thermal:tar_block + +#forge:glass_panes/purple +- tconstruct:purple_clear_stained_glass_pane +- minecraft:purple_stained_glass_pane + +#tconstruct:slimy_soil/ichor +- tconstruct:earth_ichor_slime_grass +- tconstruct:sky_ichor_slime_grass +- tconstruct:ichor_ichor_slime_grass +- tconstruct:ender_ichor_slime_grass +- tconstruct:blood_ichor_slime_grass +- tconstruct:ichor_slime_dirt + +#forge:glass/yellow +- tconstruct:yellow_clear_stained_glass +- minecraft:yellow_stained_glass + +#forge:storage_blocks/silver +- thermal:silver_block + +#forge:ores/gold +- #minecraft:gold_ores + +#minecraft:oak_logs +- minecraft:oak_log +- minecraft:oak_wood +- minecraft:stripped_oak_log +- minecraft:stripped_oak_wood + +#forge:storage_blocks/hepatizon +- tconstruct:hepatizon_block + +#forge:barrels +- #forge:barrels/wooden + +#minecraft:piglin_repellents +- minecraft:soul_fire +- minecraft:soul_torch +- minecraft:soul_lantern +- minecraft:soul_wall_torch +- minecraft:soul_campfire +- supplementaries:sconce_soul +- supplementaries:sconce_wall_soul + +#forge:ores/lapis +- minecraft:lapis_ore + +#biomesoplenty:palm_logs +- biomesoplenty:palm_log +- biomesoplenty:palm_wood +- biomesoplenty:stripped_palm_log +- biomesoplenty:stripped_palm_wood + +#forge:glass/black +- tconstruct:black_clear_stained_glass +- minecraft:black_stained_glass + +#biomesoplenty:dead_logs +- biomesoplenty:dead_log +- biomesoplenty:dead_wood +- biomesoplenty:stripped_dead_log +- biomesoplenty:stripped_dead_wood + +#minecraft:portals +- minecraft:nether_portal +- minecraft:end_portal +- minecraft:end_gateway + +#forge:storage_blocks/slimesteel +- tconstruct:slimesteel_block + +#forge:dirt +- farmersdelight:rich_soil +- biomesoplenty:origin_grass_block +- minecraft:dirt +- minecraft:grass_block +- minecraft:coarse_dirt +- minecraft:podzol +- minecraft:mycelium +- supplementaries:fodder + +#minecraft:bamboo_plantable_on +- #minecraft:sand +- minecraft:bamboo +- minecraft:bamboo_sapling +- minecraft:gravel +- minecraft:dirt +- minecraft:grass_block +- minecraft:podzol +- minecraft:coarse_dirt +- minecraft:mycelium +- farmersdelight:rich_soil +- biomesoplenty:origin_grass_block +- supplementaries:fodder +- supplementaries:planter +- supplementaries:planter_rich? + +#forge:fences/nether_brick +- minecraft:nether_brick_fence + +#forge:glass/lime +- tconstruct:lime_clear_stained_glass +- minecraft:lime_stained_glass + +#forge:chests/wooden +- minecraft:chest +- minecraft:trapped_chest + +#forge:ores/iron +- minecraft:iron_ore + +#forge:storage_blocks/pig_iron +- tconstruct:pig_iron_block + +#minecraft:pressure_plates +- minecraft:light_weighted_pressure_plate +- minecraft:heavy_weighted_pressure_plate +- #minecraft:wooden_pressure_plates +- #minecraft:stone_pressure_plates + +#forge:ores/nickel +- thermal:nickel_ore + +#create:windowable + +#forge:storage_blocks/sulfur +- thermal:sulfur_block + +#minecraft:jungle_logs +- minecraft:jungle_log +- minecraft:jungle_wood +- minecraft:stripped_jungle_log +- minecraft:stripped_jungle_wood + +#forge:chests/ender +- minecraft:ender_chest + +#minecraft:wooden_stairs +- minecraft:oak_stairs +- minecraft:spruce_stairs +- minecraft:birch_stairs +- minecraft:jungle_stairs +- minecraft:acacia_stairs +- minecraft:dark_oak_stairs +- minecraft:crimson_stairs +- minecraft:warped_stairs +- tconstruct:greenheart_planks_stairs +- tconstruct:skyroot_planks_stairs +- tconstruct:bloodshroom_planks_stairs +- biomesoplenty:fir_stairs +- biomesoplenty:redwood_stairs +- biomesoplenty:cherry_stairs +- biomesoplenty:mahogany_stairs +- biomesoplenty:jacaranda_stairs +- biomesoplenty:palm_stairs +- biomesoplenty:willow_stairs +- biomesoplenty:dead_stairs +- biomesoplenty:magic_stairs +- biomesoplenty:umbran_stairs +- biomesoplenty:hellbark_stairs + +#minecraft:spruce_logs +- minecraft:spruce_log +- minecraft:spruce_wood +- minecraft:stripped_spruce_log +- minecraft:stripped_spruce_wood + +#thermal:glass/hardened +- thermal:obsidian_glass +- thermal:signalum_glass +- thermal:lumium_glass +- thermal:enderium_glass + +#minecraft:carpets +- minecraft:white_carpet +- minecraft:orange_carpet +- minecraft:magenta_carpet +- minecraft:light_blue_carpet +- minecraft:yellow_carpet +- minecraft:lime_carpet +- minecraft:pink_carpet +- minecraft:gray_carpet +- minecraft:light_gray_carpet +- minecraft:cyan_carpet +- minecraft:purple_carpet +- minecraft:blue_carpet +- minecraft:brown_carpet +- minecraft:green_carpet +- minecraft:red_carpet +- minecraft:black_carpet +- farmersdelight:full_tatami_mat +- farmersdelight:half_tatami_mat + +#minecraft:base_stone_overworld +- minecraft:stone +- minecraft:granite +- minecraft:diorite +- minecraft:andesite +- create:limestone +- create:weathered_limestone +- create:dolomite +- create:gabbro +- create:natural_scoria + +#minecraft:wooden_buttons +- minecraft:oak_button +- minecraft:spruce_button +- minecraft:birch_button +- minecraft:jungle_button +- minecraft:acacia_button +- minecraft:dark_oak_button +- minecraft:crimson_button +- minecraft:warped_button +- tconstruct:greenheart_button +- tconstruct:skyroot_button +- tconstruct:bloodshroom_button +- biomesoplenty:fir_button +- biomesoplenty:redwood_button +- biomesoplenty:cherry_button +- biomesoplenty:mahogany_button +- biomesoplenty:jacaranda_button +- biomesoplenty:palm_button +- biomesoplenty:willow_button +- biomesoplenty:dead_button +- biomesoplenty:magic_button +- biomesoplenty:umbran_button +- biomesoplenty:hellbark_button + +#biomesoplenty:umbran_logs +- biomesoplenty:umbran_log +- biomesoplenty:umbran_wood +- biomesoplenty:stripped_umbran_log +- biomesoplenty:stripped_umbran_wood + +#forge:fence_gates/wooden +- tconstruct:greenheart_fence_gate +- tconstruct:skyroot_fence_gate +- tconstruct:bloodshroom_fence_gate +- biomesoplenty:fir_fence_gate +- biomesoplenty:redwood_fence_gate +- biomesoplenty:cherry_fence_gate +- biomesoplenty:mahogany_fence_gate +- biomesoplenty:jacaranda_fence_gate +- biomesoplenty:palm_fence_gate +- biomesoplenty:willow_fence_gate +- biomesoplenty:dead_fence_gate +- biomesoplenty:magic_fence_gate +- biomesoplenty:umbran_fence_gate +- biomesoplenty:hellbark_fence_gate +- minecraft:oak_fence_gate +- minecraft:spruce_fence_gate +- minecraft:birch_fence_gate +- minecraft:jungle_fence_gate +- minecraft:acacia_fence_gate +- minecraft:dark_oak_fence_gate +- minecraft:crimson_fence_gate +- minecraft:warped_fence_gate + +#minecraft:stone_bricks +- minecraft:stone_bricks +- minecraft:mossy_stone_bricks +- minecraft:cracked_stone_bricks +- minecraft:chiseled_stone_bricks + +#forge:storage_blocks/quartz +- minecraft:quartz_block + +#forge:glass/orange +- tconstruct:orange_clear_stained_glass +- minecraft:orange_stained_glass + +#forge:glass_panes/lime +- tconstruct:lime_clear_stained_glass_pane +- minecraft:lime_stained_glass_pane + +#forge:storage_blocks/manyullyn +- tconstruct:manyullyn_block + +#create:windmill_sails +- create:sail_frame +- create:white_sail +- create:orange_sail +- create:magenta_sail +- create:light_blue_sail +- create:yellow_sail +- create:lime_sail +- create:pink_sail +- create:gray_sail +- create:light_gray_sail +- create:cyan_sail +- create:purple_sail +- create:blue_sail +- create:brown_sail +- create:green_sail +- create:red_sail +- create:black_sail +- #minecraft:wool + +#sereneseasons:spring_crops +- farmersdelight:onions +- biomesoplenty:origin_sapling +- biomesoplenty:flowering_oak_sapling +- biomesoplenty:rainbow_birch_sapling +- biomesoplenty:yellow_autumn_sapling +- biomesoplenty:orange_autumn_sapling +- biomesoplenty:maple_sapling +- biomesoplenty:fir_sapling +- biomesoplenty:redwood_sapling +- biomesoplenty:white_cherry_sapling +- biomesoplenty:pink_cherry_sapling +- biomesoplenty:mahogany_sapling +- biomesoplenty:jacaranda_sapling +- biomesoplenty:palm_sapling +- biomesoplenty:willow_sapling +- biomesoplenty:dead_sapling +- biomesoplenty:magic_sapling +- biomesoplenty:umbran_sapling +- biomesoplenty:hellbark_sapling +- biomesoplenty:clover +- biomesoplenty:toadstool +- biomesoplenty:glowshroom + +#tconstruct:foundry/wall +- #tconstruct:scorched_blocks +- #tconstruct:foundry/tanks +- tconstruct:scorched_glass +- tconstruct:scorched_ladder +- tconstruct:scorched_drain +- tconstruct:scorched_chute +- tconstruct:scorched_duct + +#tconstruct:smeltery/wall +- #tconstruct:seared_blocks +- #tconstruct:smeltery/tanks +- tconstruct:seared_glass +- tconstruct:seared_ladder +- tconstruct:seared_drain +- tconstruct:seared_chute +- tconstruct:seared_duct + +#minecraft:slabs +- #minecraft:wooden_slabs +- minecraft:stone_slab +- minecraft:smooth_stone_slab +- minecraft:stone_brick_slab +- minecraft:sandstone_slab +- minecraft:purpur_slab +- minecraft:quartz_slab +- minecraft:red_sandstone_slab +- minecraft:brick_slab +- minecraft:cobblestone_slab +- minecraft:nether_brick_slab +- minecraft:petrified_oak_slab +- minecraft:prismarine_slab +- minecraft:prismarine_brick_slab +- minecraft:dark_prismarine_slab +- minecraft:polished_granite_slab +- minecraft:smooth_red_sandstone_slab +- minecraft:mossy_stone_brick_slab +- minecraft:polished_diorite_slab +- minecraft:mossy_cobblestone_slab +- minecraft:end_stone_brick_slab +- minecraft:smooth_sandstone_slab +- minecraft:smooth_quartz_slab +- minecraft:granite_slab +- minecraft:andesite_slab +- minecraft:red_nether_brick_slab +- minecraft:polished_andesite_slab +- minecraft:diorite_slab +- minecraft:cut_sandstone_slab +- minecraft:cut_red_sandstone_slab +- minecraft:blackstone_slab +- minecraft:polished_blackstone_brick_slab +- minecraft:polished_blackstone_slab +- biomesoplenty:black_sandstone_slab +- biomesoplenty:cut_black_sandstone_slab +- biomesoplenty:smooth_black_sandstone_slab +- biomesoplenty:orange_sandstone_slab +- biomesoplenty:cut_orange_sandstone_slab +- biomesoplenty:smooth_orange_sandstone_slab +- biomesoplenty:white_sandstone_slab +- biomesoplenty:cut_white_sandstone_slab +- biomesoplenty:smooth_white_sandstone_slab +- biomesoplenty:mud_brick_slab +- biomesoplenty:fir_slab +- biomesoplenty:redwood_slab +- biomesoplenty:cherry_slab +- biomesoplenty:mahogany_slab +- biomesoplenty:jacaranda_slab +- biomesoplenty:palm_slab +- biomesoplenty:willow_slab +- biomesoplenty:dead_slab +- biomesoplenty:magic_slab +- biomesoplenty:umbran_slab +- biomesoplenty:hellbark_slab +- create:granite_cobblestone_slab +- create:granite_bricks_slab +- create:fancy_granite_bricks_slab +- create:paved_granite_slab +- create:diorite_cobblestone_slab +- create:diorite_bricks_slab +- create:fancy_diorite_bricks_slab +- create:paved_diorite_slab +- create:andesite_cobblestone_slab +- create:andesite_bricks_slab +- create:fancy_andesite_bricks_slab +- create:paved_andesite_slab +- create:limestone_cobblestone_slab +- create:polished_limestone_slab +- create:limestone_bricks_slab +- create:fancy_limestone_bricks_slab +- create:paved_limestone_slab +- create:weathered_limestone_cobblestone_slab +- create:polished_weathered_limestone_slab +- create:weathered_limestone_bricks_slab +- create:fancy_weathered_limestone_bricks_slab +- create:paved_weathered_limestone_slab +- create:dolomite_cobblestone_slab +- create:polished_dolomite_slab +- create:dolomite_bricks_slab +- create:fancy_dolomite_bricks_slab +- create:paved_dolomite_slab +- create:gabbro_cobblestone_slab +- create:polished_gabbro_slab +- create:gabbro_bricks_slab +- create:fancy_gabbro_bricks_slab +- create:paved_gabbro_slab +- create:scoria_cobblestone_slab +- create:polished_scoria_slab +- create:scoria_bricks_slab +- create:fancy_scoria_bricks_slab +- create:paved_scoria_slab +- create:dark_scoria_cobblestone_slab +- create:polished_dark_scoria_slab +- create:dark_scoria_bricks_slab +- create:fancy_dark_scoria_bricks_slab +- create:paved_dark_scoria_slab +- supplementaries:checker_slab +- supplementaries:stone_tile_slab +- supplementaries:blackstone_tile_slab + +#minecraft:guarded_by_piglins +- minecraft:gold_block +- minecraft:barrel +- minecraft:chest +- minecraft:ender_chest +- minecraft:gilded_blackstone +- minecraft:trapped_chest +- #minecraft:shulker_boxes +- #minecraft:gold_ores +- tconstruct:silky_jewel_block +- #forge:storage_blocks/rose_gold +- supplementaries:sack + +#forge:ores/emerald +- minecraft:emerald_ore + +#forge:storage_blocks/bitumen +- thermal:bitumen_block + +#tconstruct:greenheart_logs +- tconstruct:greenheart_log +- tconstruct:stripped_greenheart_log +- tconstruct:greenheart_wood +- tconstruct:stripped_greenheart_wood + +#tconstruct:congealed_slime +- tconstruct:earth_congealed_slime +- tconstruct:sky_congealed_slime +- tconstruct:ichor_congealed_slime +- tconstruct:ender_congealed_slime +- tconstruct:blood_congealed_slime + +#forge:ores/apatite +- thermal:apatite_ore + +#minecraft:flowers +- #minecraft:small_flowers +- #minecraft:tall_flowers + +#minecraft:corals +- #minecraft:coral_plants +- minecraft:tube_coral_fan +- minecraft:brain_coral_fan +- minecraft:bubble_coral_fan +- minecraft:fire_coral_fan +- minecraft:horn_coral_fan + +#minecraft:buttons +- #minecraft:wooden_buttons +- minecraft:stone_button +- minecraft:polished_blackstone_button + +#forge:storage_blocks/cobalt +- tconstruct:cobalt_block + +#minecraft:planks +- minecraft:oak_planks +- minecraft:spruce_planks +- minecraft:birch_planks +- minecraft:jungle_planks +- minecraft:acacia_planks +- minecraft:dark_oak_planks +- minecraft:crimson_planks +- minecraft:warped_planks +- #tconstruct:slimy_planks +- biomesoplenty:fir_planks +- biomesoplenty:redwood_planks +- biomesoplenty:cherry_planks +- biomesoplenty:mahogany_planks +- biomesoplenty:jacaranda_planks +- biomesoplenty:palm_planks +- biomesoplenty:willow_planks +- biomesoplenty:dead_planks +- biomesoplenty:magic_planks +- biomesoplenty:umbran_planks +- biomesoplenty:hellbark_planks + +#survivalist:fibre_sources +- minecraft:grass +- minecraft:tall_grass +- minecraft:vine +- minecraft:fern +- minecraft:large_fern + +#forge:cobblestone +- minecraft:cobblestone +- minecraft:infested_cobblestone +- minecraft:mossy_cobblestone + +#minecraft:rails +- minecraft:rail +- minecraft:powered_rail +- minecraft:detector_rail +- minecraft:activator_rail +- create:cart_assembler +- create:reinforced_rail +- create:controller_rail + +#forge:barrels/wooden +- minecraft:barrel + +#tconstruct:harvestable/interact +- minecraft:sweet_berry_bush + +#tconstruct:slimy_grass/earth +- tconstruct:earth_earth_slime_grass +- tconstruct:earth_sky_slime_grass +- tconstruct:earth_ichor_slime_grass +- tconstruct:earth_ender_slime_grass +- tconstruct:earth_vanilla_slime_grass + +#forge:storage_blocks/niter +- thermal:niter_block + +#minecraft:strider_warm_blocks +- minecraft:lava +- tconstruct:magma_fluid +- tconstruct:blazing_blood_fluid + +#forge:storage_blocks/gold +- minecraft:gold_block + +#tconstruct:foundry +- #tconstruct:foundry/wall +- #tconstruct:foundry/floor +- #tconstruct:foundry/tanks + +#minecraft:fence_gates +- minecraft:acacia_fence_gate +- minecraft:birch_fence_gate +- minecraft:dark_oak_fence_gate +- minecraft:jungle_fence_gate +- minecraft:oak_fence_gate +- minecraft:spruce_fence_gate +- minecraft:crimson_fence_gate +- minecraft:warped_fence_gate +- tconstruct:greenheart_fence_gate +- tconstruct:skyroot_fence_gate +- tconstruct:bloodshroom_fence_gate +- biomesoplenty:fir_fence_gate +- biomesoplenty:redwood_fence_gate +- biomesoplenty:cherry_fence_gate +- biomesoplenty:mahogany_fence_gate +- biomesoplenty:jacaranda_fence_gate +- biomesoplenty:palm_fence_gate +- biomesoplenty:willow_fence_gate +- biomesoplenty:dead_fence_gate +- biomesoplenty:magic_fence_gate +- biomesoplenty:umbran_fence_gate +- biomesoplenty:hellbark_fence_gate + +#forge:ores +- #forge:ores/cobalt +- #forge:ores/copper +- create:copper_ore +- create:zinc_ore +- #forge:ores/coal +- #forge:ores/diamond +- #forge:ores/emerald +- #forge:ores/gold +- #forge:ores/iron +- #forge:ores/lapis +- #forge:ores/redstone +- #forge:ores/quartz +- #forge:ores/netherite_scrap +- #forge:ores/apatite +- #forge:ores/cinnabar +- #forge:ores/copper +- #forge:ores/lead +- #forge:ores/nickel +- #forge:ores/niter +- #forge:ores/ruby +- #forge:ores/sapphire +- #forge:ores/silver +- #forge:ores/sulfur +- #forge:ores/tin + +#minecraft:bee_growables +- #minecraft:crops +- minecraft:sweet_berry_bush + +#minecraft:wooden_pressure_plates +- minecraft:oak_pressure_plate +- minecraft:spruce_pressure_plate +- minecraft:birch_pressure_plate +- minecraft:jungle_pressure_plate +- minecraft:acacia_pressure_plate +- minecraft:dark_oak_pressure_plate +- minecraft:crimson_pressure_plate +- minecraft:warped_pressure_plate +- tconstruct:greenheart_pressure_plate +- tconstruct:skyroot_pressure_plate +- tconstruct:bloodshroom_pressure_plate +- biomesoplenty:fir_pressure_plate +- biomesoplenty:redwood_pressure_plate +- biomesoplenty:cherry_pressure_plate +- biomesoplenty:mahogany_pressure_plate +- biomesoplenty:jacaranda_pressure_plate +- biomesoplenty:palm_pressure_plate +- biomesoplenty:willow_pressure_plate +- biomesoplenty:dead_pressure_plate +- biomesoplenty:magic_pressure_plate +- biomesoplenty:umbran_pressure_plate +- biomesoplenty:hellbark_pressure_plate + +#create:brittle +- create:nozzle +- create:hand_crank +- create:copper_valve_handle +- create:white_valve_handle +- create:orange_valve_handle +- create:magenta_valve_handle +- create:light_blue_valve_handle +- create:yellow_valve_handle +- create:lime_valve_handle +- create:pink_valve_handle +- create:gray_valve_handle +- create:light_gray_valve_handle +- create:cyan_valve_handle +- create:purple_valve_handle +- create:blue_valve_handle +- create:brown_valve_handle +- create:green_valve_handle +- create:red_valve_handle +- create:black_valve_handle +- create:rope +- create:pulley_magnet +- create:furnace_engine +- create:redstone_link +- create:peculiar_bell +- create:haunted_bell +- #minecraft:doors +- #minecraft:beds +- minecraft:flower_pot +- minecraft:bell +- minecraft:cocoa + +#tconstruct:alloyer_tanks +- tconstruct:scorched_alloyer +- tconstruct:seared_melter +- #tconstruct:seared_tanks +- #tconstruct:scorched_tanks + +#minecraft:tall_flowers +- minecraft:sunflower +- minecraft:lilac +- minecraft:peony +- minecraft:rose_bush +- biomesoplenty:blue_hydrangea +- biomesoplenty:goldenrod + +#biomesoplenty:redwood_logs +- biomesoplenty:redwood_log +- biomesoplenty:redwood_wood +- biomesoplenty:stripped_redwood_log +- biomesoplenty:stripped_redwood_wood + +#biomesoplenty:jacaranda_logs +- biomesoplenty:jacaranda_log +- biomesoplenty:jacaranda_wood +- biomesoplenty:stripped_jacaranda_log +- biomesoplenty:stripped_jacaranda_wood + +#forge:fences +- #forge:fences/nether_brick +- #forge:fences/wooden + +#tconstruct:heater_controllers +- tconstruct:seared_melter +- tconstruct:scorched_alloyer + +#minecraft:stone_pressure_plates +- minecraft:stone_pressure_plate +- minecraft:polished_blackstone_pressure_plate + +#supplementaries:concrete_powders +- minecraft:white_concrete_powder +- minecraft:yellow_concrete_powder +- minecraft:orange_concrete_powder +- minecraft:red_concrete_powder +- minecraft:pink_concrete_powder +- minecraft:magenta_concrete_powder +- minecraft:purple_concrete_powder +- minecraft:blue_concrete_powder +- minecraft:cyan_concrete_powder +- minecraft:light_blue_concrete_powder +- minecraft:lime_concrete_powder +- minecraft:green_concrete_powder +- minecraft:brown_concrete_powder +- minecraft:black_concrete_powder +- minecraft:gray_concrete_powder +- minecraft:light_gray_concrete_powder + +#forge:storage_blocks/diamond +- minecraft:diamond_block + +#minecraft:nylium +- minecraft:crimson_nylium +- minecraft:warped_nylium + +#minecraft:gold_ores +- minecraft:gold_ore +- minecraft:nether_gold_ore + +#forge:storage_blocks/bamboo +- thermal:bamboo_block + +#supplementaries:palisades +- minecraft:end_rod +- decorative_blocks:oak_palisade? +- decorative_blocks:birch_palisade? +- decorative_blocks:spruce_palisade? +- decorative_blocks:acacia_palisade? +- decorative_blocks:dark_oak_palisade? +- decorative_blocks:jungle_palisade? +- decorative_blocks:warped_palisade? +- decorative_blocks:crimson_palisade? + +#supplementaries:hang_from_ropes +- supplementaries:rope +- supplementaries:sack +- supplementaries:hanging_flower_pot +- supplementaries:cracked_bell +- supplementaries:rope_chandelier? +- supplementaries:rope_soul_chandelier? +- farmersdelight:rope? +- inspirations:rope? +- inspirations:vine? +- druidcraft:rope? +- xercamod:rope? + +#forge:glass_panes/pink +- tconstruct:pink_clear_stained_glass_pane +- minecraft:pink_stained_glass_pane + +#forge:storage_blocks/slag +- thermal:slag_block + +#tconstruct:smeltery +- #tconstruct:smeltery/wall +- #tconstruct:smeltery/floor +- #tconstruct:smeltery/tanks + +#forge:netherrack +- minecraft:netherrack + +#supplementaries:bellows_tickable +- #minecraft:campfires +- minecraft:furnace +- minecraft:blast_furnace +- minecraft:smoker +- charm:kiln? +- environmental:kiln? +- atum:kiln? diff --git a/src/overrides/kubejs/exported/tags/enchantments.txt b/src/overrides/kubejs/exported/tags/enchantments.txt new file mode 100644 index 0000000..42f0cf6 --- /dev/null +++ b/src/overrides/kubejs/exported/tags/enchantments.txt @@ -0,0 +1 @@ +To refresh this file, delete it and run /reload command again! Last updated: Aug 15, 2021 10:39:59 PM diff --git a/src/overrides/kubejs/exported/tags/entity_types.txt b/src/overrides/kubejs/exported/tags/entity_types.txt new file mode 100644 index 0000000..9009ec2 --- /dev/null +++ b/src/overrides/kubejs/exported/tags/entity_types.txt @@ -0,0 +1,314 @@ +To refresh this file, delete it and run /reload command again! Last updated: Aug 15, 2021 10:39:59 PM + +#supplementaries:cage_baby_catchable +- minecraft:cow +- minecraft:sheep +- minecraft:pig +- alexsmobs:crocodile? +- alexsmobs:endergrade? +- alexsmobs:gazelle? +- alexsmobs:gorilla? +- alexsmobs:komodo_dragon? +- alexsmobs:raccoon? +- alexsmobs:seal? +- alexsmobs:warped_toad? + +#forge:slimes +- minecraft:slime +- tconstruct:earth_slime +- tconstruct:sky_slime +- tconstruct:ender_slime +- tconstruct:terracube + +#supplementaries:flute_pet +- minecraft:horse +- minecraft:llama +- minecraft:mule +- minecraft:donkey +- minecraft:fox + +#tconstruct:bouncy +- tconstruct:sky_slime + +#tconstruct:rare_mobs +- minecraft:wither_skeleton +- minecraft:ender_dragon +- minecraft:elder_guardian +- minecraft:evoker + +#supplementaries:jar_tinted_catchable +- minecraft:slime +- minecraft:bee +- minecraft:magma_cube +- minecraft:endermite +- minecraft:vex +- bettermushroom:mushrooms_spores? +- untamedwilds:tarantula? +- wyrmroost:coin_dragon? +- alexsmobs:enderiophage? +- alexsmobs:mimicube? +- iceandfire:pixie? +- alexsmobs:fly? +- alexsmobs:hummingbird? +- alexsmobs:cockroach? +- terraincognita:butterfly? +- buzzierbees:honey_slime? +- mysticalworld:frog? +- mysticalworld:beetle? +- mysticalworld:silkworm? +- druidcraft:lunar_moth? +- druidcraft:dreadfish? +- endergetic:puff_bug? +- betterendforge:end_slime? +- betterendforge:dragonfly? +- betterendforge:silk_moth? +- savageandravage:creepie? +- betteranimalsplus:butterfly? +- whisperwoods:moth? +- fins:river_pebble_snail? +- tconstruct:sky_slime? +- twilightforest:maze_slime? + +#minecraft:impact_projectiles +- #minecraft:arrows +- minecraft:snowball +- minecraft:fireball +- minecraft:small_fireball +- minecraft:egg +- minecraft:trident +- minecraft:dragon_fireball +- minecraft:wither_skull +- supplementaries:rope_arrow +- supplementaries:amethyst_arrow +- supplementaries:brick_projectile + +#minecraft:beehive_inhabitors +- minecraft:bee + +#forge:creepers +- minecraft:creeper + +#minecraft:skeletons +- minecraft:skeleton +- minecraft:stray +- minecraft:wither_skeleton + +#supplementaries:jar_catchable +- minecraft:slime +- minecraft:bee +- minecraft:magma_cube +- bettermushroom:mushrooms_spores? +- untamedwilds:tarantula? +- wyrmroost:coin_dragon? +- fantasy:unicorn? +- alexsmobs:enderiophage? +- iceandfire:pixie? +- alexsmobs:fly? +- alexsmobs:hummingbird? +- alexsmobs:cockroach? +- terraincognita:butterfly? +- buzzierbees:honey_slime? +- mysticalworld:frog? +- mysticalworld:beetle? +- mysticalworld:silkworm? +- druidcraft:lunar_moth? +- druidcraft:dreadfish? +- betterendforge:end_slime? +- betterendforge:dragonfly? +- betterendforge:silk_moth? +- savageandravage:creepie? +- betteranimalsplus:butterfly? +- whisperwoods:moth? +- fins:river_pebble_snail? +- tconstruct:sky_slime? +- twilightforest:maze_slime? + +#tconstruct:melting/show_in_default +- minecraft:iron_golem +- minecraft:snow_golem +- minecraft:villager +- minecraft:player + +#minecraft:arrows +- minecraft:arrow +- minecraft:spectral_arrow +- supplementaries:rope_arrow +- supplementaries:amethyst_arrow + +#tconstruct:bacon_producer +- minecraft:pig +- minecraft:piglin +- minecraft:hoglin + +#tconstruct:piggybackpack_blacklist + +#farmersdelight:horse_feed_users +- minecraft:horse +- minecraft:skeleton_horse +- minecraft:zombie_horse +- minecraft:donkey +- minecraft:mule +- minecraft:llama + +#minecraft:raiders +- minecraft:evoker +- minecraft:pillager +- minecraft:ravager +- minecraft:vindicator +- minecraft:illusioner +- minecraft:witch + +#supplementaries:cage_catchable +- minecraft:slime +- minecraft:bee +- minecraft:magma_cube +- minecraft:endermite +- minecraft:vex +- minecraft:parrot +- minecraft:rabbit +- minecraft:cat +- minecraft:chicken +- minecraft:bat +- minecraft:fox +- minecraft:ocelot +- bettermushroom:shroomie? +- bettermushroom:shroomie_eater? +- bettermushroom:mushrooms_spores? +- untamedwilds:softshell_turtle? +- untamedwilds:tortoise? +- untamedwilds:tarantula? +- wyrmroost:lesser_desertwyrm? +- wyrmroost:roost_stalker? +- wyrmroost:coin_dragon? +- infernalexp:voline? +- infernalexp:shroomloin? +- kobolds:kobold_zombie? +- kobolds:kobold_child? +- fins:mudhorse? +- alexsmobs:raccoon? +- alexsmobs:mungus? +- alexsmobs:tasmanian_devil? +- alexsmobs:enderiophage? +- alexsmobs:platypus? +- alexsmobs:crow? +- alexsmobs:mimicube? +- iceandfire:pixie? +- alexsmobs:fly? +- alexsmobs:hummingbird? +- alexsmobs:cockroach? +- terraincognita:butterfly? +- buzzierbees:honey_slime? +- mysticalworld:frog? +- mysticalworld:beetle? +- mysticalworld:silkworm? +- druidcraft:lunar_moth? +- druidcraft:dreadfish? +- swampexpansion:slabfish? +- endergetic:puff_bug? +- betterendforge:end_slime? +- betterendforge:dragonfly? +- betterendforge:silk_moth? +- savageandravage:creepie? +- betteranimalsplus:butterfly? +- whisperwoods:moth? +- fins:river_pebble_snail? +- tconstruct:sky_slime? +- twilightforest:maze_slime? +- alexsmobs:roadrunner? +- alexsmobs:rattlesnake? +- alexsmobs:lobster? +- alexsmobs:capuchin_monkey? +- mysticalworld:silver_fox? +- mysticalworld:sprout? +- mysticalworld:endermini? +- mysticalworld:lava_cat? +- mysticalworld:owl? +- mysticalworld:hell_sprout? +- quark:toretoise? +- quark:crab? +- quark:foxhound? +- quark:stoneling? +- quark:frog? +- rats:rat? +- rats:piper? +- rats:plague_doctor? +- rats:black_death? +- rats:plague_cloud? +- rats:plague_beast? +- rats:rat_king? +- rats:demon_rat? +- rats:ratlantean_spirit? +- rats:ratlantean_automation? +- rats:feral_ratlantean? +- rats:neo_ratlantean? +- rats:pirat? +- rats:ghost_pirat? +- rats:dutchrat? +- rats:ratfish? +- rats:ratlantean_ratbot? +- rats:rat_baron? +- goblintraders:goblin_trader? +- goblintraders:vein_goblin_trader? +- autumnity:snail? +- betteranimalsplus:lammergeier? +- betteranimalsplus:songbird? +- betteranimalsplus:pheasant? +- betteranimalsplus:squirrel? +- betteranimalsplus:badger? +- betteranimalsplus:turkey? +- exoticbirds:roadrunner? +- exoticbirds:hummingbird? +- exoticbirds:woodpecker? +- exoticbirds:kingfisher? +- exoticbirds:toucan? +- exoticbirds:macaw? +- exoticbirds:magpie? +- exoticbirds:kiwi? +- exoticbirds:owl? +- exoticbirds:gouldianfinch? +- exoticbirds:gull? +- exoticbirds:pigeon? +- exoticbirds:penguin? +- exoticbirds:duck? +- exoticbirds:booby? +- exoticbirds:cardinal? +- exoticbirds:bluejay? +- exoticbirds:robin? +- exoticbirds:kookaburra? +- exoticbirds:budgerigar? +- exoticbirds:cockatoo? +- swampexpansion:slabfish? +- betteranimalsplus:horseshoecrab? +- betteranimalsplus:crab? +- whisperwoods:wisp? +- undergarden:muncher? +- undergarden:scintling? +- undergarden:rotling? +- undergarden:sploogie? +- dungeonsmod:crow? +- dungeonsmod:anthermite? +- pandoras_creatures:crab? +- twilightforest:raven? +- twilightforest:bunny? +- twilightforest:penguin? +- twilightforest:tiny_bird? +- twilightforest:squirrel? +- twilightforest:kobold? +- twilightforest:death_tome? +- environmental:duck? +- environmental:cardinal? +- environmental:fennec_fox? +- environmental:slabfish? +- environmental:penguin? +- fins:flatback_leaf_snail? +- fins:penglil? +- fins:river_pebble_snail? +- fins:siderol_whiskered_snail? +- fins:red_bull_crab? +- fins:white_bull_crab? + +#tconstruct:melting/hide_in_default +- minecraft:giant + +#farmersdelight:dog_food_users +- minecraft:wolf diff --git a/src/overrides/kubejs/exported/tags/fluids.txt b/src/overrides/kubejs/exported/tags/fluids.txt new file mode 100644 index 0000000..1cd3cd8 --- /dev/null +++ b/src/overrides/kubejs/exported/tags/fluids.txt @@ -0,0 +1,304 @@ +To refresh this file, delete it and run /reload command again! Last updated: Aug 15, 2021 10:39:59 PM + +#tconstruct:molten_manyullyn +- tconstruct:molten_manyullyn +- tconstruct:flowing_molten_manyullyn + +#tconstruct:molten_tin +- tconstruct:molten_tin +- tconstruct:flowing_molten_tin + +#tconstruct:molten_quartz +- tconstruct:molten_quartz +- tconstruct:flowing_molten_quartz + +#tconstruct:molten_invar +- tconstruct:molten_invar +- tconstruct:flowing_molten_invar + +#tconstruct:sky_slime +- tconstruct:sky_slime +- tconstruct:flowing_sky_slime + +#minecraft:water +- minecraft:water +- minecraft:flowing_water +- create:flowing_honey +- create:honey +- create:flowing_chocolate +- create:chocolate + +#tconstruct:molten_porcelain +- tconstruct:molten_porcelain +- tconstruct:flowing_molten_porcelain + +#tconstruct:scorched_stone +- tconstruct:scorched_stone +- tconstruct:flowing_scorched_stone + +#tconstruct:molten_osmium +- tconstruct:molten_osmium +- tconstruct:flowing_molten_osmium + +#forge:milk +- minecraft:milk? +- minecraft:flowing_milk? + +#tconstruct:molten_rose_gold +- tconstruct:molten_rose_gold +- tconstruct:flowing_molten_rose_gold + +#tconstruct:blazing_blood +- tconstruct:blazing_blood +- tconstruct:flowing_blazing_blood + +#tconstruct:molten_platinum +- tconstruct:molten_platinum +- tconstruct:flowing_molten_platinum + +#tconstruct:molten_slimesteel +- tconstruct:molten_slimesteel +- tconstruct:flowing_molten_slimesteel + +#tconstruct:molten_obsidian +- tconstruct:molten_obsidian +- tconstruct:flowing_molten_obsidian + +#tconstruct:molten_debris +- tconstruct:molten_debris +- tconstruct:flowing_molten_debris + +#tconstruct:molten_cobalt +- tconstruct:molten_cobalt +- tconstruct:flowing_molten_cobalt + +#tconstruct:molten_emerald +- tconstruct:molten_emerald +- tconstruct:flowing_molten_emerald + +#tconstruct:earth_slime +- tconstruct:earth_slime +- tconstruct:flowing_earth_slime + +#tconstruct:slime +- #forge:slime +- #tconstruct:sky_slime +- #tconstruct:ender_slime + +#tconstruct:liquid_soul +- tconstruct:liquid_soul +- tconstruct:flowing_liquid_soul + +#tconstruct:molten_tungsten +- tconstruct:molten_tungsten +- tconstruct:flowing_molten_tungsten + +#tconstruct:blood +- tconstruct:blood +- tconstruct:flowing_blood + +#forge:experience +- cofh_core:experience + +#forge:slime +- #tconstruct:earth_slime + +#forge:glowstone +- thermal:glowstone + +#tconstruct:molten_constantan +- tconstruct:molten_constantan +- tconstruct:flowing_molten_constantan + +#tconstruct:molten_lead +- tconstruct:molten_lead +- tconstruct:flowing_molten_lead + +#forge:magma +- #tconstruct:magma + +#tconstruct:molten_clay +- tconstruct:molten_clay +- tconstruct:flowing_molten_clay + +#tconstruct:molten_gold +- tconstruct:molten_gold +- tconstruct:flowing_molten_gold + +#forge:creosote +- thermal:creosote + +#tconstruct:molten_netherite +- tconstruct:molten_netherite +- tconstruct:flowing_molten_netherite + +#tconstruct:molten_silver +- tconstruct:molten_silver +- tconstruct:flowing_molten_silver + +#tconstruct:molten_pig_iron +- tconstruct:molten_pig_iron +- tconstruct:flowing_molten_pig_iron + +#tconstruct:molten_soulsteel +- tconstruct:molten_soulsteel +- tconstruct:flowing_molten_soulsteel + +#forge:crude_oil +- thermal:crude_oil + +#forge:redstone +- thermal:redstone + +#tconstruct:molten_bronze +- tconstruct:molten_bronze +- tconstruct:flowing_molten_bronze + +#tconstruct:molten_tinkers_bronze +- tconstruct:molten_tinkers_bronze +- tconstruct:flowing_molten_tinkers_bronze + +#tconstruct:molten_aluminum +- tconstruct:molten_aluminum +- tconstruct:flowing_molten_aluminum + +#minecraft:lava +- minecraft:lava +- minecraft:flowing_lava + +#tconstruct:molten_electrum +- tconstruct:molten_electrum +- tconstruct:flowing_molten_electrum + +#tconstruct:molten_pewter +- tconstruct:molten_pewter +- tconstruct:flowing_molten_pewter + +#tconstruct:molten_brass +- tconstruct:molten_brass +- tconstruct:flowing_molten_brass + +#tconstruct:seared_stone +- tconstruct:seared_stone +- tconstruct:flowing_seared_stone + +#tconstruct:molten_iron +- tconstruct:molten_iron +- tconstruct:flowing_molten_iron + +#forge:chocolate +- create:flowing_chocolate +- create:chocolate + +#tconstruct:molten_uranium +- tconstruct:molten_uranium +- tconstruct:flowing_molten_uranium + +#tconstruct:molten_glass +- tconstruct:molten_glass +- tconstruct:flowing_molten_glass + +#tconstruct:molten_copper +- tconstruct:molten_copper +- tconstruct:flowing_molten_copper + +#tconstruct:ender_slime +- tconstruct:ender_slime +- tconstruct:flowing_ender_slime + +#tconstruct:magma +- tconstruct:magma +- tconstruct:flowing_magma + +#tconstruct:molten_steel +- tconstruct:molten_steel +- tconstruct:flowing_molten_steel + +#tconstruct:molten_diamond +- tconstruct:molten_diamond +- tconstruct:flowing_molten_diamond + +#forge:potion +- cofh_core:potion + +#tconstruct:metal_like +- #tconstruct:molten_emerald +- #tconstruct:molten_quartz +- #tconstruct:molten_diamond +- #tconstruct:molten_iron +- #tconstruct:molten_gold +- #tconstruct:molten_copper +- #tconstruct:molten_cobalt +- #tconstruct:molten_debris +- #tconstruct:molten_slimesteel +- #tconstruct:molten_tinkers_bronze +- #tconstruct:molten_rose_gold +- #tconstruct:molten_pig_iron +- #tconstruct:molten_manyullyn +- #tconstruct:molten_hepatizon +- #tconstruct:molten_queens_slime +- #tconstruct:molten_soulsteel +- #tconstruct:molten_netherite +- #tconstruct:molten_knightslime +- #tconstruct:molten_tin +- #tconstruct:molten_aluminum +- #tconstruct:molten_lead +- #tconstruct:molten_silver +- #tconstruct:molten_nickel +- #tconstruct:molten_zinc +- #tconstruct:molten_platinum +- #tconstruct:molten_tungsten +- #tconstruct:molten_osmium +- #tconstruct:molten_uranium +- #tconstruct:molten_bronze +- #tconstruct:molten_brass +- #tconstruct:molten_electrum +- #tconstruct:molten_invar +- #tconstruct:molten_constantan +- #tconstruct:molten_pewter +- #tconstruct:molten_steel + +#tconstruct:slimelike +- #forge:magma +- #tconstruct:blood +- #tconstruct:molten_ender +- #tconstruct:slime + +#tconstruct:molten_zinc +- tconstruct:molten_zinc +- tconstruct:flowing_molten_zinc + +#forge:ender +- thermal:ender + +#tconstruct:molten_ender +- tconstruct:molten_ender +- tconstruct:flowing_molten_ender + +#forge:tea +- create:flowing_tea +- create:tea + +#tconstruct:molten_queens_slime +- tconstruct:molten_queens_slime +- tconstruct:flowing_molten_queens_slime + +#tconstruct:molten_nickel +- tconstruct:molten_nickel +- tconstruct:flowing_molten_nickel + +#tconstruct:molten_hepatizon +- tconstruct:molten_hepatizon +- tconstruct:flowing_molten_hepatizon + +#forge:latex +- thermal:latex + +#forge:honey +- create:flowing_honey +- create:honey +- cofh_core:honey + +#tconstruct:molten_knightslime +- tconstruct:molten_knightslime +- tconstruct:flowing_molten_knightslime diff --git a/src/overrides/kubejs/exported/tags/functions.txt b/src/overrides/kubejs/exported/tags/functions.txt new file mode 100644 index 0000000..0433a8e --- /dev/null +++ b/src/overrides/kubejs/exported/tags/functions.txt @@ -0,0 +1 @@ +To refresh this file, delete it and run /reload command again! Last updated: Aug 15, 2021 10:40:01 PM diff --git a/src/overrides/kubejs/exported/tags/items.txt b/src/overrides/kubejs/exported/tags/items.txt new file mode 100644 index 0000000..1121008 --- /dev/null +++ b/src/overrides/kubejs/exported/tags/items.txt @@ -0,0 +1,3984 @@ +To refresh this file, delete it and run /reload command again! Last updated: Aug 15, 2021 10:39:59 PM + +#forge:glass_panes/magenta +- tconstruct:magenta_clear_stained_glass_pane +- minecraft:magenta_stained_glass_pane + +#forge:nuggets +- #forge:nuggets/copper +- #forge:nuggets/cobalt +- #forge:nuggets/slimesteel +- #forge:nuggets/silicon_bronze +- #forge:nuggets/rose_gold +- #forge:nuggets/pig_iron +- #forge:nuggets/queens_slime +- #forge:nuggets/manyullyn +- #forge:nuggets/hepatizon +- #forge:nuggets/soulsteel +- #forge:nuggets/knightslime +- create:copper_nugget +- create:zinc_nugget +- create:brass_nugget +- #forge:nuggets/iron +- #forge:nuggets/gold +- #forge:nuggets/bronze +- #forge:nuggets/constantan +- #forge:nuggets/copper +- #forge:nuggets/electrum +- #forge:nuggets/enderium +- #forge:nuggets/invar +- #forge:nuggets/lead +- #forge:nuggets/lumium +- #forge:nuggets/nickel +- #forge:nuggets/signalum +- #forge:nuggets/silver +- #forge:nuggets/tin + +#forge:gears +- #forge:gears/bronze +- #forge:gears/constantan +- #forge:gears/copper +- #forge:gears/diamond +- #forge:gears/electrum +- #forge:gears/emerald +- #forge:gears/enderium +- #forge:gears/gold +- #forge:gears/invar +- #forge:gears/iron +- #forge:gears/lapis +- #forge:gears/lead +- #forge:gears/lumium +- #forge:gears/nickel +- #forge:gears/quartz +- #forge:gears/ruby +- #forge:gears/sapphire +- #forge:gears/signalum +- #forge:gears/silver +- #forge:gears/tin + +#forge:plates +- create:copper_sheet +- create:brass_sheet +- create:iron_sheet +- create:golden_sheet +- #forge:plates/bronze +- #forge:plates/constantan +- #forge:plates/copper +- #forge:plates/electrum +- #forge:plates/enderium +- #forge:plates/gold +- #forge:plates/invar +- #forge:plates/iron +- #forge:plates/lead +- #forge:plates/lumium +- #forge:plates/nickel +- #forge:plates/signalum +- #forge:plates/silver +- #forge:plates/tin + +#forge:dyes/gray +- minecraft:gray_dye + +#forge:nuggets/electrum +- thermal:electrum_nugget + +#tconstruct:casts/single_use/blank +- tconstruct:blank_sand_cast +- tconstruct:blank_red_sand_cast + +#forge:gems/sulfur +- thermal:sulfur + +#forge:rods/blaze +- minecraft:blaze_rod + +#forge:storage_blocks/netherite +- minecraft:netherite_block + +#forge:glass_panes/white +- tconstruct:white_clear_stained_glass_pane +- minecraft:white_stained_glass_pane + +#biomesoplenty:hellbark_logs +- biomesoplenty:hellbark_log +- biomesoplenty:hellbark_wood +- biomesoplenty:stripped_hellbark_log +- biomesoplenty:stripped_hellbark_wood + +#forge:coins/invar +- thermal:invar_coin + +#forge:rocks/andesite +- survivalist:andesite_rock + +#forge:ingots/silver +- thermal:silver_ingot + +#tconstruct:slimy_leaves +- tconstruct:earth_slime_leaves +- tconstruct:sky_slime_leaves +- tconstruct:ender_slime_leaves + +#create:upright_on_belt +- farmersdelight:milk_bottle +- farmersdelight:hot_cocoa +- farmersdelight:pie_crust +- farmersdelight:apple_pie +- farmersdelight:sweet_berry_cheesecake +- farmersdelight:chocolate_pie +- create:blaze_cake_base +- create:blaze_cake +- create:creative_blaze_cake +- create:builders_tea +- minecraft:glass_bottle +- minecraft:potion +- minecraft:splash_potion +- minecraft:lingering_potion +- minecraft:honey_bottle + +#forge:glass_panes/light_gray +- tconstruct:light_gray_clear_stained_glass_pane +- minecraft:light_gray_stained_glass_pane + +#forge:dusts/lumium +- thermal:lumium_dust + +#forge:beacon_payment +- #create:create_ingots + +#forge:storage_blocks/nickel +- thermal:nickel_block + +#tconstruct:casts/multi_use/tool_binding +- tconstruct:tool_binding_cast + +#forge:vegetables/carrot +- minecraft:carrot + +#survivalist:rock_sources/copper +- #forge:ores/copper? + +#tconstruct:modifiable +- #tconstruct:modifiable/multipart +- #tconstruct:modifiable/durability +- #tconstruct:modifiable/melee_or_harvest +- #tconstruct:modifiable/aoe +- #tconstruct:modifiable/one_handed +- #tconstruct:modifiable/two_handed + +#forge:ores/niter +- thermal:niter_ore + +#forge:nuggets/bronze +- thermal:bronze_nugget + +#forge:dusts/constantan +- thermal:constantan_dust + +#forge:armor/diamond +- minecraft:diamond_boots +- minecraft:diamond_chestplate +- minecraft:diamond_helmet +- minecraft:diamond_leggings + +#forge:glass/pink +- tconstruct:pink_clear_stained_glass +- minecraft:pink_stained_glass + +#forge:chests +- #forge:chests/ender +- #forge:chests/trapped +- #forge:chests/wooden + +#forge:storage_blocks/emerald +- minecraft:emerald_block + +#forge:ores/redstone +- minecraft:redstone_ore + +#forge:gears/silver +- thermal:silver_gear + +#forge:salad_ingredients +- #forge:salad_ingredients/cabbage + +#forge:ingots/hepatizon +- tconstruct:hepatizon_ingot + +#forge:glass/red +- tconstruct:red_clear_stained_glass +- minecraft:red_stained_glass + +#forge:dusts/lapis +- thermal:lapis_dust + +#forge:slimeball/blood +- tconstruct:blood_slime_ball + +#forge:ingots/soulsteel +- tconstruct:soulsteel_ingot + +#forge:ender_pearls +- minecraft:ender_pearl + +#forge:glass_panes/green +- tconstruct:green_clear_stained_glass_pane +- minecraft:green_stained_glass_pane + +#supplementaries:flower_box_plantable +- #minecraft:saplings +- #minecraft:flowers +- minecraft:red_mushroom +- minecraft:brown_mushroom +- minecraft:sweet_berries +- minecraft:warped_fungus +- minecraft:crimson_fungus +- minecraft:warped_roots +- minecraft:crimson_roots +- #forge:mushrooms? +- farmersdelight:brown_mushroom_colony? +- farmersdelight:red_mushroom_colony? +- byg:blue_berries? + +#tconstruct:casts/single_use +- #tconstruct:casts/single_use/blank +- #tconstruct:casts/single_use/ingot +- #tconstruct:casts/single_use/nugget +- #tconstruct:casts/single_use/gem +- #tconstruct:casts/single_use/rod +- #tconstruct:casts/single_use/repair_kit +- #tconstruct:casts/single_use/plate +- #tconstruct:casts/single_use/gear +- #tconstruct:casts/single_use/coin +- #tconstruct:casts/single_use/pickaxe_head +- #tconstruct:casts/single_use/small_axe_head +- #tconstruct:casts/single_use/small_blade +- #tconstruct:casts/single_use/hammer_head +- #tconstruct:casts/single_use/broad_axe_head +- #tconstruct:casts/single_use/broad_blade +- #tconstruct:casts/single_use/tool_binding +- #tconstruct:casts/single_use/large_plate +- #tconstruct:casts/single_use/tool_handle +- #tconstruct:casts/single_use/tough_handle + +#tconstruct:seeds +- #forge:seeds +- minecraft:carrot +- minecraft:potato +- minecraft:nether_wart + +#forge:weak_ores/copper +- survivalist:copper_ore_rock + +#forge:fiber +- supplementaries:flax + +#forge:chests/trapped +- minecraft:trapped_chest + +#forge:ingots/pig_iron +- tconstruct:pig_iron_ingot + +#forge:fence_gates +- #forge:fence_gates/wooden + +#forge:weak_ores/gold +- survivalist:gold_ore_rock + +#forge:ingots +- tconstruct:seared_brick +- tconstruct:scorched_brick +- #forge:ingots/copper +- #forge:ingots/cobalt +- #forge:ingots/slimesteel +- #forge:ingots/silicon_bronze +- #forge:ingots/rose_gold +- #forge:ingots/pig_iron +- #forge:ingots/queens_slime +- #forge:ingots/manyullyn +- #forge:ingots/hepatizon +- #forge:ingots/soulsteel +- #forge:ingots/knightslime +- #create:create_ingots +- #forge:ingots/iron +- #forge:ingots/gold +- #forge:ingots/brick +- #forge:ingots/nether_brick +- #forge:ingots/netherite +- #forge:ingots/bronze +- #forge:ingots/constantan +- #forge:ingots/copper +- #forge:ingots/electrum +- #forge:ingots/enderium +- #forge:ingots/invar +- #forge:ingots/lead +- #forge:ingots/lumium +- #forge:ingots/nickel +- #forge:ingots/signalum +- #forge:ingots/silver +- #forge:ingots/tin + +#thermal:crafting/casts +- thermal:chiller_ball_cast +- thermal:chiller_ingot_cast +- thermal:chiller_rod_cast + +#tconstruct:scorched_blocks +- tconstruct:scorched_stone +- tconstruct:polished_scorched_stone +- tconstruct:scorched_bricks +- tconstruct:scorched_road +- tconstruct:chiseled_scorched_bricks + +#forge:coins/silver +- thermal:silver_coin + +#forge:crops/nether_wart +- minecraft:nether_wart + +#forge:sandstone +- biomesoplenty:black_sandstone +- biomesoplenty:cut_black_sandstone +- biomesoplenty:chiseled_black_sandstone +- biomesoplenty:smooth_black_sandstone +- biomesoplenty:orange_sandstone +- biomesoplenty:cut_orange_sandstone +- biomesoplenty:chiseled_orange_sandstone +- biomesoplenty:smooth_orange_sandstone +- biomesoplenty:white_sandstone +- biomesoplenty:cut_white_sandstone +- biomesoplenty:chiseled_white_sandstone +- biomesoplenty:smooth_white_sandstone +- minecraft:sandstone +- minecraft:cut_sandstone +- minecraft:chiseled_sandstone +- minecraft:smooth_sandstone +- minecraft:red_sandstone +- minecraft:cut_red_sandstone +- minecraft:chiseled_red_sandstone +- minecraft:smooth_red_sandstone + +#forge:storage_blocks/copper +- tconstruct:copper_block +- create:copper_block +- thermal:copper_block + +#forge:milk/milk +- minecraft:milk_bucket + +#forge:glass_panes/colorless +- tconstruct:clear_glass_pane +- minecraft:glass_pane + +#minecraft:coals +- minecraft:coal +- minecraft:charcoal + +#tconstruct:casts/multi_use/nugget +- tconstruct:nugget_cast + +#forge:bread/wheat +- minecraft:bread + +#supplementaries:pedestal_downright +- minecraft:trident + +#forge:raw_fishes +- #forge:raw_fishes/cod +- #forge:raw_fishes/salmon +- #forge:raw_fishes/tropical_fish + +#forge:storage_blocks/cinnabar +- thermal:cinnabar_block + +#forge:dusts/invar +- thermal:invar_dust + +#forge:plates/constantan +- thermal:constantan_plate + +#forge:ingots/nether_brick +- minecraft:nether_brick + +#forge:sticks +- minecraft:stick + +#forge:gears/enderium +- thermal:enderium_gear + +#forge:coins/gold +- thermal:gold_coin + +#forge:storage_blocks/lapis +- minecraft:lapis_block + +#minecraft:beds +- minecraft:red_bed +- minecraft:black_bed +- minecraft:blue_bed +- minecraft:brown_bed +- minecraft:cyan_bed +- minecraft:gray_bed +- minecraft:green_bed +- minecraft:light_blue_bed +- minecraft:light_gray_bed +- minecraft:lime_bed +- minecraft:magenta_bed +- minecraft:orange_bed +- minecraft:pink_bed +- minecraft:purple_bed +- minecraft:white_bed +- minecraft:yellow_bed + +#tconstruct:seared_bricks +- tconstruct:seared_bricks +- tconstruct:seared_fancy_bricks +- tconstruct:seared_triangle_bricks + +#forge:ores/diamond +- minecraft:diamond_ore + +#forge:ores/lead +- thermal:lead_ore + +#forge:ingots/manyullyn +- tconstruct:manyullyn_ingot + +#minecraft:doors +- #minecraft:wooden_doors +- minecraft:iron_door +- supplementaries:gold_door +- supplementaries:netherite_door + +#forge:ingots/knightslime +- tconstruct:knightslime_ingot + +#thermal:crafting/dies +- thermal:press_coin_die +- thermal:press_gear_die +- thermal:press_packing_2x2_die +- thermal:press_packing_3x3_die +- thermal:press_unpacking_die + +#forge:dyes/orange +- minecraft:orange_dye + +#forge:storage_blocks/sugar_cane +- thermal:sugar_cane_block + +#forge:storage_blocks/signalum +- thermal:signalum_block + +#forge:storage_blocks/invar +- thermal:invar_block + +#forge:dusts/bronze +- thermal:bronze_dust + +#forge:coins/tin +- thermal:tin_coin + +#tconstruct:casts/single_use/gem +- tconstruct:gem_sand_cast +- tconstruct:gem_red_sand_cast + +#forge:plates/silver +- thermal:silver_plate + +#tconstruct:casts/multi_use/coin +- tconstruct:coin_cast + +#tconstruct:casts/single_use/broad_blade +- tconstruct:broad_blade_sand_cast +- tconstruct:broad_blade_red_sand_cast + +#forge:ores/tin +- thermal:tin_ore + +#forge:pasta/raw_pasta +- farmersdelight:raw_pasta + +#forge:small_ores/lead +- survivalist:lead_ore_rock + +#tconstruct:casts/single_use/hammer_head +- tconstruct:hammer_head_sand_cast +- tconstruct:hammer_head_red_sand_cast + +#forge:nuggets/soulsteel +- tconstruct:soulsteel_nugget + +#forge:glass/white +- tconstruct:white_clear_stained_glass +- minecraft:white_stained_glass + +#minecraft:signs +- minecraft:oak_sign +- minecraft:spruce_sign +- minecraft:birch_sign +- minecraft:acacia_sign +- minecraft:jungle_sign +- minecraft:dark_oak_sign +- minecraft:crimson_sign +- minecraft:warped_sign +- tconstruct:greenheart_sign +- tconstruct:skyroot_sign +- tconstruct:bloodshroom_sign + +#forge:glass_panes/red +- tconstruct:red_clear_stained_glass_pane +- minecraft:red_stained_glass_pane + +#forge:cooked_beef +- minecraft:cooked_beef +- farmersdelight:beef_patty + +#biomesoplenty:willow_logs +- biomesoplenty:willow_log +- biomesoplenty:willow_wood +- biomesoplenty:stripped_willow_log +- biomesoplenty:stripped_willow_wood + +#minecraft:fishes +- minecraft:cod +- minecraft:cooked_cod +- minecraft:salmon +- minecraft:cooked_salmon +- minecraft:pufferfish +- minecraft:tropical_fish + +#forge:weak_ores/iron +- survivalist:iron_ore_rock + +#forge:nuggets/manyullyn +- tconstruct:manyullyn_nugget + +#forge:dusts/wood +- thermal:sawdust + +#forge:tools/knives +- farmersdelight:flint_knife +- farmersdelight:iron_knife +- farmersdelight:diamond_knife +- farmersdelight:golden_knife +- farmersdelight:netherite_knife + +#forge:wither_bones +- tconstruct:necrotic_bone + +#forge:poor_ores/tin +- survivalist:tin_ore_rock + +#forge:storage_blocks/sapphire +- thermal:sapphire_block + +#forge:sand/colorless +- minecraft:sand + +#forge:coins/constantan +- thermal:constantan_coin + +#forge:tools/scythe +- tconstruct:kama +- tconstruct:scythe + +#forge:weak_ores/silver +- survivalist:silver_ore_rock + +#forge:slimeball/ender +- tconstruct:ender_slime_ball + +#forge:ingots/invar +- thermal:invar_ingot + +#forge:crops/cabbage +- farmersdelight:cabbage +- farmersdelight:cabbage_leaf + +#forge:nuggets/brass +- create:brass_nugget + +#forge:storage_blocks/charcoal +- thermal:charcoal_block + +#forge:ingots/enderium +- thermal:enderium_ingot + +#survivalist:rocks/granite +- survivalist:granite_rock + +#tconstruct:modifiable/melee/sword +- tconstruct:sword +- tconstruct:cleaver + +#forge:gems/diamond +- minecraft:diamond + +#minecraft:walls +- minecraft:cobblestone_wall +- minecraft:mossy_cobblestone_wall +- minecraft:brick_wall +- minecraft:prismarine_wall +- minecraft:red_sandstone_wall +- minecraft:mossy_stone_brick_wall +- minecraft:granite_wall +- minecraft:stone_brick_wall +- minecraft:nether_brick_wall +- minecraft:andesite_wall +- minecraft:red_nether_brick_wall +- minecraft:sandstone_wall +- minecraft:end_stone_brick_wall +- minecraft:diorite_wall +- minecraft:blackstone_wall +- minecraft:polished_blackstone_brick_wall +- minecraft:polished_blackstone_wall +- biomesoplenty:black_sandstone_wall +- biomesoplenty:orange_sandstone_wall +- biomesoplenty:white_sandstone_wall +- biomesoplenty:mud_brick_wall +- create:granite_cobblestone_wall +- create:granite_bricks_wall +- create:fancy_granite_bricks_wall +- create:paved_granite_wall +- create:diorite_cobblestone_wall +- create:diorite_bricks_wall +- create:fancy_diorite_bricks_wall +- create:paved_diorite_wall +- create:andesite_cobblestone_wall +- create:andesite_bricks_wall +- create:fancy_andesite_bricks_wall +- create:paved_andesite_wall +- create:limestone_cobblestone_wall +- create:polished_limestone_wall +- create:limestone_bricks_wall +- create:fancy_limestone_bricks_wall +- create:paved_limestone_wall +- create:weathered_limestone_cobblestone_wall +- create:polished_weathered_limestone_wall +- create:weathered_limestone_bricks_wall +- create:fancy_weathered_limestone_bricks_wall +- create:paved_weathered_limestone_wall +- create:dolomite_cobblestone_wall +- create:polished_dolomite_wall +- create:dolomite_bricks_wall +- create:fancy_dolomite_bricks_wall +- create:paved_dolomite_wall +- create:gabbro_cobblestone_wall +- create:polished_gabbro_wall +- create:gabbro_bricks_wall +- create:fancy_gabbro_bricks_wall +- create:paved_gabbro_wall +- create:scoria_cobblestone_wall +- create:polished_scoria_wall +- create:scoria_bricks_wall +- create:fancy_scoria_bricks_wall +- create:paved_scoria_wall +- create:dark_scoria_cobblestone_wall +- create:polished_dark_scoria_wall +- create:dark_scoria_bricks_wall +- create:fancy_dark_scoria_bricks_wall +- create:paved_dark_scoria_wall + +#tconstruct:slimy_logs +- #tconstruct:greenheart_logs +- #tconstruct:skyroot_logs +- #tconstruct:bloodshroom_logs + +#forge:glass/green +- tconstruct:green_clear_stained_glass +- minecraft:green_stained_glass + +#itemfilters:filters +- itemfilters:always_true +- itemfilters:always_false +- itemfilters:or +- itemfilters:and +- itemfilters:not +- itemfilters:xor +- itemfilters:tag +- itemfilters:mod +- itemfilters:item_group +- itemfilters:id_regex +- itemfilters:damage +- itemfilters:block +- itemfilters:max_count +- itemfilters:strong_nbt +- itemfilters:weak_nbt +- itemfilters:custom + +#forge:storage_blocks/lead +- thermal:lead_block + +#minecraft:music_discs +- #minecraft:creeper_drop_music_discs +- minecraft:music_disc_pigstep +- biomesoplenty:music_disc_wanderer + +#tconstruct:modifiable/melee_or_harvest +- #tconstruct:modifiable/melee +- #tconstruct:modifiable/harvest + +#survivalist:tanned_leather +- survivalist:tanned_leather + +#forge:gems +- #forge:gems/diamond +- #forge:gems/emerald +- #forge:gems/lapis +- #forge:gems/prismarine +- #forge:gems/quartz +- #forge:gems/apatite +- #forge:gems/cinnabar +- #forge:gems/niter +- #forge:gems/ruby +- #forge:gems/sapphire +- #forge:gems/sulfur + +#survivalist:rock_sources/tin +- #forge:ores/tin? + +#forge:rocks/diorite +- survivalist:diorite_rock + +#minecraft:sand +- minecraft:sand +- minecraft:red_sand +- biomesoplenty:black_sand +- biomesoplenty:orange_sand +- biomesoplenty:white_sand + +#forge:plates/bronze +- thermal:bronze_plate + +#forge:nuggets/hepatizon +- tconstruct:hepatizon_nugget + +#forge:end_stones +- minecraft:end_stone + +#biomesoplenty:fir_logs +- biomesoplenty:fir_log +- biomesoplenty:fir_wood +- biomesoplenty:stripped_fir_log +- biomesoplenty:stripped_fir_wood + +#survivalist:dough +- survivalist:dough + +#forge:nuggets/netherite_scrap +- tconstruct:debris_nugget + +#forge:rocks/granite +- survivalist:granite_rock + +#forge:raw_chicken +- minecraft:chicken +- farmersdelight:chicken_cuts + +#forge:ores/sulfur +- thermal:sulfur_ore + +#forge:fences/wooden +- tconstruct:greenheart_fence +- tconstruct:skyroot_fence +- tconstruct:bloodshroom_fence +- biomesoplenty:fir_fence +- biomesoplenty:redwood_fence +- biomesoplenty:cherry_fence +- biomesoplenty:mahogany_fence +- biomesoplenty:jacaranda_fence +- biomesoplenty:palm_fence +- biomesoplenty:willow_fence +- biomesoplenty:dead_fence +- biomesoplenty:magic_fence +- biomesoplenty:umbran_fence +- biomesoplenty:hellbark_fence +- minecraft:oak_fence +- minecraft:spruce_fence +- minecraft:birch_fence +- minecraft:jungle_fence +- minecraft:acacia_fence +- minecraft:dark_oak_fence +- minecraft:crimson_fence +- minecraft:warped_fence + +#forge:dusts/emerald +- thermal:emerald_dust + +#sereneseasons:summer_crops +- farmersdelight:tomato_seeds +- farmersdelight:rice +- biomesoplenty:origin_sapling +- biomesoplenty:flowering_oak_sapling +- biomesoplenty:rainbow_birch_sapling +- biomesoplenty:yellow_autumn_sapling +- biomesoplenty:orange_autumn_sapling +- biomesoplenty:maple_sapling +- biomesoplenty:fir_sapling +- biomesoplenty:redwood_sapling +- biomesoplenty:white_cherry_sapling +- biomesoplenty:pink_cherry_sapling +- biomesoplenty:mahogany_sapling +- biomesoplenty:jacaranda_sapling +- biomesoplenty:palm_sapling +- biomesoplenty:willow_sapling +- biomesoplenty:dead_sapling +- biomesoplenty:magic_sapling +- biomesoplenty:umbran_sapling +- biomesoplenty:hellbark_sapling +- biomesoplenty:spanish_moss +- biomesoplenty:spanish_moss_plant +- biomesoplenty:clover +- biomesoplenty:toadstool +- biomesoplenty:glowshroom + +#forge:dyes/light_gray +- minecraft:light_gray_dye + +#forge:storage_blocks +- #forge:storage_blocks/copper +- #forge:storage_blocks/cobalt +- #forge:storage_blocks/slimesteel +- #forge:storage_blocks/silicon_bronze +- #forge:storage_blocks/rose_gold +- #forge:storage_blocks/pig_iron +- #forge:storage_blocks/queens_slime +- #forge:storage_blocks/manyullyn +- #forge:storage_blocks/hepatizon +- #forge:storage_blocks/soulsteel +- #forge:storage_blocks/knightslime +- create:copper_block +- create:zinc_block +- create:brass_block +- #forge:storage_blocks/coal +- #forge:storage_blocks/diamond +- #forge:storage_blocks/emerald +- #forge:storage_blocks/gold +- #forge:storage_blocks/iron +- #forge:storage_blocks/lapis +- #forge:storage_blocks/quartz +- #forge:storage_blocks/redstone +- #forge:storage_blocks/netherite +- #forge:storage_blocks/apatite +- #forge:storage_blocks/bamboo +- #forge:storage_blocks/bronze +- #forge:storage_blocks/charcoal +- #forge:storage_blocks/cinnabar +- #forge:storage_blocks/coal_coke +- #forge:storage_blocks/constantan +- #forge:storage_blocks/copper +- #forge:storage_blocks/electrum +- #forge:storage_blocks/enderium +- #forge:storage_blocks/gunpowder +- #forge:storage_blocks/invar +- #forge:storage_blocks/lead +- #forge:storage_blocks/lumium +- #forge:storage_blocks/nickel +- #forge:storage_blocks/niter +- #forge:storage_blocks/ruby +- #forge:storage_blocks/sapphire +- #forge:storage_blocks/signalum +- #forge:storage_blocks/silver +- #forge:storage_blocks/sugar_cane +- #forge:storage_blocks/sulfur +- #forge:storage_blocks/tin + +#forge:coins/lead +- thermal:lead_coin + +#forge:ingots/bronze +- thermal:bronze_ingot + +#forge:glass_panes/orange +- tconstruct:orange_clear_stained_glass_pane +- minecraft:orange_stained_glass_pane + +#forge:milk +- #forge:milk/milk +- #forge:milk/milk_bottle +- minecraft:milk_bucket + +#minecraft:beacon_payment_items +- minecraft:netherite_ingot +- minecraft:emerald +- minecraft:diamond +- minecraft:gold_ingot +- minecraft:iron_ingot + +#forge:ingots/copper +- tconstruct:copper_ingot +- create:copper_ingot +- thermal:copper_ingot + +#tconstruct:casts/single_use/plate +- tconstruct:plate_sand_cast +- tconstruct:plate_red_sand_cast + +#forge:ores/quartz +- minecraft:nether_quartz_ore + +#forge:ores/cobalt +- tconstruct:cobalt_ore + +#forge:nuggets/signalum +- thermal:signalum_nugget + +#forge:ingots/brick +- minecraft:brick + +#tconstruct:casts/multi_use/broad_axe_head +- tconstruct:broad_axe_head_cast + +#forge:glass/blue +- tconstruct:blue_clear_stained_glass +- minecraft:blue_stained_glass + +#forge:raw_beef +- minecraft:beef +- farmersdelight:minced_beef + +#forge:saplings +- minecraft:oak_sapling +- minecraft:birch_sapling +- minecraft:spruce_sapling +- minecraft:jungle_sapling +- minecraft:dark_oak_sapling +- minecraft:acacia_sapling + +#forge:plates/electrum +- thermal:electrum_plate + +#minecraft:wooden_trapdoors +- minecraft:acacia_trapdoor +- minecraft:birch_trapdoor +- minecraft:dark_oak_trapdoor +- minecraft:jungle_trapdoor +- minecraft:oak_trapdoor +- minecraft:spruce_trapdoor +- minecraft:crimson_trapdoor +- minecraft:warped_trapdoor +- tconstruct:greenheart_trapdoor +- tconstruct:skyroot_trapdoor +- tconstruct:bloodshroom_trapdoor +- biomesoplenty:fir_trapdoor +- biomesoplenty:redwood_trapdoor +- biomesoplenty:cherry_trapdoor +- biomesoplenty:mahogany_trapdoor +- biomesoplenty:jacaranda_trapdoor +- biomesoplenty:palm_trapdoor +- biomesoplenty:willow_trapdoor +- biomesoplenty:dead_trapdoor +- biomesoplenty:magic_trapdoor +- biomesoplenty:umbran_trapdoor +- biomesoplenty:hellbark_trapdoor + +#create:valve_handles +- create:copper_valve_handle +- create:white_valve_handle +- create:orange_valve_handle +- create:magenta_valve_handle +- create:light_blue_valve_handle +- create:yellow_valve_handle +- create:lime_valve_handle +- create:pink_valve_handle +- create:gray_valve_handle +- create:light_gray_valve_handle +- create:cyan_valve_handle +- create:purple_valve_handle +- create:blue_valve_handle +- create:brown_valve_handle +- create:green_valve_handle +- create:red_valve_handle +- create:black_valve_handle + +#tconstruct:modifiable/harvest/primary +- tconstruct:pickaxe +- tconstruct:sledge_hammer +- tconstruct:vein_hammer +- tconstruct:mattock +- tconstruct:excavator +- tconstruct:hand_axe +- tconstruct:broad_axe +- tconstruct:kama +- tconstruct:scythe + +#forge:cooked_pork +- minecraft:cooked_porkchop +- farmersdelight:cooked_bacon + +#forge:storage_blocks/coal +- minecraft:coal_block + +#forge:glass/light_blue +- tconstruct:light_blue_clear_stained_glass +- minecraft:light_blue_stained_glass + +#forge:nuggets/slimesteel +- tconstruct:slimesteel_nugget + +#survivalist:ore_rocks/iron +- survivalist:iron_ore_rock + +#forge:ingots/brass +- create:brass_ingot + +#forge:coins/electrum +- thermal:electrum_coin + +#forge:storage_blocks/redstone +- minecraft:redstone_block + +#forge:gems/sapphire +- thermal:sapphire + +#survivalist:rocks/andesite +- survivalist:andesite_rock + +#survivalist:rock_sources/silver +- #forge:ores/silver? + +#forge:cooked_mutton +- minecraft:cooked_mutton +- farmersdelight:cooked_mutton_chops + +#minecraft:stairs +- #minecraft:wooden_stairs +- minecraft:cobblestone_stairs +- minecraft:sandstone_stairs +- minecraft:nether_brick_stairs +- minecraft:stone_brick_stairs +- minecraft:brick_stairs +- minecraft:purpur_stairs +- minecraft:quartz_stairs +- minecraft:red_sandstone_stairs +- minecraft:prismarine_brick_stairs +- minecraft:prismarine_stairs +- minecraft:dark_prismarine_stairs +- minecraft:polished_granite_stairs +- minecraft:smooth_red_sandstone_stairs +- minecraft:mossy_stone_brick_stairs +- minecraft:polished_diorite_stairs +- minecraft:mossy_cobblestone_stairs +- minecraft:end_stone_brick_stairs +- minecraft:stone_stairs +- minecraft:smooth_sandstone_stairs +- minecraft:smooth_quartz_stairs +- minecraft:granite_stairs +- minecraft:andesite_stairs +- minecraft:red_nether_brick_stairs +- minecraft:polished_andesite_stairs +- minecraft:diorite_stairs +- minecraft:blackstone_stairs +- minecraft:polished_blackstone_brick_stairs +- minecraft:polished_blackstone_stairs +- biomesoplenty:black_sandstone_stairs +- biomesoplenty:smooth_black_sandstone_stairs +- biomesoplenty:orange_sandstone_stairs +- biomesoplenty:smooth_orange_sandstone_stairs +- biomesoplenty:white_sandstone_stairs +- biomesoplenty:smooth_white_sandstone_stairs +- biomesoplenty:mud_brick_stairs +- biomesoplenty:fir_stairs +- biomesoplenty:redwood_stairs +- biomesoplenty:cherry_stairs +- biomesoplenty:mahogany_stairs +- biomesoplenty:jacaranda_stairs +- biomesoplenty:palm_stairs +- biomesoplenty:willow_stairs +- biomesoplenty:dead_stairs +- biomesoplenty:magic_stairs +- biomesoplenty:umbran_stairs +- biomesoplenty:hellbark_stairs +- create:granite_cobblestone_stairs +- create:granite_bricks_stairs +- create:fancy_granite_bricks_stairs +- create:paved_granite_stairs +- create:diorite_cobblestone_stairs +- create:diorite_bricks_stairs +- create:fancy_diorite_bricks_stairs +- create:paved_diorite_stairs +- create:andesite_cobblestone_stairs +- create:andesite_bricks_stairs +- create:fancy_andesite_bricks_stairs +- create:paved_andesite_stairs +- create:limestone_cobblestone_stairs +- create:polished_limestone_stairs +- create:limestone_bricks_stairs +- create:fancy_limestone_bricks_stairs +- create:paved_limestone_stairs +- create:weathered_limestone_cobblestone_stairs +- create:polished_weathered_limestone_stairs +- create:weathered_limestone_bricks_stairs +- create:fancy_weathered_limestone_bricks_stairs +- create:paved_weathered_limestone_stairs +- create:dolomite_cobblestone_stairs +- create:polished_dolomite_stairs +- create:dolomite_bricks_stairs +- create:fancy_dolomite_bricks_stairs +- create:paved_dolomite_stairs +- create:gabbro_cobblestone_stairs +- create:polished_gabbro_stairs +- create:gabbro_bricks_stairs +- create:fancy_gabbro_bricks_stairs +- create:paved_gabbro_stairs +- create:scoria_cobblestone_stairs +- create:polished_scoria_stairs +- create:scoria_bricks_stairs +- create:fancy_scoria_bricks_stairs +- create:paved_scoria_stairs +- create:dark_scoria_cobblestone_stairs +- create:polished_dark_scoria_stairs +- create:dark_scoria_bricks_stairs +- create:fancy_dark_scoria_bricks_stairs +- create:paved_dark_scoria_stairs + +#forge:nuggets/silicon_bronze +- tconstruct:tinkers_bronze_nugget + +#forge:vegetables/tomato +- farmersdelight:tomato + +#tconstruct:casts/multi_use/gem +- tconstruct:gem_cast + +#minecraft:logs +- #minecraft:logs_that_burn +- #minecraft:crimson_stems +- #minecraft:warped_stems +- #tconstruct:slimy_logs +- #biomesoplenty:fir_logs +- #biomesoplenty:redwood_logs +- #biomesoplenty:cherry_logs +- #biomesoplenty:mahogany_logs +- #biomesoplenty:jacaranda_logs +- #biomesoplenty:palm_logs +- #biomesoplenty:willow_logs +- #biomesoplenty:dead_logs +- #biomesoplenty:magic_logs +- #biomesoplenty:umbran_logs +- #biomesoplenty:hellbark_logs + +#forge:cooked_bacon +- farmersdelight:cooked_bacon + +#forge:ores/cinnabar +- thermal:cinnabar_ore + +#forge:slag +- thermal:slag + +#forge:plates/enderium +- thermal:enderium_plate + +#minecraft:arrows +- minecraft:arrow +- minecraft:tipped_arrow +- minecraft:spectral_arrow +- supplementaries:rope_arrow +- supplementaries:amethyst_arrow + +#tconstruct:casts/multi_use/ingot +- tconstruct:ingot_cast + +#forge:seeds/rice +- farmersdelight:rice + +#forge:dusts/sapphire +- thermal:sapphire_dust + +#minecraft:wooden_doors +- minecraft:oak_door +- minecraft:spruce_door +- minecraft:birch_door +- minecraft:jungle_door +- minecraft:acacia_door +- minecraft:dark_oak_door +- minecraft:crimson_door +- minecraft:warped_door +- tconstruct:greenheart_door +- tconstruct:skyroot_door +- tconstruct:bloodshroom_door +- biomesoplenty:fir_door +- biomesoplenty:redwood_door +- biomesoplenty:cherry_door +- biomesoplenty:mahogany_door +- biomesoplenty:jacaranda_door +- biomesoplenty:palm_door +- biomesoplenty:willow_door +- biomesoplenty:dead_door +- biomesoplenty:magic_door +- biomesoplenty:umbran_door +- biomesoplenty:hellbark_door + +#forge:nuggets/invar +- thermal:invar_nugget + +#tconstruct:duct_containers +- minecraft:bucket +- tconstruct:copper_can +- tconstruct:seared_lantern +- tconstruct:scorched_lantern + +#forge:tools/diamond +- minecraft:diamond_axe +- minecraft:diamond_pickaxe +- minecraft:diamond_shovel +- minecraft:diamond_sword + +#forge:gears/bronze +- thermal:bronze_gear + +#tconstruct:planklike +- #minecraft:planks +- tconstruct:lavawood +- tconstruct:blazewood +- tconstruct:nahuatl + +#sereneseasons:autumn_crops +- farmersdelight:cabbage_seeds +- farmersdelight:onion +- farmersdelight:rice +- biomesoplenty:origin_sapling +- biomesoplenty:flowering_oak_sapling +- biomesoplenty:rainbow_birch_sapling +- biomesoplenty:yellow_autumn_sapling +- biomesoplenty:orange_autumn_sapling +- biomesoplenty:maple_sapling +- biomesoplenty:fir_sapling +- biomesoplenty:redwood_sapling +- biomesoplenty:white_cherry_sapling +- biomesoplenty:pink_cherry_sapling +- biomesoplenty:mahogany_sapling +- biomesoplenty:jacaranda_sapling +- biomesoplenty:palm_sapling +- biomesoplenty:willow_sapling +- biomesoplenty:dead_sapling +- biomesoplenty:magic_sapling +- biomesoplenty:umbran_sapling +- biomesoplenty:hellbark_sapling +- biomesoplenty:toadstool +- biomesoplenty:glowshroom + +#forge:ingots/constantan +- thermal:constantan_ingot + +#forge:glass/purple +- tconstruct:purple_clear_stained_glass +- minecraft:purple_stained_glass + +#forge:tools/shovels +- minecraft:wooden_shovel +- minecraft:stone_shovel +- minecraft:iron_shovel +- minecraft:diamond_shovel +- minecraft:golden_shovel +- minecraft:netherite_shovel + +#forge:dyes/magenta +- minecraft:magenta_dye + +#minecraft:crimson_stems +- minecraft:crimson_stem +- minecraft:stripped_crimson_stem +- minecraft:crimson_hyphae +- minecraft:stripped_crimson_hyphae + +#minecraft:stone_tool_materials +- minecraft:cobblestone +- minecraft:blackstone + +#forge:dyes/cyan +- minecraft:cyan_dye + +#forge:nuggets/queens_slime +- tconstruct:queens_slime_nugget + +#forge:nuggets/netherite +- tconstruct:netherite_nugget + +#forge:coins/copper +- thermal:copper_coin + +#forge:storage_blocks/ruby +- thermal:ruby_block + +#forge:weak_ores/lead +- survivalist:lead_ore_rock + +#forge:raw_fishes/salmon +- minecraft:salmon +- farmersdelight:salmon_slice + +#survivalist:nuggets/aluminum +- survivalist:aluminum_nugget + +#tconstruct:slime_block +- minecraft:slime_block +- tconstruct:sky_slime +- tconstruct:ichor_slime +- tconstruct:ender_slime +- tconstruct:blood_slime + +#forge:seeds/wheat +- minecraft:wheat_seeds + +#forge:ingots/iron +- minecraft:iron_ingot + +#forge:crops/rice +- farmersdelight:rice + +#tconstruct:scorched_tanks +- tconstruct:scorched_fuel_tank +- tconstruct:scorched_fuel_gauge +- tconstruct:scorched_ingot_tank +- tconstruct:scorched_ingot_gauge + +#forge:dyes/purple +- minecraft:purple_dye + +#supplementaries:fire_sources +- minecraft:flint_and_steel +- simply_steel:flint_and_iron? +- realistictorches:matchbox? +- lotr:match? + +#minecraft:anvil +- minecraft:anvil +- minecraft:chipped_anvil +- minecraft:damaged_anvil + +#forge:storage_blocks/enderium +- thermal:enderium_block + +#forge:sand +- biomesoplenty:black_sand +- biomesoplenty:orange_sand +- biomesoplenty:white_sand +- #forge:sand/colorless +- #forge:sand/red + +#thermal:rockwool +- thermal:white_rockwool +- thermal:orange_rockwool +- thermal:magenta_rockwool +- thermal:light_blue_rockwool +- thermal:yellow_rockwool +- thermal:lime_rockwool +- thermal:pink_rockwool +- thermal:gray_rockwool +- thermal:light_gray_rockwool +- thermal:cyan_rockwool +- thermal:purple_rockwool +- thermal:blue_rockwool +- thermal:brown_rockwool +- thermal:green_rockwool +- thermal:red_rockwool +- thermal:black_rockwool + +#forge:nuggets/pig_iron +- tconstruct:pig_iron_nugget + +#forge:storage_blocks/tar +- thermal:tar_block + +#forge:dyes/yellow +- minecraft:yellow_dye + +#survivalist:ore_rocks/gold +- survivalist:gold_ore_rock + +#forge:gems/apatite +- thermal:apatite + +#forge:ingots/queens_slime +- tconstruct:queens_slime_ingot + +#tconstruct:casts/multi_use/broad_blade +- tconstruct:broad_blade_cast + +#forge:gems/prismarine +- minecraft:prismarine_crystals + +#farmersdelight:cabbage_roll_ingredients +- #forge:raw_pork +- #forge:raw_fishes +- #forge:raw_chicken +- #forge:raw_beef +- #forge:raw_mutton +- #forge:eggs +- #forge:mushrooms +- minecraft:carrot +- minecraft:potato +- minecraft:beetroot + +#forge:dusts/ruby +- thermal:ruby_dust + +#forge:storage_blocks/silver +- thermal:silver_block + +#forge:ores/gold +- #minecraft:gold_ores + +#forge:tar +- thermal:tar + +#forge:storage_blocks/hepatizon +- tconstruct:hepatizon_block + +#minecraft:stone_crafting_materials +- minecraft:cobblestone +- minecraft:blackstone + +#minecraft:piglin_repellents +- minecraft:soul_torch +- minecraft:soul_lantern +- minecraft:soul_campfire +- supplementaries:sconce_soul + +#forge:ingots/zinc +- create:zinc_ingot + +#forge:nuggets/knightslime +- tconstruct:knightslime_nugget + +#forge:cooked_eggs +- farmersdelight:fried_egg + +#biomesoplenty:palm_logs +- biomesoplenty:palm_log +- biomesoplenty:palm_wood +- biomesoplenty:stripped_palm_log +- biomesoplenty:stripped_palm_wood + +#forge:nuggets/zinc +- create:zinc_nugget + +#forge:glass/black +- tconstruct:black_clear_stained_glass +- minecraft:black_stained_glass + +#forge:gears/lead +- thermal:lead_gear + +#forge:grain/wheat +- minecraft:wheat + +#tconstruct:casts/multi_use/pickaxe_head +- tconstruct:pickaxe_head_cast + +#forge:fences/nether_brick +- minecraft:nether_brick_fence + +#forge:rods +- #forge:rods/blaze +- #forge:rods/wooden + +#forge:glass/lime +- tconstruct:lime_clear_stained_glass +- minecraft:lime_stained_glass + +#tconstruct:casts/multi_use/gear +- tconstruct:gear_cast + +#forge:chests/wooden +- minecraft:chest +- minecraft:trapped_chest + +#forge:ores/iron +- minecraft:iron_ore + +#tconstruct:modifiable/aoe +- tconstruct:pickaxe +- tconstruct:sledge_hammer +- tconstruct:vein_hammer +- tconstruct:mattock +- tconstruct:excavator +- tconstruct:hand_axe +- tconstruct:broad_axe +- tconstruct:kama +- tconstruct:scythe +- tconstruct:sword +- tconstruct:cleaver +- tconstruct:flint_and_bronze + +#forge:dusts/copper +- thermal:copper_dust + +#forge:storage_blocks/sulfur +- thermal:sulfur_block + +#forge:gems/emerald +- minecraft:emerald + +#minecraft:wooden_stairs +- minecraft:oak_stairs +- minecraft:spruce_stairs +- minecraft:birch_stairs +- minecraft:jungle_stairs +- minecraft:acacia_stairs +- minecraft:dark_oak_stairs +- minecraft:crimson_stairs +- minecraft:warped_stairs +- tconstruct:greenheart_planks_stairs +- tconstruct:skyroot_planks_stairs +- tconstruct:bloodshroom_planks_stairs +- biomesoplenty:fir_stairs +- biomesoplenty:redwood_stairs +- biomesoplenty:cherry_stairs +- biomesoplenty:mahogany_stairs +- biomesoplenty:jacaranda_stairs +- biomesoplenty:palm_stairs +- biomesoplenty:willow_stairs +- biomesoplenty:dead_stairs +- biomesoplenty:magic_stairs +- biomesoplenty:umbran_stairs +- biomesoplenty:hellbark_stairs + +#survivalist:rocks/stone +- survivalist:stone_rock + +#tconstruct:casts/multi_use/small_axe_head +- tconstruct:small_axe_head_cast + +#thermal:glass/hardened +- thermal:obsidian_glass +- thermal:signalum_glass +- thermal:lumium_glass +- thermal:enderium_glass + +#minecraft:carpets +- minecraft:white_carpet +- minecraft:orange_carpet +- minecraft:magenta_carpet +- minecraft:light_blue_carpet +- minecraft:yellow_carpet +- minecraft:lime_carpet +- minecraft:pink_carpet +- minecraft:gray_carpet +- minecraft:light_gray_carpet +- minecraft:cyan_carpet +- minecraft:purple_carpet +- minecraft:blue_carpet +- minecraft:brown_carpet +- minecraft:green_carpet +- minecraft:red_carpet +- minecraft:black_carpet +- farmersdelight:full_tatami_mat +- farmersdelight:half_tatami_mat + +#minecraft:wooden_buttons +- minecraft:oak_button +- minecraft:spruce_button +- minecraft:birch_button +- minecraft:jungle_button +- minecraft:acacia_button +- minecraft:dark_oak_button +- minecraft:crimson_button +- minecraft:warped_button +- tconstruct:greenheart_button +- tconstruct:skyroot_button +- tconstruct:bloodshroom_button +- biomesoplenty:fir_button +- biomesoplenty:redwood_button +- biomesoplenty:cherry_button +- biomesoplenty:mahogany_button +- biomesoplenty:jacaranda_button +- biomesoplenty:palm_button +- biomesoplenty:willow_button +- biomesoplenty:dead_button +- biomesoplenty:magic_button +- biomesoplenty:umbran_button +- biomesoplenty:hellbark_button + +#forge:tools +- #forge:tools/axes +- #forge:tools/knives +- #forge:tools/pickaxes +- #forge:tools/shovels + +#forge:poor_ores/silver +- survivalist:silver_ore_rock + +#biomesoplenty:umbran_logs +- biomesoplenty:umbran_log +- biomesoplenty:umbran_wood +- biomesoplenty:stripped_umbran_log +- biomesoplenty:stripped_umbran_wood + +#tconstruct:tanks +- #tconstruct:seared_tanks +- #tconstruct:scorched_tanks + +#minecraft:stone_bricks +- minecraft:stone_bricks +- minecraft:mossy_stone_bricks +- minecraft:cracked_stone_bricks +- minecraft:chiseled_stone_bricks + +#forge:storage_blocks/quartz +- minecraft:quartz_block + +#forge:gears/tin +- thermal:tin_gear + +#forge:nuggets/nickel +- thermal:nickel_nugget + +#forge:glass/orange +- tconstruct:orange_clear_stained_glass +- minecraft:orange_stained_glass + +#forge:coins/nickel +- thermal:nickel_coin + +#forge:dyes/green +- minecraft:green_dye + +#forge:raw_mutton +- minecraft:mutton +- farmersdelight:mutton_chops + +#forge:plates/gold +- create:golden_sheet +- thermal:gold_plate + +#forge:crops/onion +- farmersdelight:onion + +#minecraft:slabs +- #minecraft:wooden_slabs +- minecraft:stone_slab +- minecraft:smooth_stone_slab +- minecraft:stone_brick_slab +- minecraft:sandstone_slab +- minecraft:purpur_slab +- minecraft:quartz_slab +- minecraft:red_sandstone_slab +- minecraft:brick_slab +- minecraft:cobblestone_slab +- minecraft:nether_brick_slab +- minecraft:petrified_oak_slab +- minecraft:prismarine_slab +- minecraft:prismarine_brick_slab +- minecraft:dark_prismarine_slab +- minecraft:polished_granite_slab +- minecraft:smooth_red_sandstone_slab +- minecraft:mossy_stone_brick_slab +- minecraft:polished_diorite_slab +- minecraft:mossy_cobblestone_slab +- minecraft:end_stone_brick_slab +- minecraft:smooth_sandstone_slab +- minecraft:smooth_quartz_slab +- minecraft:granite_slab +- minecraft:andesite_slab +- minecraft:red_nether_brick_slab +- minecraft:polished_andesite_slab +- minecraft:diorite_slab +- minecraft:cut_sandstone_slab +- minecraft:cut_red_sandstone_slab +- minecraft:blackstone_slab +- minecraft:polished_blackstone_brick_slab +- minecraft:polished_blackstone_slab +- biomesoplenty:black_sandstone_slab +- biomesoplenty:cut_black_sandstone_slab +- biomesoplenty:smooth_black_sandstone_slab +- biomesoplenty:orange_sandstone_slab +- biomesoplenty:cut_orange_sandstone_slab +- biomesoplenty:smooth_orange_sandstone_slab +- biomesoplenty:white_sandstone_slab +- biomesoplenty:cut_white_sandstone_slab +- biomesoplenty:smooth_white_sandstone_slab +- biomesoplenty:mud_brick_slab +- biomesoplenty:fir_slab +- biomesoplenty:redwood_slab +- biomesoplenty:cherry_slab +- biomesoplenty:mahogany_slab +- biomesoplenty:jacaranda_slab +- biomesoplenty:palm_slab +- biomesoplenty:willow_slab +- biomesoplenty:dead_slab +- biomesoplenty:magic_slab +- biomesoplenty:umbran_slab +- biomesoplenty:hellbark_slab +- create:granite_cobblestone_slab +- create:granite_bricks_slab +- create:fancy_granite_bricks_slab +- create:paved_granite_slab +- create:diorite_cobblestone_slab +- create:diorite_bricks_slab +- create:fancy_diorite_bricks_slab +- create:paved_diorite_slab +- create:andesite_cobblestone_slab +- create:andesite_bricks_slab +- create:fancy_andesite_bricks_slab +- create:paved_andesite_slab +- create:limestone_cobblestone_slab +- create:polished_limestone_slab +- create:limestone_bricks_slab +- create:fancy_limestone_bricks_slab +- create:paved_limestone_slab +- create:weathered_limestone_cobblestone_slab +- create:polished_weathered_limestone_slab +- create:weathered_limestone_bricks_slab +- create:fancy_weathered_limestone_bricks_slab +- create:paved_weathered_limestone_slab +- create:dolomite_cobblestone_slab +- create:polished_dolomite_slab +- create:dolomite_bricks_slab +- create:fancy_dolomite_bricks_slab +- create:paved_dolomite_slab +- create:gabbro_cobblestone_slab +- create:polished_gabbro_slab +- create:gabbro_bricks_slab +- create:fancy_gabbro_bricks_slab +- create:paved_gabbro_slab +- create:scoria_cobblestone_slab +- create:polished_scoria_slab +- create:scoria_bricks_slab +- create:fancy_scoria_bricks_slab +- create:paved_scoria_slab +- create:dark_scoria_cobblestone_slab +- create:polished_dark_scoria_slab +- create:dark_scoria_bricks_slab +- create:fancy_dark_scoria_bricks_slab +- create:paved_dark_scoria_slab +- supplementaries:checker_slab +- supplementaries:stone_tile_slab +- supplementaries:blackstone_tile_slab + +#supplementaries:pedestal_upright +- minecraft:wooden_sword + +#forge:ores/emerald +- minecraft:emerald_ore + +#forge:storage_blocks/bitumen +- thermal:bitumen_block + +#forge:ingots/cobalt +- tconstruct:cobalt_ingot + +#tconstruct:casts/single_use/pickaxe_head +- tconstruct:pickaxe_head_sand_cast +- tconstruct:pickaxe_head_red_sand_cast + +#forge:dyes/lime +- minecraft:lime_dye + +#tconstruct:guides +- tconstruct:materials_and_you +- tconstruct:tinkers_gadgetry +- tconstruct:puny_smelting +- tconstruct:mighty_smelting +- tconstruct:fantastic_foundry +- tconstruct:encyclopedia + +#forge:dusts/diamond +- thermal:diamond_dust + +#tconstruct:congealed_slime +- tconstruct:earth_congealed_slime +- tconstruct:sky_congealed_slime +- tconstruct:ichor_congealed_slime +- tconstruct:ender_congealed_slime +- tconstruct:blood_congealed_slime + +#tconstruct:modifiable/melee/primary +- tconstruct:sledge_hammer +- tconstruct:hand_axe +- tconstruct:broad_axe +- tconstruct:scythe +- tconstruct:dagger +- tconstruct:sword +- tconstruct:cleaver + +#forge:ores/apatite +- thermal:apatite_ore + +#forge:gears/sapphire +- thermal:sapphire_gear + +#minecraft:buttons +- #minecraft:wooden_buttons +- minecraft:stone_button +- minecraft:polished_blackstone_button + +#farmersdelight:comfort_foods +- minecraft:mushroom_stew +- minecraft:beetroot_soup +- minecraft:rabbit_stew + +#forge:plates/iron +- create:iron_sheet +- thermal:iron_plate + +#forge:shulker_boxes +- minecraft:shulker_box +- minecraft:black_shulker_box +- minecraft:blue_shulker_box +- minecraft:brown_shulker_box +- minecraft:cyan_shulker_box +- minecraft:gray_shulker_box +- minecraft:green_shulker_box +- minecraft:light_blue_shulker_box +- minecraft:light_gray_shulker_box +- minecraft:lime_shulker_box +- minecraft:magenta_shulker_box +- minecraft:orange_shulker_box +- minecraft:pink_shulker_box +- minecraft:purple_shulker_box +- minecraft:red_shulker_box +- minecraft:white_shulker_box +- minecraft:yellow_shulker_box + +#forge:raw_pork +- minecraft:porkchop +- farmersdelight:bacon + +#forge:nuggets/lumium +- thermal:lumium_nugget + +#survivalist:fibre_sources +- minecraft:grass +- minecraft:tall_grass +- minecraft:vine +- minecraft:fern +- minecraft:large_fern + +#minecraft:rails +- minecraft:rail +- minecraft:powered_rail +- minecraft:detector_rail +- minecraft:activator_rail + +#forge:nuggets/silver +- survivalist:silver_nugget +- thermal:silver_nugget + +#tconstruct:structure_debug +- #tconstruct:guides + +#forge:storage_blocks/niter +- thermal:niter_block + +#forge:books +- #forge:books/guide + +#tconstruct:casts/single_use/large_plate +- tconstruct:large_plate_sand_cast +- tconstruct:large_plate_red_sand_cast + +#tconstruct:casts/single_use/nugget +- tconstruct:nugget_sand_cast +- tconstruct:nugget_red_sand_cast + +#forge:seeds/cabbage +- farmersdelight:cabbage_seeds + +#minecraft:wooden_pressure_plates +- minecraft:oak_pressure_plate +- minecraft:spruce_pressure_plate +- minecraft:birch_pressure_plate +- minecraft:jungle_pressure_plate +- minecraft:acacia_pressure_plate +- minecraft:dark_oak_pressure_plate +- minecraft:crimson_pressure_plate +- minecraft:warped_pressure_plate +- tconstruct:greenheart_pressure_plate +- tconstruct:skyroot_pressure_plate +- tconstruct:bloodshroom_pressure_plate +- biomesoplenty:fir_pressure_plate +- biomesoplenty:redwood_pressure_plate +- biomesoplenty:cherry_pressure_plate +- biomesoplenty:mahogany_pressure_plate +- biomesoplenty:jacaranda_pressure_plate +- biomesoplenty:palm_pressure_plate +- biomesoplenty:willow_pressure_plate +- biomesoplenty:dead_pressure_plate +- biomesoplenty:magic_pressure_plate +- biomesoplenty:umbran_pressure_plate +- biomesoplenty:hellbark_pressure_plate + +#minecraft:tall_flowers +- minecraft:sunflower +- minecraft:lilac +- minecraft:peony +- minecraft:rose_bush +- biomesoplenty:blue_hydrangea +- biomesoplenty:goldenrod + +#biomesoplenty:redwood_logs +- biomesoplenty:redwood_log +- biomesoplenty:redwood_wood +- biomesoplenty:stripped_redwood_log +- biomesoplenty:stripped_redwood_wood + +#forge:plates/tin +- thermal:tin_plate + +#biomesoplenty:jacaranda_logs +- biomesoplenty:jacaranda_log +- biomesoplenty:jacaranda_wood +- biomesoplenty:stripped_jacaranda_log +- biomesoplenty:stripped_jacaranda_wood + +#create:create_ingots +- create:copper_ingot +- create:zinc_ingot +- create:brass_ingot + +#forge:bookshelves +- minecraft:bookshelf + +#minecraft:gold_ores +- minecraft:gold_ore +- minecraft:nether_gold_ore + +#forge:dyes +- #forge:dyes/white +- #forge:dyes/orange +- #forge:dyes/magenta +- #forge:dyes/light_blue +- #forge:dyes/yellow +- #forge:dyes/lime +- #forge:dyes/pink +- #forge:dyes/gray +- #forge:dyes/light_gray +- #forge:dyes/cyan +- #forge:dyes/purple +- #forge:dyes/blue +- #forge:dyes/brown +- #forge:dyes/green +- #forge:dyes/red +- #forge:dyes/black + +#forge:glass_panes/pink +- tconstruct:pink_clear_stained_glass_pane +- minecraft:pink_stained_glass_pane + +#forge:ore_rocks/tin +- survivalist:tin_ore_rock + +#tconstruct:casts/multi_use/blank +- tconstruct:blank_cast + +#farmersdelight:offhand_equipment +- minecraft:shield +- create:extendo_grip? + +#tconstruct:casts/single_use/small_blade +- tconstruct:small_blade_sand_cast +- tconstruct:small_blade_red_sand_cast + +#forge:netherrack +- minecraft:netherrack + +#forge:gears/constantan +- thermal:constantan_gear + +#minecraft:soul_fire_base_blocks +- minecraft:soul_sand +- minecraft:soul_soil +- tconstruct:soul_glass + +#supplementaries:shulker_blacklist +- #forge:shulker_boxes +- supplementaries:safe +- supplementaries:sack + +#forge:gears/electrum +- thermal:electrum_gear + +#forge:crops/flax +- supplementaries:flax + +#tconstruct:casts/single_use/repair_kit +- tconstruct:repair_kit_sand_cast +- tconstruct:repair_kit_red_sand_cast + +#supplementaries:chains +- minecraft:chain +- decorative_blocks:chain? +- muchmoremodcompat:ice_chain? +- muchmoremodcompat:gold_chain? +- charm:gold_chain? +- forbidden_arcanus:iron_chain? + +#forge:eggs +- minecraft:egg +- minecraft:egg +- minecraft:egg +- minecraft:turtle_egg + +#tconstruct:casts/multi_use/tough_handle +- tconstruct:tough_handle_cast + +#survivalist:ore_rocks/silver +- survivalist:silver_ore_rock + +#mantle:offhand_cooldown +- #tconstruct:modifiable/melee + +#forge:weak_ores/aluminum +- survivalist:aluminum_ore_rock + +#tconstruct:casts/multi_use/small_blade +- tconstruct:small_blade_cast + +#forge:dyes/red +- minecraft:red_dye + +#survivalist:chopping_blocks +- survivalist:oak_chopping_block +- survivalist:chipped_oak_chopping_block +- survivalist:damaged_oak_chopping_block +- survivalist:birch_chopping_block +- survivalist:chipped_birch_chopping_block +- survivalist:damaged_birch_chopping_block +- survivalist:spruce_chopping_block +- survivalist:chipped_spruce_chopping_block +- survivalist:damaged_spruce_chopping_block +- survivalist:jungle_chopping_block +- survivalist:chipped_jungle_chopping_block +- survivalist:damaged_jungle_chopping_block +- survivalist:dark_oak_chopping_block +- survivalist:chipped_dark_oak_chopping_block +- survivalist:damaged_dark_oak_chopping_block +- survivalist:acacia_chopping_block +- survivalist:chipped_acacia_chopping_block +- survivalist:damaged_acacia_chopping_block + +#survivalist:nuggets/lead +- survivalist:lead_nugget + +#forge:gravel +- minecraft:gravel +- minecraft:gravel + +#forge:glass_panes/cyan +- tconstruct:cyan_clear_stained_glass_pane +- minecraft:cyan_stained_glass_pane + +#forge:armor/gold +- minecraft:golden_boots +- minecraft:golden_chestplate +- minecraft:golden_helmet +- minecraft:golden_leggings + +#tconstruct:modifiable/two_handed +- tconstruct:sledge_hammer +- tconstruct:vein_hammer +- tconstruct:excavator +- tconstruct:broad_axe +- tconstruct:scythe +- tconstruct:cleaver + +#forge:plates/signalum +- thermal:signalum_plate + +#forge:dyes/black +- minecraft:black_dye + +#forge:music_discs +- biomesoplenty:music_disc_wanderer + +#forge:raw_fishes/tropical_fish +- minecraft:tropical_fish + +#biomesoplenty:magic_logs +- biomesoplenty:magic_log +- biomesoplenty:magic_wood +- biomesoplenty:stripped_magic_log +- biomesoplenty:stripped_magic_wood + +#forge:coins/signalum +- thermal:signalum_coin + +#forge:dusts/glowstone +- minecraft:glowstone_dust + +#tconstruct:casts/multi_use +- #tconstruct:casts/multi_use/blank +- #tconstruct:casts/multi_use/ingot +- #tconstruct:casts/multi_use/nugget +- #tconstruct:casts/multi_use/gem +- #tconstruct:casts/multi_use/rod +- #tconstruct:casts/multi_use/repair_kit +- #tconstruct:casts/multi_use/plate +- #tconstruct:casts/multi_use/gear +- #tconstruct:casts/multi_use/coin +- #tconstruct:casts/multi_use/pickaxe_head +- #tconstruct:casts/multi_use/small_axe_head +- #tconstruct:casts/multi_use/small_blade +- #tconstruct:casts/multi_use/hammer_head +- #tconstruct:casts/multi_use/broad_axe_head +- #tconstruct:casts/multi_use/broad_blade +- #tconstruct:casts/multi_use/tool_binding +- #tconstruct:casts/multi_use/large_plate +- #tconstruct:casts/multi_use/tool_handle +- #tconstruct:casts/multi_use/tough_handle + +#minecraft:wool +- minecraft:white_wool +- minecraft:orange_wool +- minecraft:magenta_wool +- minecraft:light_blue_wool +- minecraft:yellow_wool +- minecraft:lime_wool +- minecraft:pink_wool +- minecraft:gray_wool +- minecraft:light_gray_wool +- minecraft:cyan_wool +- minecraft:purple_wool +- minecraft:blue_wool +- minecraft:brown_wool +- minecraft:green_wool +- minecraft:red_wool +- minecraft:black_wool + +#forge:glass/colorless +- tconstruct:clear_glass +- create:tiled_glass +- create:framed_glass +- create:horizontal_framed_glass +- create:vertical_framed_glass +- minecraft:glass + +#forge:cooked_fishes/cod +- minecraft:cooked_cod +- farmersdelight:cooked_cod_slice + +#forge:vegetables/beetroot +- minecraft:beetroot + +#forge:ingots/slimesteel +- tconstruct:slimesteel_ingot + +#forge:glass_panes/light_blue +- tconstruct:light_blue_clear_stained_glass_pane +- minecraft:light_blue_stained_glass_pane + +#forge:dusts/cinnabar +- thermal:cinnabar_dust + +#forge:nuggets/constantan +- thermal:constantan_nugget + +#forge:ores/zinc +- create:zinc_ore + +#forge:ores/netherite_scrap +- minecraft:ancient_debris + +#forge:nuggets/copper +- tconstruct:copper_nugget +- create:copper_nugget +- survivalist:copper_nugget +- thermal:copper_nugget + +#forge:nuggets/aluminum +- survivalist:aluminum_nugget + +#forge:ingots/silicon_bronze +- tconstruct:tinkers_bronze_ingot + +#forge:fiber/flax +- supplementaries:flax + +#forge:stained_glass +- tconstruct:white_clear_stained_glass +- tconstruct:orange_clear_stained_glass +- tconstruct:magenta_clear_stained_glass +- tconstruct:light_blue_clear_stained_glass +- tconstruct:yellow_clear_stained_glass +- tconstruct:lime_clear_stained_glass +- tconstruct:pink_clear_stained_glass +- tconstruct:gray_clear_stained_glass +- tconstruct:light_gray_clear_stained_glass +- tconstruct:cyan_clear_stained_glass +- tconstruct:purple_clear_stained_glass +- tconstruct:blue_clear_stained_glass +- tconstruct:brown_clear_stained_glass +- tconstruct:green_clear_stained_glass +- tconstruct:red_clear_stained_glass +- tconstruct:black_clear_stained_glass +- minecraft:white_stained_glass +- minecraft:orange_stained_glass +- minecraft:magenta_stained_glass +- minecraft:light_blue_stained_glass +- minecraft:yellow_stained_glass +- minecraft:lime_stained_glass +- minecraft:pink_stained_glass +- minecraft:gray_stained_glass +- minecraft:light_gray_stained_glass +- minecraft:cyan_stained_glass +- minecraft:purple_stained_glass +- minecraft:blue_stained_glass +- minecraft:brown_stained_glass +- minecraft:green_stained_glass +- minecraft:red_stained_glass +- minecraft:black_stained_glass + +#forge:crops/carrot +- minecraft:carrot + +#forge:plates/invar +- thermal:invar_plate + +#forge:salad_ingredients/cabbage +- farmersdelight:cabbage +- farmersdelight:cabbage_leaf + +#forge:nuggets/gold +- minecraft:gold_nugget + +#forge:ore_rocks/copper +- survivalist:copper_ore_rock + +#tconstruct:casts/single_use/broad_axe_head +- tconstruct:broad_axe_head_sand_cast +- tconstruct:broad_axe_head_red_sand_cast + +#minecraft:warped_stems +- minecraft:warped_stem +- minecraft:stripped_warped_stem +- minecraft:warped_hyphae +- minecraft:stripped_warped_hyphae + +#forge:nether_stars +- minecraft:nether_star + +#forge:dusts/ender_pearl +- thermal:ender_pearl_dust + +#tconstruct:modifiable/harvest +- tconstruct:dagger +- tconstruct:sword +- tconstruct:cleaver +- #tconstruct:modifiable/harvest/primary +- #tconstruct:modifiable/harvest/stone + +#forge:ingots/tin +- thermal:tin_ingot + +#forge:storage_blocks/coal_coke +- thermal:coal_coke_block + +#forge:dyes/blue +- minecraft:blue_dye + +#forge:storage_blocks/iron +- minecraft:iron_block + +#create:seats +- create:white_seat +- create:orange_seat +- create:magenta_seat +- create:light_blue_seat +- create:yellow_seat +- create:lime_seat +- create:pink_seat +- create:gray_seat +- create:light_gray_seat +- create:cyan_seat +- create:purple_seat +- create:blue_seat +- create:brown_seat +- create:green_seat +- create:red_seat +- create:black_seat + +#forge:tools/pickaxes +- minecraft:wooden_pickaxe +- minecraft:stone_pickaxe +- minecraft:iron_pickaxe +- minecraft:diamond_pickaxe +- minecraft:golden_pickaxe +- minecraft:netherite_pickaxe + +#forge:slimeball/earth +- minecraft:slime_ball + +#forge:glass_panes/brown +- tconstruct:brown_clear_stained_glass_pane +- minecraft:brown_stained_glass_pane + +#create:sandpaper +- create:sand_paper +- create:red_sand_paper + +#forge:heads +- tconstruct:blaze_head +- tconstruct:enderman_head +- tconstruct:stray_head +- tconstruct:husk_head +- tconstruct:drowned_head +- tconstruct:spider_head +- tconstruct:cave_spider_head +- minecraft:creeper_head +- minecraft:dragon_head +- minecraft:player_head +- minecraft:skeleton_skull +- minecraft:wither_skeleton_skull +- minecraft:zombie_head + +#supplementaries:throwable_bricks +- #forge:ingots/nether_brick +- #forge:ingots/brick +- unnamedanimalmod:dried_mud_brick? +- unnamedanimalmod:mud_brick? +- architects_palette:algal_brick? +- architects_palette:sunmetal_brick? +- ars_nouveau:arcane_brick? +- biomesoplenty:mud_brick? +- byg:yellow_nether_brick? +- byg:blue_nether_brick? +- endergetic:eumus_brick? +- extcaves:brick_half? +- extcaves:half_brick? +- environmental:mud_brick? +- createdeco:red_brick? +- createdeco:worn_brick? +- createdeco:dean_brick? +- createdeco:blue_brick? +- createdeco:dusk_brick? +- createdeco:pearl_brick? + +#forge:ores/sapphire +- thermal:sapphire_ore + +#forge:tools/axes +- minecraft:wooden_axe +- minecraft:stone_axe +- minecraft:iron_axe +- minecraft:diamond_axe +- minecraft:golden_axe +- minecraft:netherite_axe + +#tconstruct:casts/multi_use/large_plate +- tconstruct:large_plate_cast + +#minecraft:dark_oak_logs +- minecraft:dark_oak_log +- minecraft:dark_oak_wood +- minecraft:stripped_dark_oak_log +- minecraft:stripped_dark_oak_wood + +#forge:bones +- minecraft:bone + +#supplementaries:ropes +- supplementaries:rope +- farmersdelight:rope? +- inspirations:rope? +- inspirations:vine? +- druidcraft:rope? +- xercamod:rope? +- quark:rope? + +#forge:gems/cinnabar +- thermal:cinnabar + +#forge:glass_panes +- create:tiled_glass_pane +- create:framed_glass_pane +- create:horizontal_framed_glass_pane +- create:vertical_framed_glass_pane +- create:oak_window_pane +- create:spruce_window_pane +- create:birch_window_pane +- create:jungle_window_pane +- create:acacia_window_pane +- create:dark_oak_window_pane +- create:crimson_window_pane +- create:warped_window_pane +- create:ornate_iron_window_pane +- #forge:glass_panes/colorless +- #forge:stained_glass_panes + +#forge:storage_blocks/lumium +- thermal:lumium_block + +#minecraft:non_flammable_wood +- minecraft:warped_stem +- minecraft:stripped_warped_stem +- minecraft:warped_hyphae +- minecraft:stripped_warped_hyphae +- minecraft:crimson_stem +- minecraft:stripped_crimson_stem +- minecraft:crimson_hyphae +- minecraft:stripped_crimson_hyphae +- minecraft:crimson_planks +- minecraft:warped_planks +- minecraft:crimson_slab +- minecraft:warped_slab +- minecraft:crimson_pressure_plate +- minecraft:warped_pressure_plate +- minecraft:crimson_fence +- minecraft:warped_fence +- minecraft:crimson_trapdoor +- minecraft:warped_trapdoor +- minecraft:crimson_fence_gate +- minecraft:warped_fence_gate +- minecraft:crimson_stairs +- minecraft:warped_stairs +- minecraft:crimson_button +- minecraft:warped_button +- minecraft:crimson_door +- minecraft:warped_door +- minecraft:crimson_sign +- minecraft:warped_sign +- tconstruct:bloodshroom_planks +- tconstruct:bloodshroom_planks_slab +- tconstruct:bloodshroom_planks_stairs +- tconstruct:bloodshroom_fence +- tconstruct:bloodshroom_fence_gate +- tconstruct:bloodshroom_door +- tconstruct:bloodshroom_trapdoor +- tconstruct:bloodshroom_pressure_plate +- tconstruct:bloodshroom_button +- #tconstruct:bloodshroom_logs +- biomesoplenty:hellbark_log +- biomesoplenty:hellbark_wood +- biomesoplenty:stripped_hellbark_log +- biomesoplenty:stripped_hellbark_wood +- biomesoplenty:hellbark_planks +- biomesoplenty:hellbark_slab +- biomesoplenty:hellbark_pressure_plate +- biomesoplenty:hellbark_fence +- biomesoplenty:hellbark_trapdoor +- biomesoplenty:hellbark_fence_gate +- biomesoplenty:hellbark_stairs +- biomesoplenty:hellbark_button +- biomesoplenty:hellbark_door + +#survivalist:meat +- minecraft:beef +- minecraft:mutton +- minecraft:porkchop + +#forge:poor_ores/gold +- survivalist:gold_ore_rock + +#survivalist:rock_sources/lead +- #forge:ores/lead? + +#forge:raw_bacon +- farmersdelight:bacon + +#forge:dusts/iron +- thermal:iron_dust + +#forge:nuggets/enderium +- thermal:enderium_nugget + +#forge:mushrooms +- biomesoplenty:glowshroom +- biomesoplenty:toadstool +- minecraft:brown_mushroom +- minecraft:red_mushroom + +#forge:vegetables/onion +- farmersdelight:onion + +#tconstruct:casts +- #tconstruct:casts/gold +- #tconstruct:casts/sand +- #tconstruct:casts/red_sand + +#tconstruct:seared_blocks +- tconstruct:seared_stone +- tconstruct:seared_cracked_bricks +- tconstruct:seared_cobble +- tconstruct:seared_paver +- #tconstruct:seared_bricks + +#forge:gears/iron +- thermal:iron_gear + +#survivalist:ore_rocks/lead +- survivalist:lead_ore_rock + +#forge:gears/emerald +- thermal:emerald_gear + +#forge:storage_blocks/bronze +- thermal:bronze_block + +#forge:storage_blocks/soulsteel +- tconstruct:soulsteel_block + +#forge:ingots/signalum +- thermal:signalum_ingot + +#forge:dusts/signalum +- thermal:signalum_dust + +#forge:ingots/netherite +- minecraft:netherite_ingot + +#minecraft:fences +- #minecraft:wooden_fences +- minecraft:nether_brick_fence + +#minecraft:saplings +- minecraft:oak_sapling +- minecraft:spruce_sapling +- minecraft:birch_sapling +- minecraft:jungle_sapling +- minecraft:acacia_sapling +- minecraft:dark_oak_sapling +- #tconstruct:slimy_saplings +- biomesoplenty:origin_sapling +- biomesoplenty:flowering_oak_sapling +- biomesoplenty:rainbow_birch_sapling +- biomesoplenty:yellow_autumn_sapling +- biomesoplenty:orange_autumn_sapling +- biomesoplenty:maple_sapling +- biomesoplenty:fir_sapling +- biomesoplenty:redwood_sapling +- biomesoplenty:white_cherry_sapling +- biomesoplenty:pink_cherry_sapling +- biomesoplenty:mahogany_sapling +- biomesoplenty:jacaranda_sapling +- biomesoplenty:palm_sapling +- biomesoplenty:willow_sapling +- biomesoplenty:dead_sapling +- biomesoplenty:magic_sapling +- biomesoplenty:umbran_sapling +- biomesoplenty:hellbark_sapling + +#forge:storage_blocks/tin +- thermal:tin_block + +#forge:ores/copper +- tconstruct:copper_ore +- create:copper_ore +- thermal:copper_ore + +#forge:seeds/beetroot +- minecraft:beetroot_seeds + +#forge:coins/lumium +- thermal:lumium_coin + +#survivalist:ore_rocks/aluminum +- survivalist:aluminum_ore_rock + +#forge:small_ores/silver +- survivalist:silver_ore_rock + +#forge:gears/quartz +- thermal:quartz_gear + +#minecraft:banners +- minecraft:white_banner +- minecraft:orange_banner +- minecraft:magenta_banner +- minecraft:light_blue_banner +- minecraft:yellow_banner +- minecraft:lime_banner +- minecraft:pink_banner +- minecraft:gray_banner +- minecraft:light_gray_banner +- minecraft:cyan_banner +- minecraft:purple_banner +- minecraft:blue_banner +- minecraft:brown_banner +- minecraft:green_banner +- minecraft:red_banner +- minecraft:black_banner + +#forge:storage_blocks/electrum +- thermal:electrum_block + +#minecraft:wooden_fences +- minecraft:oak_fence +- minecraft:acacia_fence +- minecraft:dark_oak_fence +- minecraft:spruce_fence +- minecraft:birch_fence +- minecraft:jungle_fence +- minecraft:crimson_fence +- minecraft:warped_fence +- tconstruct:greenheart_fence +- tconstruct:skyroot_fence +- tconstruct:bloodshroom_fence +- biomesoplenty:fir_fence +- biomesoplenty:redwood_fence +- biomesoplenty:cherry_fence +- biomesoplenty:mahogany_fence +- biomesoplenty:jacaranda_fence +- biomesoplenty:palm_fence +- biomesoplenty:willow_fence +- biomesoplenty:dead_fence +- biomesoplenty:magic_fence +- biomesoplenty:umbran_fence +- biomesoplenty:hellbark_fence + +#forge:storage_blocks/knightslime +- tconstruct:knightslime_block + +#forge:cooked_fishes +- #forge:cooked_fishes/cod +- #forge:cooked_fishes/salmon + +#tconstruct:anvil_metal +- #forge:storage_blocks/slimesteel +- #forge:storage_blocks/silicon_bronze +- #forge:storage_blocks/rose_gold +- #forge:storage_blocks/pig_iron +- #forge:storage_blocks/queens_slime +- #forge:storage_blocks/manyullyn +- #forge:storage_blocks/hepatizon +- #forge:storage_blocks/netherite +- #forge:storage_blocks/bronze? +- #forge:storage_blocks/brass? +- #forge:storage_blocks/electrum? +- #forge:storage_blocks/invar? +- #forge:storage_blocks/constantan? +- #forge:storage_blocks/pewter? +- #forge:storage_blocks/steel? + +#forge:gears/gold +- thermal:gold_gear + +#forge:obsidian +- minecraft:obsidian + +#biomesoplenty:mahogany_logs +- biomesoplenty:mahogany_log +- biomesoplenty:mahogany_wood +- biomesoplenty:stripped_mahogany_log +- biomesoplenty:stripped_mahogany_wood + +#tconstruct:casts/single_use/coin +- tconstruct:coin_sand_cast +- tconstruct:coin_red_sand_cast + +#forge:gems/niter +- thermal:niter + +#forge:cooked_chicken +- minecraft:cooked_chicken +- farmersdelight:cooked_chicken_cuts + +#forge:ore_rocks/gold +- survivalist:gold_ore_rock + +#tconstruct:casts/single_use/tool_handle +- tconstruct:tool_handle_sand_cast +- tconstruct:tool_handle_red_sand_cast + +#forge:glass/magenta +- tconstruct:magenta_clear_stained_glass +- minecraft:magenta_stained_glass + +#forge:ores/coal +- minecraft:coal_ore + +#forge:storage_blocks/constantan +- thermal:constantan_block + +#forge:feathers +- minecraft:feather + +#forge:weak_ores/tin +- survivalist:tin_ore_rock + +#forge:pasta +- #forge:pasta/raw_pasta + +#tconstruct:seared_tanks +- tconstruct:seared_fuel_tank +- tconstruct:seared_fuel_gauge +- tconstruct:seared_ingot_tank +- tconstruct:seared_ingot_gauge + +#supplementaries:candle/wick +- #forge:string + +#survivalist:rocks/diorite +- survivalist:diorite_rock + +#forge:dusts/silver +- thermal:silver_dust + +#forge:plates/lead +- thermal:lead_plate + +#forge:poor_ores/copper +- survivalist:copper_ore_rock + +#forge:string +- minecraft:string + +#forge:grain/rice +- farmersdelight:rice + +#forge:books/guide +- #tconstruct:guides + +#minecraft:trapdoors +- #minecraft:wooden_trapdoors +- minecraft:iron_trapdoor +- supplementaries:gold_trapdoor +- supplementaries:netherite_trapdoor + +#forge:poor_ores/iron +- survivalist:iron_ore_rock + +#forge:ingots/gold +- minecraft:gold_ingot + +#forge:glass/cyan +- tconstruct:cyan_clear_stained_glass +- minecraft:cyan_stained_glass + +#forge:leather +- minecraft:leather + +#forge:cooked_fishes/salmon +- minecraft:cooked_salmon +- farmersdelight:cooked_salmon_slice + +#forge:glass +- #forge:glass/colorless +- #forge:stained_glass + +#forge:storage_blocks/gunpowder +- thermal:gunpowder_block + +#supplementaries:candle/base +- minecraft:honeycomb +- #forge:honeycombs? +- quark:tallow? +- #resourcefulbees:resourceful_honeycomb? +- resourcefulbees:wax? +- productivebees:honey_treat? + +#minecraft:boats +- minecraft:oak_boat +- minecraft:spruce_boat +- minecraft:birch_boat +- minecraft:jungle_boat +- minecraft:acacia_boat +- minecraft:dark_oak_boat +- biomesoplenty:fir_boat +- biomesoplenty:redwood_boat +- biomesoplenty:cherry_boat +- biomesoplenty:mahogany_boat +- biomesoplenty:jacaranda_boat +- biomesoplenty:palm_boat +- biomesoplenty:willow_boat +- biomesoplenty:dead_boat +- biomesoplenty:magic_boat +- biomesoplenty:umbran_boat +- biomesoplenty:hellbark_boat + +#forge:nuggets/iron +- minecraft:iron_nugget + +#forge:dusts/enderium +- thermal:enderium_dust + +#tconstruct:skyroot_logs +- tconstruct:skyroot_log +- tconstruct:stripped_skyroot_log +- tconstruct:skyroot_wood +- tconstruct:stripped_skyroot_wood + +#minecraft:leaves +- minecraft:jungle_leaves +- minecraft:oak_leaves +- minecraft:spruce_leaves +- minecraft:dark_oak_leaves +- minecraft:acacia_leaves +- minecraft:birch_leaves +- #tconstruct:slimy_leaves +- biomesoplenty:origin_leaves +- biomesoplenty:flowering_oak_leaves +- biomesoplenty:rainbow_birch_leaves +- biomesoplenty:yellow_autumn_leaves +- biomesoplenty:orange_autumn_leaves +- biomesoplenty:maple_leaves +- biomesoplenty:fir_leaves +- biomesoplenty:redwood_leaves +- biomesoplenty:white_cherry_leaves +- biomesoplenty:pink_cherry_leaves +- biomesoplenty:mahogany_leaves +- biomesoplenty:jacaranda_leaves +- biomesoplenty:palm_leaves +- biomesoplenty:willow_leaves +- biomesoplenty:dead_leaves +- biomesoplenty:magic_leaves +- biomesoplenty:umbran_leaves +- biomesoplenty:hellbark_leaves + +#supplementaries:chocolate_bars +- create:bar_of_chocolate? +- neapolitan:chocolate_bar? +- fluffy_farmer:chocolate_bar? +- xercamod:item_chocolate? +- simplefarming:chocolate? +- vanillacookbook:chocolate? + +#forge:storage_blocks/rose_gold +- tconstruct:rose_gold_block + +#forge:storage_blocks/brass +- create:brass_block + +#forge:crops/potato +- minecraft:potato + +#tconstruct:casts/gold +- tconstruct:blank_cast +- tconstruct:ingot_cast +- tconstruct:nugget_cast +- tconstruct:gem_cast +- tconstruct:rod_cast +- tconstruct:repair_kit_cast +- tconstruct:plate_cast +- tconstruct:gear_cast +- tconstruct:coin_cast +- tconstruct:pickaxe_head_cast +- tconstruct:small_axe_head_cast +- tconstruct:small_blade_cast +- tconstruct:hammer_head_cast +- tconstruct:broad_axe_head_cast +- tconstruct:broad_blade_cast +- tconstruct:tool_binding_cast +- tconstruct:large_plate_cast +- tconstruct:tool_handle_cast +- tconstruct:tough_handle_cast + +#forge:glass_panes/gray +- tconstruct:gray_clear_stained_glass_pane +- minecraft:gray_stained_glass_pane + +#forge:ores/ruby +- thermal:ruby_ore + +#minecraft:acacia_logs +- minecraft:acacia_log +- minecraft:acacia_wood +- minecraft:stripped_acacia_log +- minecraft:stripped_acacia_wood + +#forge:dusts/apatite +- thermal:apatite_dust + +#minecraft:piglin_loved +- #minecraft:gold_ores +- minecraft:gold_block +- minecraft:gilded_blackstone +- minecraft:light_weighted_pressure_plate +- minecraft:gold_ingot +- minecraft:bell +- minecraft:clock +- minecraft:golden_carrot +- minecraft:glistering_melon_slice +- minecraft:golden_apple +- minecraft:enchanted_golden_apple +- minecraft:golden_helmet +- minecraft:golden_chestplate +- minecraft:golden_leggings +- minecraft:golden_boots +- minecraft:golden_horse_armor +- minecraft:golden_sword +- minecraft:golden_pickaxe +- minecraft:golden_shovel +- minecraft:golden_axe +- minecraft:golden_hoe +- farmersdelight:golden_knife +- create:golden_sheet +- create:crushed_gold_ore +- supplementaries:candelabra +- supplementaries:hourglass +- supplementaries:gold_door +- supplementaries:gold_trapdoor +- supplementaries:clock_block +- supplementaries:crimson_lantern +- supplementaries:key + +#forge:storage_blocks/silicon_bronze +- tconstruct:tinkers_bronze_block + +#forge:tools/wrench +- thermal:wrench + +#forge:stained_glass_panes +- tconstruct:white_clear_stained_glass_pane +- tconstruct:orange_clear_stained_glass_pane +- tconstruct:magenta_clear_stained_glass_pane +- tconstruct:light_blue_clear_stained_glass_pane +- tconstruct:yellow_clear_stained_glass_pane +- tconstruct:lime_clear_stained_glass_pane +- tconstruct:pink_clear_stained_glass_pane +- tconstruct:gray_clear_stained_glass_pane +- tconstruct:light_gray_clear_stained_glass_pane +- tconstruct:cyan_clear_stained_glass_pane +- tconstruct:purple_clear_stained_glass_pane +- tconstruct:blue_clear_stained_glass_pane +- tconstruct:brown_clear_stained_glass_pane +- tconstruct:green_clear_stained_glass_pane +- tconstruct:red_clear_stained_glass_pane +- tconstruct:black_clear_stained_glass_pane +- minecraft:white_stained_glass_pane +- minecraft:orange_stained_glass_pane +- minecraft:magenta_stained_glass_pane +- minecraft:light_blue_stained_glass_pane +- minecraft:yellow_stained_glass_pane +- minecraft:lime_stained_glass_pane +- minecraft:pink_stained_glass_pane +- minecraft:gray_stained_glass_pane +- minecraft:light_gray_stained_glass_pane +- minecraft:cyan_stained_glass_pane +- minecraft:purple_stained_glass_pane +- minecraft:blue_stained_glass_pane +- minecraft:brown_stained_glass_pane +- minecraft:green_stained_glass_pane +- minecraft:red_stained_glass_pane +- minecraft:black_stained_glass_pane + +#forge:small_ores/tin +- survivalist:tin_ore_rock + +#forge:nuggets/tin +- survivalist:tin_nugget +- thermal:tin_nugget + +#forge:storage_blocks/queens_slime +- tconstruct:queens_slime_block + +#forge:storage_blocks/zinc +- create:zinc_block + +#forge:sand/red +- minecraft:red_sand + +#forge:dusts/nickel +- thermal:nickel_dust + +#forge:workbenches +- minecraft:crafting_table +- tconstruct:crafting_station +- #forge:workbench? + +#forge:ore_rocks/iron +- survivalist:iron_ore_rock + +#forge:glass/brown +- tconstruct:brown_clear_stained_glass +- minecraft:brown_stained_glass + +#forge:dusts/gold +- thermal:gold_dust + +#forge:vegetables +- #forge:vegetables/beetroot +- #forge:vegetables/carrot +- #forge:vegetables/onion +- #forge:vegetables/potato +- #forge:vegetables/tomato + +#survivalist:nuggets/copper +- survivalist:copper_nugget + +#minecraft:logs_that_burn +- #minecraft:dark_oak_logs +- #minecraft:oak_logs +- #minecraft:acacia_logs +- #minecraft:birch_logs +- #minecraft:jungle_logs +- #minecraft:spruce_logs +- #tconstruct:greenheart_logs +- #tconstruct:skyroot_logs +- #biomesoplenty:fir_logs +- #biomesoplenty:redwood_logs +- #biomesoplenty:cherry_logs +- #biomesoplenty:mahogany_logs +- #biomesoplenty:jacaranda_logs +- #biomesoplenty:palm_logs +- #biomesoplenty:willow_logs +- #biomesoplenty:dead_logs +- #biomesoplenty:magic_logs +- #biomesoplenty:umbran_logs + +#forge:ingots/netherite_scrap +- minecraft:netherite_scrap + +#tconstruct:casts/single_use/tool_binding +- tconstruct:tool_binding_sand_cast +- tconstruct:tool_binding_red_sand_cast + +#forge:glass/gray +- tconstruct:gray_clear_stained_glass +- minecraft:gray_stained_glass + +#forge:glass/light_gray +- tconstruct:light_gray_clear_stained_glass +- minecraft:light_gray_stained_glass + +#forge:plates/lumium +- thermal:lumium_plate + +#forge:dyes/light_blue +- minecraft:light_blue_dye + +#tconstruct:casts/single_use/rod +- tconstruct:rod_sand_cast +- tconstruct:rod_red_sand_cast + +#survivalist:rock_sources/aluminum +- #forge:ores/aluminum? + +#minecraft:wooden_slabs +- minecraft:oak_slab +- minecraft:spruce_slab +- minecraft:birch_slab +- minecraft:jungle_slab +- minecraft:acacia_slab +- minecraft:dark_oak_slab +- minecraft:crimson_slab +- minecraft:warped_slab +- tconstruct:greenheart_planks_slab +- tconstruct:skyroot_planks_slab +- tconstruct:bloodshroom_planks_slab +- biomesoplenty:fir_slab +- biomesoplenty:redwood_slab +- biomesoplenty:cherry_slab +- biomesoplenty:mahogany_slab +- biomesoplenty:jacaranda_slab +- biomesoplenty:palm_slab +- biomesoplenty:willow_slab +- biomesoplenty:dead_slab +- biomesoplenty:magic_slab +- biomesoplenty:umbran_slab +- biomesoplenty:hellbark_slab + +#forge:milk/milk_bottle +- farmersdelight:milk_bottle + +#tconstruct:modifiable/multipart +- tconstruct:pickaxe +- tconstruct:sledge_hammer +- tconstruct:vein_hammer +- tconstruct:mattock +- tconstruct:excavator +- tconstruct:hand_axe +- tconstruct:broad_axe +- tconstruct:kama +- tconstruct:scythe +- tconstruct:dagger +- tconstruct:sword +- tconstruct:cleaver + +#forge:dyes/white +- minecraft:white_dye + +#tconstruct:casts/multi_use/hammer_head +- tconstruct:hammer_head_cast + +#forge:ingots/rose_gold +- tconstruct:rose_gold_ingot + +#tconstruct:casts/multi_use/tool_handle +- tconstruct:tool_handle_cast + +#minecraft:small_flowers +- minecraft:dandelion +- minecraft:poppy +- minecraft:blue_orchid +- minecraft:allium +- minecraft:azure_bluet +- minecraft:red_tulip +- minecraft:orange_tulip +- minecraft:white_tulip +- minecraft:pink_tulip +- minecraft:oxeye_daisy +- minecraft:cornflower +- minecraft:lily_of_the_valley +- minecraft:wither_rose +- #farmersdelight:wild_crops +- biomesoplenty:rose +- biomesoplenty:violet +- biomesoplenty:lavender +- biomesoplenty:wildflower +- biomesoplenty:orange_cosmos +- biomesoplenty:pink_daffodil +- biomesoplenty:pink_hibiscus +- biomesoplenty:glowflower +- biomesoplenty:wilted_lily +- biomesoplenty:burning_blossom + +#forge:coins/enderium +- thermal:enderium_coin + +#forge:bitumen +- thermal:bitumen + +#forge:seeds/pumpkin +- minecraft:pumpkin_seeds + +#forge:glass_panes/black +- tconstruct:black_clear_stained_glass_pane +- minecraft:black_stained_glass_pane + +#forge:gears/nickel +- thermal:nickel_gear + +#forge:dusts/redstone +- minecraft:redstone + +#forge:ore_rocks/silver +- survivalist:silver_ore_rock + +#farmersdelight:wild_crops +- farmersdelight:wild_carrots +- farmersdelight:wild_potatoes +- farmersdelight:wild_beetroots +- farmersdelight:wild_cabbages +- farmersdelight:wild_tomatoes +- farmersdelight:wild_onions +- farmersdelight:wild_rice + +#forge:dyes/pink +- minecraft:pink_dye + +#forge:gems/quartz +- minecraft:quartz + +#sereneseasons:winter_crops +- farmersdelight:cabbage_seeds +- biomesoplenty:origin_sapling +- biomesoplenty:flowering_oak_sapling +- biomesoplenty:rainbow_birch_sapling +- biomesoplenty:yellow_autumn_sapling +- biomesoplenty:orange_autumn_sapling +- biomesoplenty:maple_sapling +- biomesoplenty:fir_sapling +- biomesoplenty:redwood_sapling +- biomesoplenty:white_cherry_sapling +- biomesoplenty:pink_cherry_sapling +- biomesoplenty:mahogany_sapling +- biomesoplenty:jacaranda_sapling +- biomesoplenty:palm_sapling +- biomesoplenty:willow_sapling +- biomesoplenty:dead_sapling +- biomesoplenty:magic_sapling +- biomesoplenty:umbran_sapling +- biomesoplenty:hellbark_sapling +- biomesoplenty:toadstool +- biomesoplenty:glowshroom + +#forge:gears/lapis +- thermal:lapis_gear + +#forge:crops/beetroot +- minecraft:beetroot + +#forge:glass_panes/blue +- tconstruct:blue_clear_stained_glass_pane +- minecraft:blue_stained_glass_pane + +#forge:seeds/melon +- minecraft:melon_seeds + +#forge:ingots/electrum +- thermal:electrum_ingot + +#forge:coins/bronze +- thermal:bronze_coin + +#tconstruct:bloodshroom_logs +- tconstruct:bloodshroom_log +- tconstruct:stripped_bloodshroom_log +- tconstruct:bloodshroom_wood +- tconstruct:stripped_bloodshroom_wood + +#forge:crops/wheat +- minecraft:wheat + +#minecraft:creeper_drop_music_discs +- minecraft:music_disc_13 +- minecraft:music_disc_cat +- minecraft:music_disc_blocks +- minecraft:music_disc_chirp +- minecraft:music_disc_far +- minecraft:music_disc_mall +- minecraft:music_disc_mellohi +- minecraft:music_disc_stal +- minecraft:music_disc_strad +- minecraft:music_disc_ward +- minecraft:music_disc_11 +- minecraft:music_disc_wait + +#tconstruct:tables +- tconstruct:crafting_station +- tconstruct:part_builder +- tconstruct:tinker_station + +#tconstruct:slimy_saplings +- tconstruct:earth_slime_sapling +- tconstruct:sky_slime_sapling +- tconstruct:ender_slime_sapling + +#supplementaries:cookies +- minecraft:cookie +- farmersdelight:honey_cookie? +- farmersdelight:sweet_berry_cookie? +- farmersdelight:peanut_butter_cookie? +- fluffy_farmer:chocolate_cookie? +- fluffy_farmer:berry_cookie? +- pamhc2crops:beanitem? +- pamhc2crops:chickpeaitem? +- pamhc2crops:jicamaitem? +- pamhc2crops:roastedmushroomitem? +- pamhc2crops:bakedwaterchestnutitem? +- pamhc2crops:waterchestnutitem? +- pamhc2crops:chocolatemuffinitem? +- pamhc2crops:donutitem? +- pamhc2crops:chocolatedonutitem? +- pamhc2crops:jellydonutitem? +- pamhc2crops:crackeritem? +- pamhc2crops:pretzelitem? +- pamhc2crops:chocolatebaritem? +- pamhc2crops:chocolaterollitem? +- pamhc2crops:chocolatecaramelfudgeitem? +- pamhc2crops:smoresitem? +- pamhc2crops:trailmixitem? +- pamhc2crops:candiedpecansitem? +- pamhc2crops:candiedsweetpotatoesitem? +- pamhc2crops:candiedwalnutsitem? +- pamhc2crops:chocolateorangeitem? +- pamhc2crops:chocolatepeanutbaritem? +- pamhc2crops:chocolatestrawberryitem? +- pamhc2crops:peanutbuttercupitem? +- pamhc2crops:pralinesitem? +- pamhc2crops:pinenutitem? +- pamhc2crops:roastedalmonditem? +- pamhc2crops:roastedpinenutitem? +- pamhc2crops:garlicitem? +- cookielicious:strawberry_cookie? +- cookielicious:vanilla_cookie? +- cookielicious:sandwich_cookie? +- cookielicious:strawberry_cookie? +- cookielicious:vanilla_cookie? +- croptopia:raisin_oatmeal_cookie? +- croptopia:nutty_cookie? +- cspirit:sugar_cookie_santa? +- cspirit:sugar_cookie_circle? +- cspirit:sugar_cookie_ornament? +- cspirit:sugar_cookie_star? +- cspirit:sugar_cookie_man? +- cspirit:sugar_cookie_snowman? +- cspirit:gingerbread_cookie_circle? +- inventorypets:holiday_cookie? +- simplefarming:peanut_butter_cookie? +- teletubbies:toast? +- tofucraft:tofucookie? +- bayou_blues:gooseberry_jam_cookie? +- vanillacookbook:berry_cookie? +- vanillacookbook:honey_cookie? +- vanillacookbook:potato_cookie? +- vanillacookbook:pumpkin_cookie? +- vanillacookbook:sunflower_seed_cookie? +- terraincognita:hazelnut_cookie? +- ashenwheat:scintilla_cookie? +- ashenwheat:ash_cookie? +- create:honeyed_apple? +- create:chocolate_glazed_berries? +- bayou_blues:honey_glazed_gooseberries? + +#forge:gears/copper +- thermal:copper_gear + +#forge:gears/signalum +- thermal:signalum_gear + +#forge:stone +- create:limestone +- create:polished_limestone +- create:weathered_limestone +- create:polished_weathered_limestone +- create:gabbro +- create:polished_gabbro +- create:dolomite +- create:polished_dolomite +- create:scoria +- create:polished_scoria +- create:dark_scoria +- create:polished_dark_scoria +- minecraft:andesite +- minecraft:diorite +- minecraft:granite +- minecraft:infested_stone +- minecraft:stone +- minecraft:polished_andesite +- minecraft:polished_diorite +- minecraft:polished_granite + +#tconstruct:casts/sand +- tconstruct:blank_sand_cast +- tconstruct:ingot_sand_cast +- tconstruct:nugget_sand_cast +- tconstruct:gem_sand_cast +- tconstruct:rod_sand_cast +- tconstruct:repair_kit_sand_cast +- tconstruct:plate_sand_cast +- tconstruct:gear_sand_cast +- tconstruct:coin_sand_cast +- tconstruct:pickaxe_head_sand_cast +- tconstruct:small_axe_head_sand_cast +- tconstruct:small_blade_sand_cast +- tconstruct:hammer_head_sand_cast +- tconstruct:broad_axe_head_sand_cast +- tconstruct:broad_blade_sand_cast +- tconstruct:tool_binding_sand_cast +- tconstruct:large_plate_sand_cast +- tconstruct:tool_handle_sand_cast +- tconstruct:tough_handle_sand_cast + +#forge:nuggets/lead +- survivalist:lead_nugget +- thermal:lead_nugget + +#survivalist:nuggets/tin +- survivalist:tin_nugget + +#forge:glass_panes/yellow +- tconstruct:yellow_clear_stained_glass_pane +- minecraft:yellow_stained_glass_pane + +#forge:gems/lapis +- minecraft:lapis_lazuli + +#forge:gunpowder +- minecraft:gunpowder + +#forge:ore_rocks/aluminum +- survivalist:aluminum_ore_rock + +#forge:plates/brass +- create:brass_sheet + +#biomesoplenty:cherry_logs +- biomesoplenty:cherry_log +- biomesoplenty:cherry_wood +- biomesoplenty:stripped_cherry_log +- biomesoplenty:stripped_cherry_wood + +#forge:ingots/nickel +- thermal:nickel_ingot + +#forge:crops/tomato +- farmersdelight:tomato + +#forge:slimeball/ichor +- tconstruct:ichor_slime_ball + +#create:crushed_ores +- create:crushed_iron_ore +- create:crushed_gold_ore +- create:crushed_copper_ore +- create:crushed_zinc_ore +- create:crushed_brass +- create:crushed_osmium_ore +- create:crushed_platinum_ore +- create:crushed_silver_ore +- create:crushed_tin_ore +- create:crushed_lead_ore +- create:crushed_quicksilver_ore +- create:crushed_aluminum_ore +- create:crushed_uranium_ore +- create:crushed_nickel_ore + +#forge:slimeball/sky +- tconstruct:sky_slime_ball + +#forge:poor_ores/lead +- survivalist:lead_ore_rock + +#forge:crops +- #forge:crops/cabbage +- #forge:crops/onion +- #forge:crops/rice +- #forge:crops/tomato +- #forge:crops/beetroot +- #forge:crops/carrot +- #forge:crops/nether_wart +- #forge:crops/potato +- #forge:crops/wheat +- supplementaries:flax + +#forge:storage_blocks/apatite +- thermal:apatite_block + +#farmersdelight:straw_harvesters +- #farmersdelight:tools/knives + +#tconstruct:casts/multi_use/rod +- tconstruct:rod_cast + +#forge:plates/nickel +- thermal:nickel_plate + +#forge:small_ores/gold +- survivalist:gold_ore_rock + +#tconstruct:casts/red_sand +- tconstruct:blank_red_sand_cast +- tconstruct:ingot_red_sand_cast +- tconstruct:nugget_red_sand_cast +- tconstruct:gem_red_sand_cast +- tconstruct:rod_red_sand_cast +- tconstruct:repair_kit_red_sand_cast +- tconstruct:plate_red_sand_cast +- tconstruct:gear_red_sand_cast +- tconstruct:coin_red_sand_cast +- tconstruct:pickaxe_head_red_sand_cast +- tconstruct:small_axe_head_red_sand_cast +- tconstruct:small_blade_red_sand_cast +- tconstruct:hammer_head_red_sand_cast +- tconstruct:broad_axe_head_red_sand_cast +- tconstruct:broad_blade_red_sand_cast +- tconstruct:tool_binding_red_sand_cast +- tconstruct:large_plate_red_sand_cast +- tconstruct:tool_handle_red_sand_cast +- tconstruct:tough_handle_red_sand_cast + +#tconstruct:autosmelt_blacklist + +#forge:small_ores/copper +- survivalist:copper_ore_rock + +#itemfilters:check_nbt +- minecraft:potion +- minecraft:splash_potion +- minecraft:lingering_potion +- minecraft:enchanted_book +- minecraft:tipped_arrow + +#forge:ores/silver +- thermal:silver_ore + +#minecraft:birch_logs +- minecraft:birch_log +- minecraft:birch_wood +- minecraft:stripped_birch_log +- minecraft:stripped_birch_wood + +#tconstruct:slimy_planks +- tconstruct:greenheart_planks +- tconstruct:skyroot_planks +- tconstruct:bloodshroom_planks + +#forge:glass_panes/purple +- tconstruct:purple_clear_stained_glass_pane +- minecraft:purple_stained_glass_pane + +#forge:dusts +- #forge:dusts/glowstone +- #forge:dusts/prismarine +- #forge:dusts/redstone +- #forge:dusts/apatite +- #forge:dusts/bronze +- #forge:dusts/cinnabar +- #forge:dusts/constantan +- #forge:dusts/copper +- #forge:dusts/diamond +- #forge:dusts/electrum +- #forge:dusts/emerald +- #forge:dusts/ender_pearl +- #forge:dusts/enderium +- #forge:dusts/gold +- #forge:dusts/invar +- #forge:dusts/iron +- #forge:dusts/lapis +- #forge:dusts/lead +- #forge:dusts/lumium +- #forge:dusts/nickel +- #forge:dusts/niter +- #forge:dusts/quartz +- #forge:dusts/ruby +- #forge:dusts/sapphire +- #forge:dusts/signalum +- #forge:dusts/silver +- #forge:dusts/sulfur +- #forge:dusts/tin + +#forge:glass/yellow +- tconstruct:yellow_clear_stained_glass +- minecraft:yellow_stained_glass + +#forge:small_ores/aluminum +- survivalist:aluminum_ore_rock + +#forge:nuggets/cobalt +- tconstruct:cobalt_nugget + +#forge:gears/ruby +- thermal:ruby_gear + +#survivalist:ore_rocks/copper +- survivalist:copper_ore_rock + +#forge:seeds +- #forge:seeds/cabbage +- #forge:seeds/rice +- #forge:seeds/tomato +- #forge:seeds/beetroot +- #forge:seeds/melon +- #forge:seeds/pumpkin +- #forge:seeds/wheat +- supplementaries:flax_seeds + +#minecraft:oak_logs +- minecraft:oak_log +- minecraft:oak_wood +- minecraft:stripped_oak_log +- minecraft:stripped_oak_wood + +#forge:coins +- #forge:coins/bronze +- #forge:coins/constantan +- #forge:coins/copper +- #forge:coins/electrum +- #forge:coins/enderium +- #forge:coins/gold +- #forge:coins/invar +- #forge:coins/iron +- #forge:coins/lead +- #forge:coins/lumium +- #forge:coins/nickel +- #forge:coins/signalum +- #forge:coins/silver +- #forge:coins/tin + +#tconstruct:casts/multi_use/plate +- tconstruct:plate_cast + +#forge:gears/invar +- thermal:invar_gear + +#tconstruct:casts/single_use/tough_handle +- tconstruct:tough_handle_sand_cast +- tconstruct:tough_handle_red_sand_cast + +#forge:poor_ores/aluminum +- survivalist:aluminum_ore_rock + +#forge:ores/lapis +- minecraft:lapis_ore + +#biomesoplenty:dead_logs +- biomesoplenty:dead_log +- biomesoplenty:dead_wood +- biomesoplenty:stripped_dead_log +- biomesoplenty:stripped_dead_wood + +#forge:bread +- #forge:bread/wheat + +#forge:storage_blocks/slimesteel +- tconstruct:slimesteel_block + +#forge:coal_coke +- thermal:coal_coke + +#forge:slimeballs +- #forge:slimeball/earth +- #forge:slimeball/sky +- #forge:slimeball/ichor +- #forge:slimeball/ender +- #forge:slimeball/blood +- minecraft:slime_ball + +#forge:dirt +- supplementaries:fodder + +#survivalist:rocks +- survivalist:stone_rock +- survivalist:diorite_rock +- survivalist:andesite_rock +- survivalist:granite_rock + +#forge:storage_blocks/pig_iron +- tconstruct:pig_iron_block + +#tconstruct:casts/single_use/gear +- tconstruct:gear_sand_cast +- tconstruct:gear_red_sand_cast + +#forge:ores/nickel +- thermal:nickel_ore + +#forge:tools/gold +- minecraft:golden_axe +- minecraft:golden_pickaxe +- minecraft:golden_shovel +- minecraft:golden_sword + +#minecraft:jungle_logs +- minecraft:jungle_log +- minecraft:jungle_wood +- minecraft:stripped_jungle_log +- minecraft:stripped_jungle_wood + +#tconstruct:modifiable/harvest/stone +- tconstruct:pickaxe +- tconstruct:sledge_hammer +- tconstruct:vein_hammer + +#forge:sawdust +- thermal:sawdust + +#minecraft:lectern_books +- minecraft:written_book +- minecraft:writable_book +- #tconstruct:guides + +#forge:chests/ender +- minecraft:ender_chest + +#forge:dusts/niter +- thermal:niter_dust + +#minecraft:spruce_logs +- minecraft:spruce_log +- minecraft:spruce_wood +- minecraft:stripped_spruce_log +- minecraft:stripped_spruce_wood + +#forge:ore_rocks/lead +- survivalist:lead_ore_rock + +#forge:armor/iron +- minecraft:iron_boots +- minecraft:iron_chestplate +- minecraft:iron_helmet +- minecraft:iron_leggings + +#forge:fence_gates/wooden +- tconstruct:greenheart_fence_gate +- tconstruct:skyroot_fence_gate +- tconstruct:bloodshroom_fence_gate +- biomesoplenty:fir_fence_gate +- biomesoplenty:redwood_fence_gate +- biomesoplenty:cherry_fence_gate +- biomesoplenty:mahogany_fence_gate +- biomesoplenty:jacaranda_fence_gate +- biomesoplenty:palm_fence_gate +- biomesoplenty:willow_fence_gate +- biomesoplenty:dead_fence_gate +- biomesoplenty:magic_fence_gate +- biomesoplenty:umbran_fence_gate +- biomesoplenty:hellbark_fence_gate +- minecraft:oak_fence_gate +- minecraft:spruce_fence_gate +- minecraft:birch_fence_gate +- minecraft:jungle_fence_gate +- minecraft:acacia_fence_gate +- minecraft:dark_oak_fence_gate +- minecraft:crimson_fence_gate +- minecraft:warped_fence_gate + +#tconstruct:casts/single_use/ingot +- tconstruct:ingot_sand_cast +- tconstruct:ingot_red_sand_cast + +#forge:glass_panes/lime +- tconstruct:lime_clear_stained_glass_pane +- minecraft:lime_stained_glass_pane + +#forge:storage_blocks/manyullyn +- tconstruct:manyullyn_block + +#forge:shears +- tconstruct:kama +- minecraft:shears + +#sereneseasons:spring_crops +- farmersdelight:onion +- biomesoplenty:origin_sapling +- biomesoplenty:flowering_oak_sapling +- biomesoplenty:rainbow_birch_sapling +- biomesoplenty:yellow_autumn_sapling +- biomesoplenty:orange_autumn_sapling +- biomesoplenty:maple_sapling +- biomesoplenty:fir_sapling +- biomesoplenty:redwood_sapling +- biomesoplenty:white_cherry_sapling +- biomesoplenty:pink_cherry_sapling +- biomesoplenty:mahogany_sapling +- biomesoplenty:jacaranda_sapling +- biomesoplenty:palm_sapling +- biomesoplenty:willow_sapling +- biomesoplenty:dead_sapling +- biomesoplenty:magic_sapling +- biomesoplenty:umbran_sapling +- biomesoplenty:hellbark_sapling +- biomesoplenty:clover +- biomesoplenty:toadstool +- biomesoplenty:glowshroom + +#forge:gems/ruby +- thermal:ruby + +#forge:grain +- #forge:grain/wheat +- #forge:grain/rice +- minecraft:wheat + +#forge:ingots/lumium +- thermal:lumium_ingot + +#forge:ingots/lead +- thermal:lead_ingot + +#forge:dusts/electrum +- thermal:electrum_dust + +#tconstruct:greenheart_logs +- tconstruct:greenheart_log +- tconstruct:stripped_greenheart_log +- tconstruct:greenheart_wood +- tconstruct:stripped_greenheart_wood + +#supplementaries:candles +- #cavesandcliffs:candles? +- #buzzier_bees:candles? +- #quark:candles? +- caves_and_cliffs_mod:candle? +- buzzier_bees:candle? +- lotr:candle? +- eidon:candle? +- buildersaddiction:large_candle? +- buildersaddiction:large_soul_candle? + +#farmersdelight:tools/knives +- farmersdelight:flint_knife +- farmersdelight:iron_knife +- farmersdelight:diamond_knife +- farmersdelight:golden_knife +- farmersdelight:netherite_knife + +#forge:gears/diamond +- thermal:diamond_gear + +#minecraft:flowers +- #minecraft:small_flowers +- #minecraft:tall_flowers + +#forge:storage_blocks/cobalt +- tconstruct:cobalt_block + +#forge:vegetables/potato +- minecraft:potato + +#forge:dusts/quartz +- thermal:quartz_dust + +#minecraft:planks +- minecraft:oak_planks +- minecraft:spruce_planks +- minecraft:birch_planks +- minecraft:jungle_planks +- minecraft:acacia_planks +- minecraft:dark_oak_planks +- minecraft:crimson_planks +- minecraft:warped_planks +- #tconstruct:slimy_planks +- biomesoplenty:fir_planks +- biomesoplenty:redwood_planks +- biomesoplenty:cherry_planks +- biomesoplenty:mahogany_planks +- biomesoplenty:jacaranda_planks +- biomesoplenty:palm_planks +- biomesoplenty:willow_planks +- biomesoplenty:dead_planks +- biomesoplenty:magic_planks +- biomesoplenty:umbran_planks +- biomesoplenty:hellbark_planks + +#survivalist:ore_rocks/tin +- survivalist:tin_ore_rock + +#forge:dusts/tin +- thermal:tin_dust + +#forge:cobblestone +- create:granite_cobblestone +- create:diorite_cobblestone +- create:andesite_cobblestone +- create:limestone_cobblestone +- create:weathered_limestone_cobblestone +- create:dolomite_cobblestone +- create:gabbro_cobblestone +- create:scoria_cobblestone +- create:dark_scoria_cobblestone +- minecraft:cobblestone +- minecraft:infested_cobblestone +- minecraft:mossy_cobblestone + +#forge:nuggets/rose_gold +- tconstruct:rose_gold_nugget + +#forge:dusts/sulfur +- thermal:sulfur_dust + +#forge:dyes/brown +- minecraft:brown_dye + +#forge:seeds/tomato +- farmersdelight:tomato_seeds + +#forge:storage_blocks/gold +- minecraft:gold_block + +#forge:raw_fishes/cod +- minecraft:cod +- farmersdelight:cod_slice + +#forge:gears/lumium +- thermal:lumium_gear + +#forge:ores +- #forge:ores/cobalt +- #forge:ores/copper +- create:copper_ore +- create:zinc_ore +- #forge:ores/coal +- #forge:ores/diamond +- #forge:ores/emerald +- #forge:ores/gold +- #forge:ores/iron +- #forge:ores/lapis +- #forge:ores/redstone +- #forge:ores/quartz +- #forge:ores/netherite_scrap +- #forge:ores/apatite +- #forge:ores/cinnabar +- #forge:ores/copper +- #forge:ores/lead +- #forge:ores/nickel +- #forge:ores/niter +- #forge:ores/ruby +- #forge:ores/sapphire +- #forge:ores/silver +- #forge:ores/sulfur +- #forge:ores/tin + +#tconstruct:modifiable/one_handed +- tconstruct:pickaxe +- tconstruct:mattock +- tconstruct:hand_axe +- tconstruct:kama +- tconstruct:dagger +- tconstruct:sword +- tconstruct:flint_and_bronze + +#farmersdelight:wolf_prey +- #forge:raw_chicken +- #forge:raw_mutton +- minecraft:rabbit + +#tconstruct:casts/single_use/small_axe_head +- tconstruct:small_axe_head_sand_cast +- tconstruct:small_axe_head_red_sand_cast + +#tconstruct:casts/multi_use/repair_kit +- tconstruct:repair_kit_cast + +#forge:seeds/flax +- supplementaries:flax_seeds + +#forge:rods/wooden +- minecraft:stick + +#tconstruct:modifiable/melee +- tconstruct:pickaxe +- tconstruct:vein_hammer +- tconstruct:mattock +- tconstruct:excavator +- tconstruct:kama +- tconstruct:flint_and_bronze +- #tconstruct:modifiable/melee/primary +- #tconstruct:modifiable/melee/sword + +#tconstruct:modifiable/durability +- tconstruct:pickaxe +- tconstruct:sledge_hammer +- tconstruct:vein_hammer +- tconstruct:mattock +- tconstruct:excavator +- tconstruct:hand_axe +- tconstruct:broad_axe +- tconstruct:kama +- tconstruct:scythe +- tconstruct:dagger +- tconstruct:sword +- tconstruct:cleaver +- tconstruct:flint_and_bronze + +#curios:curio +- supplementaries:key + +#forge:dusts/prismarine +- minecraft:prismarine_shard + +#forge:fences +- #forge:fences/nether_brick +- #forge:fences/wooden + +#forge:tools/iron +- minecraft:iron_axe +- minecraft:iron_pickaxe +- minecraft:iron_shovel +- minecraft:iron_sword +- minecraft:shears + +#forge:coins/iron +- thermal:iron_coin + +#forge:storage_blocks/diamond +- minecraft:diamond_block + +#survivalist:nuggets/silver +- survivalist:silver_nugget + +#forge:rocks/stone +- survivalist:stone_rock + +#tconstruct:parts +- tconstruct:pickaxe_head +- tconstruct:hammer_head +- tconstruct:small_axe_head +- tconstruct:broad_axe_head +- tconstruct:small_blade +- tconstruct:broad_blade +- tconstruct:tool_binding +- tconstruct:large_plate +- tconstruct:tool_handle +- tconstruct:tough_handle +- tconstruct:repair_kit + +#forge:dusts/lead +- thermal:lead_dust + +#forge:storage_blocks/bamboo +- thermal:bamboo_block + +#forge:storage_blocks/slag +- thermal:slag_block + +#forge:small_ores/iron +- survivalist:iron_ore_rock + +#forge:plates/copper +- create:copper_sheet +- thermal:copper_plate diff --git a/src/overrides/kubejs/exported/tags/potions.txt b/src/overrides/kubejs/exported/tags/potions.txt new file mode 100644 index 0000000..42f0cf6 --- /dev/null +++ b/src/overrides/kubejs/exported/tags/potions.txt @@ -0,0 +1 @@ +To refresh this file, delete it and run /reload command again! Last updated: Aug 15, 2021 10:39:59 PM diff --git a/src/overrides/kubejs/exported/tags/tile_entity_types.txt b/src/overrides/kubejs/exported/tags/tile_entity_types.txt new file mode 100644 index 0000000..53ae94f --- /dev/null +++ b/src/overrides/kubejs/exported/tags/tile_entity_types.txt @@ -0,0 +1,12 @@ +To refresh this file, delete it and run /reload command again! Last updated: Aug 15, 2021 10:40:00 PM + +#tconstruct:crafting_station_blacklist +- tconstruct:crafting_station +- tconstruct:tinker_station +- tconstruct:part_builder +- tconstruct:part_chest +- tconstruct:modifier_chest +- tconstruct:cast_chest +- tconstruct:basin +- tconstruct:table +- tconstruct:smeltery diff --git a/src/overrides/kubejs/server_scripts/better_dynamo_placement.js b/src/overrides/kubejs/server_scripts/better_dynamo_placement.js new file mode 100644 index 0000000..1323fd9 --- /dev/null +++ b/src/overrides/kubejs/server_scripts/better_dynamo_placement.js @@ -0,0 +1,165 @@ +// Block Placement + +function opposite(face) { + if (face.equals('down')) + return 'up' + if (face.equals('east')) + return 'west' + if (face.equals('west')) + return 'east' + if (face.equals('north')) + return 'south' + if (face.equals('south')) + return 'north' + return 'down' +} + +onEvent('entity.spawned', event => { + let entity = event.getEntity() + if (entity.getType() == "appliedenergistics2:singularity") { + let item = entity.getItem() + if (item == null) + return + if (!item.getId().contains("quantum")) + return + entity.setMotionX(0) + entity.setMotionY(0) + entity.setMotionZ(0) + return + } + if (entity.getType() != "minecraft:item") + return + let item = entity.getItem() + if (item == null) + return + if (!item.getId().startsWith("tconstruct:")) + return + if (!item.getId().endsWith("slime_fern")) + return + let block = entity.getBlock() + if (block.getId() != "occultism:spirit_fire" && block.getDown().getId() != "occultism:spirit_fire") + return + entity.setMotionX(entity.getMotionX() / 16) + entity.setMotionY(0.35) + entity.setMotionZ(entity.getMotionZ() / 16) + entity.setX(Math.floor(entity.getX()) + .5) + entity.setY(Math.floor(entity.getY()) - .5) + entity.setZ(Math.floor(entity.getZ()) + .5) +}) + +onEvent('server.datapack.first', event => { + + // "Fixes" Extended Caves wiping its config contents + let extcaves_conf = java("com.polyvalord.extcaves.config.Config") + let suppl_conf = java("net.mehvahdjukaar.supplementaries.configs.ServerConfigs") + let no_thankyou = suppl_conf.block.CAGE_ALL_MOBS + + extcaves_conf.gen_block_lavastone = no_thankyou + extcaves_conf.gen_block_oldstone = no_thankyou + extcaves_conf.gen_vines = no_thankyou + extcaves_conf.gen_block_sedimentstone = no_thankyou + extcaves_conf.gen_block_dirtstone = no_thankyou + extcaves_conf.gen_block_marlstone = no_thankyou + extcaves_conf.gen_block_packed_ice = no_thankyou + extcaves_conf.gen_mushrooms = no_thankyou + extcaves_conf.gen_mosses = no_thankyou + extcaves_conf.gen_rock_flints = no_thankyou + +}) + +onEvent('player.tick', event => { + + // Fixes advanced rocketry not applying low gravity on the moon + let player = event.getPlayer() + + if (player.minecraftPlayer.field_70173_aa % 10 != 0) + return + if (event.world.getDimension() != "custommoon:moon") + return + + let effects = java("net.minecraft.potion.Effects") + player.getPotionEffects().add(effects.field_204839_B, 20, 0, false, false) // slow fall + player.getPotionEffects().add(effects.field_76430_j, 20, 4, false, false) // jump boost + +}) + +onEvent('player.tick', event => { + + // Fixes advanced rocketry not descending their rocket + let player = event.getPlayer() + if (player.getY() < 700) + return + + let riding = player.getRidingEntity() + if (!riding) + return + if (riding.getType() != "advancedrocketry:rocket") + return + + let nbt = riding.getFullNBT() + if (nbt["flight"] == 0) { + nbt["flight"] = 1 + riding.setFullNBT(nbt) + } + +}) + +onEvent('block.place', event => { + + // Auto-configure placed energy "pipez" to extract when near a dynamo + let block = event.getBlock() + if (block.getId().startsWith('pipez:energy_pipe')) { + + Direction.ALL.values().forEach(face => { + let dynamo = block.offset(face) + if (!dynamo.id.startsWith("thermal:dynamo")) + return + if (face.toString().toLowerCase() != opposite(dynamo.getProperties()['facing'].toString())) + return + + let properties = block.getProperties() + properties['has_data'] = true + block.set(block.getId(), properties) + let te = block.getEntity() + if (!te) + return + let nbt = utils.newMap().toNBT() + te.func_189515_b(nbt) + let sides = nbt.func_150295_c("ExtractingSides", 1) + sides.set(face.ordinal(), java("net.minecraft.nbt.ByteNBT").field_229670_c_) + te.func_230337_a_(block.getBlockState(), nbt) + }) + return + } + + // Reverse placed Dynamos on Sneak + if (event.getEntity() == null) + return + if (block.getId().startsWith('thermal:dynamo')) { + let properties = block.getProperties() + if (event.getEntity().isCrouching()) { + properties['facing'] = opposite(properties['facing'].toString()) + block.set(block.getId(), properties) + } + + Direction.ALL.values().forEach(face => { + if (face.toString().toLowerCase() != opposite(properties['facing'].toString())) + return + let pipe = block.offset(face.getOpposite()) + if (pipe.getId().startsWith('pipez:energy_pipe')) { + let properties2 = pipe.getProperties() + properties2['has_data'] = true + pipe.set(pipe.getId(), properties2) + let te = pipe.getEntity() + if (!te) + return + let nbt = utils.newMap().toNBT() + te.func_189515_b(nbt) + let sides = nbt.func_150295_c("ExtractingSides", 1) + sides.set(face.ordinal(), java("net.minecraft.nbt.ByteNBT").field_229670_c_) + te.func_230337_a_(pipe.getBlockState(), nbt) + } + }); + } + +}) \ No newline at end of file diff --git a/src/overrides/kubejs/server_scripts/bonkers_chemistry.js b/src/overrides/kubejs/server_scripts/bonkers_chemistry.js new file mode 100644 index 0000000..e75f6d1 --- /dev/null +++ b/src/overrides/kubejs/server_scripts/bonkers_chemistry.js @@ -0,0 +1,583 @@ + +global.cachedSeed = undefined +global.cachedAlchemyData = {} + +function colourMap(c) { + switch (c) { + case "white": return [255, 255, 255] + case "orange": return [255, 150, 0] + case "magenta": return [255, 39, 255] + case "light_blue": return [170, 202, 255] + + case "yellow": return [255, 255, 0] + case "lime": return [160, 255, 0] + case "pink": return [255, 109, 183] + case "gray": return [127, 127, 127] + + case "light_gray": return [223, 223, 223] + case "cyan": return [0, 205, 205] + case "purple": return [140, 0, 255] + case "blue": return [29, 29, 255] + + case "brown": return [119, 59, 0] + case "green": return [12, 203, 0] + case "red": return [244, 22, 9] + default: return [47, 47, 47] + } +} + +function shuffle(array, random) { + for (var i = array.length - 1; i > 0; i--) { + var j = random.nextInt(i + 1); + var temp = array[i]; + array[i] = array[j]; + array[j] = temp; + } + return array +} + +function attackNearby(world, x, y, z) { + let aabb = AABB.CUBE.func_72317_d(x - .5, y + .5, z - .5).func_72321_a(-3, -3, -3).func_72321_a(3, 3, 3) + let list = world.minecraftWorld.func_217394_a(null, aabb, e => true) + + list.forEach(e => { + let entity = world.getEntity(e) + if (!entity.isLiving()) + return + entity.attack("magic", 6) + }) +} + +function process(world, block, entity, face) { + + if (global.cachedSeed != world.getSeed()) { + global.cachedSeed = world.getSeed() + let random = new java("java.util.Random")(world.getSeed()) + let next = () => random.nextInt(6) + let generateCode = () => [next(), next(), next(), next()] + for (cat = 0; cat < 7; cat++) { + global.cachedAlchemyData[cat] = { + code: generateCode(), + result: cat == 6 ? "kubejs:substrate_chaos" : global.substrates[6][cat].id, + mappings: shuffle(Array(0, 1, 2, 3, 4, 5), random) + } + } + let total = [] + global.cachedAlchemyData["chaos_mapping"] = [] + for (i = 0; i < 38; i++) { + total.push(i) + global.cachedAlchemyData["chaos_mapping"].push(0) + } + shuffle(total, random) + for (i = 0; i < 38; i += 2) { + if (total[i] >= 36 && total[i + 1] >= 36) { // must not map silver-silicon + if (i == 0) { + let swap = total[i + 2] + total[i + 2] = total[i + 1] + total[i + 1] = swap + } else { + let swap = total[i - 1] + total[i - 1] = total[i] + total[i] = swap + } + } + } + for (i = 0; i < 38; i += 2) { + global.cachedAlchemyData["chaos_mapping"][total[i]] = total[i + 1] + global.cachedAlchemyData["chaos_mapping"][total[i + 1]] = total[i] + } + } + + let nbt = entity.getFullNBT() + let items = nbt.Items + + // Laser Recipe + + let validForProcessing = true + let validTool = undefined + let toProcess = undefined + let processAmount = 0 + let magnet = 'thermal:flux_magnet' + let staff = 'appliedenergistics2:charged_staff' + let entropy = 'appliedenergistics2:entropy_manipulator' + + items.forEach(e => { + if (!validForProcessing) + return + if (e.id.startsWith(magnet) || e.id.startsWith(staff) || e.id.startsWith(entropy)) { + if (validTool) + validForProcessing = false + validTool = e + return + } + if (toProcess && toProcess != e.id) { + validForProcessing = false + return + } + toProcess = e.id + processAmount += e.Count + }) + + if (validTool && validForProcessing && toProcess) { + let resultItem = undefined + let particle = "effect" + + if (!validTool.tag) + return + + if (validTool.id.startsWith(magnet)) { + if (!toProcess.equals("minecraft:basalt")) + return + let energy = validTool.tag.func_74762_e("Energy") - 80 * processAmount + if (energy < 0) + return + validTool.tag.func_74768_a("Energy", energy) + resultItem = "thermal:basalz_rod" + particle = "flame" + } + if (validTool.id.startsWith(staff)) { + if (!toProcess.equals("kubejs:smoke_mote")) + return + let energy = validTool.tag.func_74769_h("internalCurrentPower") - 40 * processAmount + if (energy < 0) + return + validTool.tag.func_74780_a("internalCurrentPower", energy) + resultItem = "thermal:blitz_rod" + particle = "firework" + } + if (validTool.id.startsWith(entropy)) { + if (!toProcess.equals("minecraft:snowball")) + return + let energy = validTool.tag.func_74769_h("internalCurrentPower") - 80 * processAmount + if (energy < 0) + return + validTool.tag.func_74780_a("internalCurrentPower", energy) + resultItem = "thermal:blizz_rod" + particle = "spit" + } + + if (!resultItem) + return + + world.server.runCommandSilent(`/particle minecraft:flash ${entity.x} ${entity.y + .5} ${entity.z} 0 0 0 .01 1`) + world.server.runCommandSilent(`/particle appliedenergistics2:matter_cannon_fx ${entity.x} ${entity.y + .5} ${entity.z}`) + world.server.runCommandSilent(`/particle minecraft:${particle} ${entity.x} ${entity.y + .5} ${entity.z} .65 .65 .65 0 10`) + world.server.runCommandSilent(`/playsound minecraft:block.enchantment_table.use block @a ${entity.x} ${entity.y} ${entity.z} 0.95 1.5`) + attackNearby(world, entity.x, entity.y, entity.z) + + let resultCount = Math.ceil(processAmount / 2.0) + nbt.Items.clear() + + let actualIndex = 0 + for (i = 0; i < 5; i++) { + if (i == validTool.Slot) { + nbt.Items.add(actualIndex, validTool) + actualIndex++ + continue + } + if (resultCount <= 0) + continue + + let resultItemNBT = utils.newMap(); + resultItemNBT.put("Slot", i) + resultItemNBT.put("id", resultItem) + resultItemNBT.put("Count", Math.min(64, resultCount)) + nbt.Items.add(actualIndex, resultItemNBT.toNBT()) + actualIndex++ + + resultCount = resultCount - 64 + } + + entity.setFullNBT(nbt) + return + } + + // Chaos Transmutation + + let validForTransmutation = true + let catalyst = undefined + let toTransmute = undefined + let transmuteAmount = 0 + let catalystId = 0 + + items.forEach(e => { + if (!validForTransmutation) + return + if (!e.id.startsWith('kubejs:substrate_')) { + validForTransmutation = false + return + } + let mapping = global.substrate_mapping[e.id.replace('kubejs:substrate_', "")] + if (e.id != "kubejs:substrate_silicon" && e.id != "kubejs:substrate_silver" && (!mapping || mapping.category == 6)) { + if (catalyst || mapping) { + validForTransmutation = false + return + } + catalyst = e + catalystId = mapping ? mapping.index : -1 + return + } + if (toTransmute && toTransmute != e.id) { + validForTransmutation = false + return + } + toTransmute = e.id + transmuteAmount += e.Count + }) + + if (validForTransmutation && catalyst && toTransmute) { + let categoryMapping = global.substrate_mapping[toTransmute.replace('kubejs:substrate_', "")] + + let id1 + // let id2 + // if (catalystId == -1) { + if (toTransmute == "kubejs:substrate_silicon") + categoryMapping = { category: 5, index: 6 } + if (toTransmute == "kubejs:substrate_silver") + categoryMapping = { category: 5, index: 7 } + let data = global.cachedAlchemyData["chaos_mapping"] + // let dataReversed = global.cachedAlchemyData["reverse_chaos_mapping"] + let i1 = data[categoryMapping.category * 6 + categoryMapping.index] + // let i2 = dataReversed[categoryMapping.category * 6 + categoryMapping.index] + id1 = i1 == 36 ? "kubejs:substrate_silicon" : i1 == 37 ? "kubejs:substrate_silver" : global.substrates[Math.floor(i1 / 6)][i1 % 6].id + // id2 = i2 == 36 ? "kubejs:substrate_silicon" : global.substrates[Math.floor(i2 / 6)][i2 % 6].id + // } + // else { + // if (!categoryMapping || (categoryMapping.category + 1) % 6 != catalystId) + // return + // let data = global.cachedAlchemyData[catalystId] + // id1 = global.substrates[catalystId][data.mappings[categoryMapping.index]].id + // if (catalystId != 1) { // search for backwards connection + // let prevCat = catalystId - 1; + // if (catalystId == 0) + // prevCat += 6 + // for (i = 0; i < 6; i++) + // if (global.cachedAlchemyData[prevCat].mappings[i] == categoryMapping.index) + // id2 = global.substrates[prevCat - 1][i].id + // } + // if (id1 == "kubejs:substrate_cobblestone") + // id1 = "kubejs:substrate_silicon" + // } + let resultItems = [id1]//, id2] + + world.server.runCommandSilent(`/particle minecraft:flash ${entity.x} ${entity.y + .5} ${entity.z} 0 0 0 .01 1`) + world.server.runCommandSilent(`/particle appliedenergistics2:matter_cannon_fx ${entity.x} ${entity.y + .5} ${entity.z}`) + world.server.runCommandSilent(`/particle minecraft:effect ${entity.x} ${entity.y + .5} ${entity.z} .75 .75 .75 .75 10`) + world.server.runCommandSilent(`/playsound minecraft:block.enchantment_table.use block @a ${entity.x} ${entity.y} ${entity.z} 0.95 1.5`) + attackNearby(world, entity.x, entity.y, entity.z) + + let random = new java("java.util.Random")() + let resultCounts = [0]//, 0] + + for (i = 0; i < transmuteAmount; i++) { + let next = random.nextInt(8) + if (next < (catalystId == -1 ? 4 : 2)) + continue + let index = 0//next == 11 ? 1 : 0 + resultCounts[index] = resultCounts[index] + 1 + } + + nbt.Items.clear() + + let actualIndex = 0 + let itemIndex = 0 + for (i = 0; i < 5; i++) { + if (i == catalyst.Slot) { + nbt.Items.add(actualIndex, catalyst) + actualIndex++ + continue + } + if (resultCounts[itemIndex] <= 0) { + if (itemIndex == 0)//1) + continue + itemIndex++ + if (!resultItems[itemIndex]) + continue + } + + let resultItemNBT = utils.newMap(); + resultItemNBT.put("Slot", i) + resultItemNBT.put("id", resultItems[itemIndex]) + resultItemNBT.put("Count", Math.min(64, resultCounts[itemIndex])) + nbt.Items.add(actualIndex, resultItemNBT.toNBT()) + actualIndex++ + + resultCounts[itemIndex] = resultCounts[itemIndex] - 64 + } + + entity.setFullNBT(nbt) + return + } + + // Catalyst Mastermind + + let catCode = -1; + let guessedSet = [] + let reagents = [] + let guessedString = "" + let count = 0; + let redstoneAccellerator = false + let glowstoneAccellerator = false + let valid = true + + if (items.length < 4) + return + + items.forEach(e => { + if (e.Count > 1) { + valid = false + return + } + if (e.id.startsWith("kubejs:accellerator_redstone")) { + redstoneAccellerator = true + return + } + if (e.id.startsWith("kubejs:accellerator_glowstone")) { + glowstoneAccellerator = true + return + } + if (!e.id.startsWith('kubejs:substrate_')) { + valid = false + return + } + let mapping = global.substrate_mapping[e.id.replace('kubejs:substrate_', "")] + if (!mapping) + return + if (catCode != -1 && catCode != mapping.category) + return + catCode = mapping.category + guessedSet.push(mapping.index) + reagents.push(e.id) + count++ + guessedString = guessedString + "§6" + mapping.name + "§7" + (count < 4 ? ", " : "") + }) + + if (!valid) + return + if (count != 4) + return + if (!global.cachedAlchemyData[catCode]) + return + + let data = global.cachedAlchemyData[catCode] + let unmatchedCorrectSet = data.code.slice() + let unmatchedGuessedSet = guessedSet.slice() + let result = [0, 0, 0] + let resultEval = [0, 0, 0, 0] + let trueFalse = [true, false] + let retain = -1 + + trueFalse.forEach(exact => { + for (digit = 0; digit < 4; digit++) { + let guessed = unmatchedGuessedSet[digit] + for (digit2 = 0; digit2 < unmatchedCorrectSet.length; digit2++) { + let correct = unmatchedCorrectSet[digit2] + if (correct != guessed) + continue + if (exact && digit != digit2) + continue + + resultEval[digit] = exact ? 2 : 1 + result[exact ? 2 : 1] = result[exact ? 2 : 1] + 1 + unmatchedGuessedSet[digit] = -2 + unmatchedCorrectSet[digit2] = -1 + break + } + } + }) + + if (glowstoneAccellerator || redstoneAccellerator) { + let random = new java("java.util.Random")() + let shuffled = shuffle(Array(0, 1, 2, 3), random) + for (i = 0; i < 4; i++) { + let j = shuffled[i] + if (glowstoneAccellerator && resultEval[j] == 2) { + retain = j + break + } + if (redstoneAccellerator && resultEval[j] == 1) { + retain = j + break + } + } + } + + result[0] = 4 - result[2] - result[1] + + // console.log("Correct: " + data.code) + // console.log("Guessed: " + guessedSet) + // console.log("Result: " + result) + // console.log("Retained: " + retain) + + let errorId = -1 + + if (result[0] == 4) + errorId = 0 + if (result[0] == 3) { + if (result[1] == 1) + errorId = 1 + if (result[1] == 0) + errorId = 2 + } + if (result[0] == 2) { + if (result[1] == 2) + errorId = 3 + if (result[1] == 0) + errorId = 4 + if (result[1] == 1) + errorId = 5 + } + if (result[0] == 1) { + if (result[1] == 3) + errorId = 6 + if (result[1] == 0) + errorId = 7 + if (result[1] == 2) + errorId = 8 + if (result[1] == 1) + errorId = 9 + } + if (result[0] == 0) { + if (result[1] == 4) + errorId = 10 + if (result[1] == 3) + errorId = 12 + if (result[1] == 1) + errorId = 13 + if (result[1] == 2) + errorId = 14 + } + + let success = errorId == -1 + let resultItem = success ? data.result : `kubejs:failed_alchemy_${errorId}` + world.server.runCommandSilent(`/particle minecraft:flash ${entity.x} ${entity.y + .5} ${entity.z} 0 0 0 .01 1`) + world.server.runCommandSilent(`/particle appliedenergistics2:matter_cannon_fx ${entity.x} ${entity.y + .5} ${entity.z}`) + world.server.runCommandSilent(`/particle minecraft:dust 0 1 1 1 ${entity.x} ${entity.y + .5} ${entity.z} .75 .75 .75 .75 ${success ? "80" : "6"}`) + world.server.runCommandSilent(`/playsound minecraft:block.enchantment_table.use block @a ${entity.x} ${entity.y} ${entity.z} 0.95 ${success ? "2" : "1.25"}`) + attackNearby(world, entity.x, entity.y, entity.z) + if (success) + world.server.runCommandSilent(`/playsound minecraft:block.beacon.activate block @a ${entity.x} ${entity.y} ${entity.z} 0.95 1.5`) + nbt.Items.clear() + + let resultItemNBT = utils.newMap(); + let resultItemTagNBT = utils.newMap(); + let resultItemLoreNBT = utils.newMap(); + let resultItemLoreList = utils.newList(); + + resultItemLoreList.add('{"text": "' + guessedString + '", "italic": false}') + resultItemLoreNBT.put("Lore", resultItemLoreList.toNBT()) + resultItemTagNBT.put("display", resultItemLoreNBT.toNBT()) + + resultItemNBT.put("Slot", 0) + resultItemNBT.put("id", resultItem) + resultItemNBT.put("Count", 1) + if (errorId != -1) + resultItemNBT.put("tag", resultItemTagNBT.toNBT()) + nbt.Items.add(0, resultItemNBT.toNBT()) + + if (retain != -1) { + resultItemNBT = utils.newMap(); + resultItemNBT.put("Slot", 1) + resultItemNBT.put("id", reagents[retain]) + resultItemNBT.put("Count", 1) + nbt.Items.add(1, resultItemNBT.toNBT()) + } + + entity.setFullNBT(nbt) + +} + +onEvent('block.left_click', event => { + + let block = event.getBlock() + let tags = block.getTags() + + if (!block.id.startsWith("thermal:machine_frame")) + return + + let world = event.getWorld() + let clickedFace = event.getFacing() + let item = event.getItem() + let player = event.getPlayer() + + if (!item.empty) + return + if (player.name != "Deployer") + return + + let sound = false + + Direction.ALL.values().forEach(face => { + if (clickedFace == face) + return + let laser = block.offset(face) + if (!laser.id.startsWith("cb_multipart:multipart")) + return + let te = laser.getEntity() + if (!te) + return + let nbt = utils.newMap().toNBT() + te.func_189515_b(nbt) + let parts = nbt.func_150295_c("parts", 10) + let valid = false + let color = "" + if (parts) { + parts.forEach(part => { + if (!part.id.endsWith("_cage_light")) + return + if (part.pow == part.id.contains("inverted")) + return + if (part.side != face.getOpposite().ordinal()) + return + valid = true + color = part.id.replace("_inverted", "").replace("_cage_light", "").replace("projectred-illumination:", "") + }) + } + + if (!valid) + return + + let x = laser.x + let y = laser.y + let z = laser.z + let aabb = AABB.CUBE.func_72317_d(x, y, z).func_72321_a(4 * face.x, 4 * face.y, 4 * face.z) + let list = world.minecraftWorld.func_217394_a(null, aabb, e => true) + + list.forEach(e => { + let entity = world.getEntity(e) + if (!entity.type.equals("minecraft:hopper_minecart")) { + if (!entity.type.equals("minecraft:item")) + entity.attack("magic", 6) + return + } + process(world, block, entity, face) + entity.attack("magic", 1) + }) + + sound = true + let rgb = colourMap(color) + for (i = 0; i < 22; i++) { + let offset = (i / 20.0) * 4 + world.server.runCommandSilent(`/particle dust ${rgb[0] / 256} ${rgb[1] / 256} ${rgb[2] / 256} 1 ${x + .5 + face.x * offset} ${y + .5 + face.y * offset} ${z + .5 + face.z * offset} 0 0 0 .001 1`) + } + world.server.runCommandSilent(`/particle minecraft:end_rod ${x + .5 + face.x * 2} ${y + .5 + face.y * 2} ${z + .5 + face.z * 2} ${face.x * 2} ${face.y * 2} ${face.z * 2} .1 10`) + + }) + + if (sound) + world.server.runCommandSilent(`/playsound minecraft:entity.firework_rocket.blast block @a ${block.x} ${block.y} ${block.z} 0.55 0.5`) + + +}) + +onEvent('item.pickup', event => { + let entity = event.getEntity() + if (event.getItem().id == 'kubejs:missingno') { + event.getWorld().getBlock(entity.x, entity.y, entity.z) + .createExplosion() + .causesFire(true) + .damagesTerrain(true) + .strength(4) + .explode() + } +}) \ No newline at end of file diff --git a/src/overrides/kubejs/server_scripts/express_mode.js b/src/overrides/kubejs/server_scripts/express_mode.js new file mode 100644 index 0000000..11a0009 --- /dev/null +++ b/src/overrides/kubejs/server_scripts/express_mode.js @@ -0,0 +1,44 @@ +// onEvent('block.left_click', event => { +// let block = event.getBlock() +// let world = event.getWorld() + +// if (!event.getItem().getId().equals("minecraft:stick")) +// return +// if (!block.getId().equals("minecraft:barrel")) +// return + +// let te = block.getEntity() +// if (!te) +// return +// let nbt = utils.newMap().toNBT() +// te.func_189515_b(nbt) + +// let parts = nbt.func_150295_c("Items", 10) +// if (!parts) +// return + +// let item = undefined +// parts.forEach(part => { +// if (item) +// return +// item = part +// }) + +// if (!item) +// return + + +// block.set("metalbarrels:iron_barrel", block.getProperties()) + +// let id = item.func_74779_i("id") +// let items = "" + +// for (i = 0; i < 54; i++) { +// if (i > 0) +// items += "," +// items += `{Slot:${i},Count:64,id:"${id}"}` +// } + +// world.server.runCommandSilent(`/data merge block ${block.x} ${block.y} ${block.z} {inv:{Items:[${items}]}}`) + +// }) \ No newline at end of file diff --git a/src/overrides/kubejs/server_scripts/loot.js b/src/overrides/kubejs/server_scripts/loot.js new file mode 100644 index 0000000..6ef4e47 --- /dev/null +++ b/src/overrides/kubejs/server_scripts/loot.js @@ -0,0 +1,359 @@ +let metal_ores_drop_dust = (id, dust_id) => ({ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": id + }, + { + "type": "minecraft:item", + "name": dust_id, + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.0, + 0.125, + 0.25, + 0.35, + 0.5 + ] + } + ], + "name": dust_id + } + ] + } + ] +}) + +let mystery_leaves_but_no_gapples = +{ + "type": "minecraft:block", + "pools": [ + { + "name": "forbidden_arcanus:mysterywood_leaves", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:alternative", + "terms": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + }, + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + } + ], + "name": "forbidden_arcanus:mysterywood_leaves" + }, + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.05, + 0.0625, + 0.083333336, + 0.1 + ] + } + ], + "name": "forbidden_arcanus:mysterywood_sapling" + } + ] + } + ] + }, + { + "name": "forbidden_arcanus:mysterywood_leaves", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.02, + 0.022222223, + 0.025, + 0.033333335, + 0.1 + ] + } + ], + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1.0, + "max": 2.0, + "type": "minecraft:uniform" + } + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "minecraft:stick" + } + ], + "conditions": [ + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:alternative", + "terms": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + }, + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + } + } + ] + }, + { + "name": "forbidden_arcanus:mysterywood_leaves", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:table_bonus", + "enchantment": "minecraft:fortune", + "chances": [ + 0.005, + 0.0055555557, + 0.00625, + 0.008333334, + 0.025 + ] + } + ], + "name": "minecraft:gold_nugget" + } + ], + "conditions": [ + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:alternative", + "terms": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "tag": "forge:shears" + } + }, + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ] + } + } + ] + } + ] +} + +let slabs = (id) => ({ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "function": "minecraft:set_count", + "conditions": [ + { + "condition": "minecraft:block_state_property", + "block": id, + "properties": { + "type": "double" + } + } + ], + "count": 2 + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": id + } + ] + } + ] +}) + +let cobble = (id, cobbleId) => ({ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:match_tool", + "predicate": { + "enchantments": [ + { + "enchantment": "minecraft:silk_touch", + "levels": { + "min": 1 + } + } + ] + } + } + ], + "name": id + }, + { + "type": "minecraft:item", + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "name": cobbleId + } + ] + } + ] + } + ] +}) + +onEvent('block.loot_tables', event => { + + // Vanilla stone variants drop as cobble + event.addJson(MC('andesite'), cobble(MC('andesite'), CR('andesite_cobblestone'))) + event.addJson(MC('diorite'), cobble(MC('diorite'), CR('diorite_cobblestone'))) + event.addJson(MC('granite'), cobble(MC('granite'), CR('granite_cobblestone'))) + event.addSimpleBlock('chisel:basalt/raw', 'extcaves:lavastone') + + event.addSimpleBlock('minecraft:twisting_vines', 'minecraft:twisting_vines') + event.addSimpleBlock('minecraft:weeping_vines', 'minecraft:weeping_vines') + event.addSimpleBlock('advancedrocketry:moonturf', 'advancedrocketry:moonturf') + + // 1.17-esque Ores + let extra_ores = ['minecraft:', 'darkerdepths:aridrock_', 'darkerdepths:limestone_'] + + extra_ores.forEach(e => { + let iron = e + "iron_ore" + event.addJson(iron, metal_ores_drop_dust(iron, CR('crushed_iron_ore'))) + let gold = e + "gold_ore" + event.addJson(gold, metal_ores_drop_dust(gold, CR('crushed_gold_ore'))) + }) + event.addJson(CR('copper_ore'), metal_ores_drop_dust(CR('copper_ore'), CR('crushed_copper_ore'))) + event.addJson(CR('zinc_ore'), metal_ores_drop_dust(CR('zinc_ore'), CR('crushed_zinc_ore'))) + event.addJson(TE('nickel_ore'), metal_ores_drop_dust(TE('nickel_ore'), CR('crushed_nickel_ore'))) + event.addJson(TE('lead_ore'), metal_ores_drop_dust(TE('lead_ore'), CR('crushed_lead_ore'))) + + event.addJson("forbidden_arcanus:mysterywood_leaves", mystery_leaves_but_no_gapples) + +}) \ No newline at end of file diff --git a/src/overrides/kubejs/server_scripts/quests.js b/src/overrides/kubejs/server_scripts/quests.js new file mode 100644 index 0000000..d1ac9c5 --- /dev/null +++ b/src/overrides/kubejs/server_scripts/quests.js @@ -0,0 +1,24 @@ + + +events.listen('ftbquests.custom_reward', function (event) { + let reward = event.getReward() + let id = reward.quest.getCodeString() + + let runCommand = (cmd) => { + event.server.schedule(10, event.server, function (callback) { + callback.data.runCommandSilent(cmd) + }) + } + + if (reward.hasTag('reset')) + runCommand('/ftbquests change_progress ' + event.player.name + ' reset ' + id) + + if (reward.hasTag('bad_omen')) + runCommand('/effect clear ' + event.player.name + ' minecraft:bad_omen') + + if (reward.hasTag('fortress')) + event.server.schedule(10, event.server, function (callback) { + callback.data.runCommand('/execute as ' + event.player.name + ' in minecraft:the_nether run locate fortress') + }) + +}) \ No newline at end of file diff --git a/src/overrides/kubejs/server_scripts/recipes.js b/src/overrides/kubejs/server_scripts/recipes.js new file mode 100644 index 0000000..23900cb --- /dev/null +++ b/src/overrides/kubejs/server_scripts/recipes.js @@ -0,0 +1,2853 @@ +// priority: 0 + +settings.logAddedRecipes = true +settings.logRemovedRecipes = true +settings.logSkippedRecipes = false +settings.logErroringRecipes = true + +var seed +var log = [] + +// Mod shortcuts +let MOD = (domain, id, x) => (x ? `${x}x ` : "") + (id.startsWith('#') ? '#' : "") + domain + ":" + id.replace('#', '') +let AE2 = (id, x) => MOD("appliedenergistics2", id, x) +let TE = (id, x) => MOD("thermal", id, x) +let AP = (id, x) => MOD("architects_palette", id, x) +let LV = (id, x) => MOD("libvulpes", id, x) +let CR = (id, x) => MOD("create", id, x) +let TC = (id, x) => MOD("tconstruct", id, x) +let MC = (id, x) => MOD("minecraft", id, x) +let KJ = (id, x) => MOD("kubejs", id, x) +let EG = (id, x) => MOD("endergetic", id, x) +let FD = (id, x) => MOD("farmersdelight", id, x) +let BOP = (id, x) => MOD("biomesoplenty", id, x) +let PR_C = (id, x) => MOD("projectred-core", id, x) +let PR_T = (id, x) => MOD("projectred-transmission", id, x) +let PR_I = (id, x) => MOD("projectred-illumination", id, x) +let RQ = (id, x) => MOD("xreliquary", id, x) +let SD = (id, x) => MOD("storagedrawers", id, x) +let SP = (id, x) => MOD("supplementaries", id, x) +let F = (id, x) => MOD("forge", id, x) +let AC = (id, x) => MOD("aquaculture", id, x) +let PP = (id, x) => MOD("prettypipes", id, x) +let OC = (id, x) => MOD("occultism", id, x) +// + +let colours = ['white', 'orange', 'magenta', 'light_blue', 'lime', 'pink', 'purple', 'light_gray', 'gray', 'cyan', 'brown', 'green', 'blue', 'red', 'black', 'yellow'] +let native_metals = ['iron', 'zinc', 'lead', 'copper', 'nickel', 'gold'] +let wood_types = [MC('oak'), MC('spruce'), MC('birch'), MC('jungle'), MC('acacia'), MC('dark_oak'), MC('crimson'), MC('warped'), BOP('fir'), BOP('redwood'), BOP('cherry'), BOP('mahogany'), BOP('jacaranda'), BOP('palm'), BOP('willow'), BOP('dead'), BOP('magic'), BOP('umbran'), BOP('hellbark'), AP('twisted'), EG('poise')] + +let donutCraft = (event, output, center, ring) => { + event.shaped(output, [ + 'SSS', + 'SCS', + 'SSS' + ], { + C: center, + S: ring + }) +} + +function ifiniDeploying(output, input, tool) { + return { + "type": "create:deploying", + "ingredients": [ + Ingredient.of(input).toJson(), + Ingredient.of(tool).toJson() + ], + "results": [ + Item.of(output).toResultJson() + ], + "keepHeldItem": true + } +} + +onEvent('recipes', event => { + log.push('Registering Recipes') + beforeNuke(event) + unwantedRecipes(event) + tweaks(event) + unify(event) + trickierWindmills(event) + rubberMatters(event) + prettierpipes(event) + algalAndesite(event) + oreProcessing(event) + alloys(event) + electronTube(event) + andesiteMachine(event) + copperMachine(event) + brassMachine(event) + zincMachine(event) + invarMachine(event) + enderMachine(event) + fluixMachine(event) + circuits(event) + madMaths(event) + alchemy(event) + barrels(event) + rocketScience(event) + drawersop(event) + trading(event) + glitch(event) + log.push('Recipes Updated') +}) + +onEvent('item.tags', event => { + + colours.forEach(element => { + event.get(F('glazed_terracotta')).add(MC(`${element}_glazed_terracotta`)) + }); + + global.trades.forEach(element => { + event.get('forge:trade_cards').add(`kubejs:trade_card_${element}`) + }); + + global.professions.forEach(element => { + event.get('forge:profession_cards').add(`kubejs:profession_card_${element}`) + }); + + event.get("farmersdelight:offhand_equipment").add("forbidden_arcanus:obsidian_skull_shield") + + event.get("forge:raw_chicken").add("exoticbirds:raw_birdmeat") + event.get("forge:tools/axes").add(TC("hand_axe")) + event.get("forge:vines").add(MC("vine")).add(BOP("willow_vine")).add(BOP("spanish_moss")) + event.get("forge:recycling") + .add("extcaves:rusty_pickaxe") + .add("extcaves:rusty_sword") + .add("extcaves:iron_dagger") + .add("extcaves:gourmet_spoon") + .add("extcaves:gourmet_fork") + .add("extcaves:chef_knife") + .add("extcaves:butcher_knife") + + event.get("forge:circuit_press") + .add(AE2("name_press")) + .add(AE2("silicon_press")) + .add(AE2("logic_processor_press")) + .add(AE2("engineering_processor_press")) + .add(AE2("calculation_processor_press")) + + event.get("forbidden_arcanus:indestructible_blacklisted") + .add(/exchangers:.*/) + .add(/advancedrocketry:.*/) + .add(/xreliquary:.*/) + .add(/waterstrainer:.*/) + .add(OC("#miners/ores")) + .add(PR_C("draw_plate")) + .add(PR_C("multimeter")) + + event.get("minecraft:planks").add("forbidden_arcanus:mysterywood_planks").add("forbidden_arcanus:cherrywood_planks") + event.get("minecraft:logs_that_burn").add("#forbidden_arcanus:mysterywood_logs").add("#forbidden_arcanus:cherrywood_logs") + + event.get('forge:saws').add('cb_microblock:stone_saw').add('cb_microblock:iron_saw').add('cb_microblock:diamond_saw') + event.get('forge:screwdrivers').add(PR_C('screwdriver')) + event.get('forge:chromatic_resonators').add(KJ('chromatic_resonator')) + event.get('forge:flash_drives').add(KJ('flash_drive')) + event.get('forge:ender_staffs').add(RQ('ender_staff')) + event.get('forge:cross_of_mercys').add(RQ('mercy_cross')) + event.get('forge:super_glues').add(CR('super_glue')) + event.get('forge:wrenches').add(CR('wrench')) + event.get('forge:tools/wrench').add(CR('wrench')) + event.get('forge:ingots/steel').add("xkdeco:steel_ingot") + event.get('forge:storage_blocks/steel').add("xkdeco:steel_block") + event.get('forge:plates/zinc').add(KJ("zinc_sheet")) + + event.get('thermal:crafting/dies').add('#forge:trade_cards') + event.get('thermal:crafting/dies').add('#forge:profession_cards') + event.get('thermal:crafting/casts').add(KJ("three_cast")).add(KJ("eight_cast")).add(KJ("plus_cast")).add(KJ("minus_cast")).add(KJ("multiply_cast")).add(KJ("divide_cast")).add(F("#circuit_press")) + + event.get('create:upright_on_belt') + .add(AE2("red_paint_ball")) + .add(AE2("yellow_paint_ball")) + .add(AE2("green_paint_ball")) + .add(AE2("blue_paint_ball")) + .add(AE2("magenta_paint_ball")) + .add(AE2("black_paint_ball")) + + event.get('randomium:blacklist') + .add(/.*creative.*/) + .add(/advancedrocketry.*/) + .add(/libvulpes.*/) + .add(/itemfilters.*/) + .add(/kubejs:failed_alchemy.*/) + .add(/ftblibrary.*/) + .add(/projectred-core.*/) + .add(/waterstrainer.*/) + .add(/ftbquests.*/) + .add(/occultism.*/) + .add(/tconstruct:molten_.*_bucket/) + .add(/pipez.*/) + .add(/forbidden_arcanus:edelwood.*/) + .add(/curios.*/) + .add(/metalbarrels.*/) + .add("forbidden_arcanus:arcane_dark_stone") + .add("#forge:dusts") + .add("cb_microblock:microblock") + .add("culinaryconstruct:sandwich") + .add("culinaryconstruct:food_bowl") + .add("patchouli:guide_book") + .add("randomium:randomium") + .add("portality:generator") + .add("kubejs:alchemical_laser") + .add("kubejs:ponder_laser_lamp") + .add("chiselsandbits:block_bit") + .add("moreminecarts:chunk_loader") + .add("moreminecarts:minecart_with_chunk_loader") + .add("chunknogobyebye:loader") + .add("grapplemod:repeller") + .add(CR("handheld_worldshaper")) + .add("computercraft:computer_command") + + event.get('tconstruct:anvil_metal').add(CR('zinc_block')) + + event.get('chisel:basalt').add('extcaves:lavastone').add('extcaves:polished_lavastone') + event.get('chisel:limestone').add('extcaves:sedimentstone').add('darkerdepths:limestone').add('darkerdepths:aridrock') + + let stones = ["limestone", "dolomite"] + stones.forEach(e => { + event.get(e == "dolomite" ? "chisel:marble" : 'chisel:' + e) + .add(CR(`${e}`)) + .add(CR(`polished_${e}`)) + .add(CR(`${e}_bricks`)) + .add(CR(`fancy_${e}_bricks`)) + .add(CR(`${e}_pillar`)) + .add(CR(`paved_${e}`)) + .add(CR(`layered_${e}`)) + .add(CR(`chiseled_${e}`)) + .add(CR(`mossy_${e}`)) + .add(CR(`overgrown_${e}`)) + }) + + let v_stones = ["andesite", "diorite", "granite"] + v_stones.forEach(e => { + event.get('chisel:' + e) + .add(CR(`${e}_bricks`)) + .add(CR(`fancy_${e}_bricks`)) + .add(CR(`${e}_pillar`)) + .add(CR(`paved_${e}`)) + .add(CR(`layered_${e}`)) + .add(CR(`mossy_${e}`)) + .add(CR(`overgrown_${e}`)) + }) + + event.get("forge:treasure1") + .add(MC('cobweb')) + .add(MC('dandelion')) + .add(MC('poppy')) + .add(MC('jungle_sapling')) + .add(MC('brown_mushroom')) + .add(MC('red_mushroom')) + .add(MC('bamboo')) + .add(MC('ladder')) + .add(MC('chain')) + .add(MC('flower_pot')) + .add(MC('painting')) + .add(MC('iron_nugget')) + .add(MC('gold_nugget')) + .add(CR('copper_nugget')) + .add(CR('zinc_nugget')) + .add(MC('charcoal')) + .add(MC('rotten_flesh')) + .add(MC('pumpkin_seeds')) + .add(MC('melon_seeds')) + .add(MC('bone_meal')) + .add(MC('paper')) + .add(FD('raw_pasta')) + .add(AP('algal_blend')) + .add(FD('tree_bark')) + .add(CR('cogwheel')) + .add(KJ('sky_slimy_fern_leaf')) + .add(KJ('earth_slimy_fern_leaf')) + .add(KJ('ender_slimy_fern_leaf')) + .add(TE('rubber')) + .add(TE('phytogro')) + .add(CR('andesite_alloy')) + .add(MC('poisonous_potato')) + + event.get("forge:treasure2") + .add(MC('lantern')) + .add(MC('redstone')) + .add(MC('bow')) + .add(FD('rice')) + .add(SP('copper_lantern')) + .add(SP('brass_lantern')) + .add(SP('sconce')) + .add(SP('rope_arrow')) + .add(SP('slingshot')) + .add(SP('flax_seeds')) + .add(SP('bomb')) + .add(FD('sweet_berry_cookie')) + .add(FD('cabbage_seeds')) + .add(FD('tomato_seeds')) + .add(MC('scute')) + .add(MC('iron_ingot')) + .add(CR('copper_ingot')) + .add(CR('zinc_ingot')) + .add(TE('rosin')) + .add(MC('spider_eye')) + .add(MC('nether_brick')) + .add(MC('beetroot_seeds')) + .add(MC('book')) + .add(MC('name_tag')) + .add(FD('rope')) + .add(CR('cinder_flour')) + .add(TC('seared_brick')) + .add(FD('canvas')) + .add(TE('cinnabar')) + .add(TE('sulfur')) + .add(TE('niter')) + .add(TE('apatite')) + .add(MC('compass')) + .add(MC('experience_bottle')) + .add(MC('golden_carrot')) + .add('antiqueatlas:empty_antique_atlas') + + event.get("forge:treasure3") + .add(MC('skeleton_skull')) + .add(MC('clock')) + .add(MC('diamond')) + .add(MC('lapis_lazuli')) + .add(MC('zombie_head')) + .add(CR('rose_quartz')) + .add(CR('brass_hand')) + .add(MC('saddle')) + .add(AE2('certus_quartz_crystal')) + .add(AE2('fluix_crystal')) + .add(TE('ice_charge')) + .add(TE('lightning_charge')) + .add(TE('earth_charge')) + .add(PR_C('red_ingot')) + .add(TE('ruby')) + .add(TE('sapphire')) + .add(CR('peculiar_bell')) + .add(MC('spectral_arrow')) + .add(MC('gold_ingot')) + .add(MC('magma_cream')) + .add(MC('ghast_tear')) + .add(MC('quartz')) + .add(MC('prismarine_shard')) + .add(MC('prismarine_crystals')) + .add(MC('chorus_fruit')) + .add(MC('blaze_powder')) + +}) + +// Scripts + +function beforeNuke(event) { + event.replaceInput({ id: "occultism:ritual/summon_foliot_crusher" }, F("#ores/silver"), CR("zinc_ore")) +} + +function unwantedRecipes(event) { + + event.remove({ output: '#forge:coins' }) + event.remove({ output: AE2('grindstone') }) + event.remove({ output: TE('tin_block') }) + event.remove({ output: AE2('vibration_chamber') }) + event.remove({ output: AE2('inscriber') }) + event.remove({ output: AE2('quartz_glass') }) + event.remove({ output: CR('chromatic_compound') }) + event.remove({ input: '#forge:coins' }) + event.remove({ input: '#forge:ores/redstone' }) + event.remove({ input: '#create:crushed_ores' }) + event.remove({ input: '#forge:ores/tin' }) + event.remove({ input: '#forge:ores/silver' }) + event.remove({ output: '#forge:plates/tin' }) + event.remove({ output: '#forge:plates/silver' }) + event.remove({ output: '#forge:gears/tin' }) + event.remove({ output: '#forge:gears/silver' }) + event.remove({ type: AE2('grinder') }) + event.remove({ type: TE('press') }) + event.remove({ id: /thermal:earth_charge\/.*/ }) + event.remove({ id: /thermal:machine\/smelter\/.*dust/ }) + event.remove({ id: /tconstruct:smeltery\/.*\/ore/ }) + event.remove({ id: "tconstruct:smeltery/entity_melting/ender" }) + event.remove({ id: "tconstruct:tables/tinkers_forge" }) + event.remove({ id: "tconstruct:tables/scorched_forge" }) + event.remove({ id: /tconstruct:smeltery\/melting\/ender\/.*/ }) + event.remove({ id: /tconstruct:smeltery\/casting\/ender\/.*/ }) + event.remove({ id: /tconstruct:smeltery\/.*\/tin.*/ }) + event.remove({ id: /appliedenergistics2:tools\/paintballs.*/ }) + event.remove({ id: "grapplemod:repeller" }) + event.remove({ id: "grapplemod:forcefieldupgradeitem" }) + event.remove({ id: "grapplemod:rocketupgradeitem" }) + event.remove({ id: "grapplemod:rocketdoublemotorhook" }) + event.remove({ id: "grapplemod:magnethook" }) + event.remove({ id: "grapplemod:rockethook" }) + event.remove({ id: "randomium:duplicate" }) + event.remove({ id: "forbidden_arcanus:eternal_stella" }) + event.remove({ id: OC('miner/ores/redstone_ore') }) + event.remove({ id: OC('miner/ores/aluminum_ore') }) + event.remove({ id: OC('miner/ores/tin_ore') }) + event.remove({ id: OC('miner/ores/silver_ore') }) + event.remove({ id: MC('diorite') }) + event.remove({ id: MC('andesite') }) + event.remove({ id: MC('granite') }) + event.remove({ id: CR('mixing/brass_ingot') }) + event.remove({ id: 'thermal:compat/biomesoplenty/tree_extractor_bop_pink_cherry' }) + event.remove({ id: 'thermal:compat/biomesoplenty/tree_extractor_bop_white_cherry' }) + event.remove({ id: 'thermal:compat/biomesoplenty/tree_extractor_bop_fir' }) + event.remove({ id: TC('smeltery/melting/metal/gold/enchanted_apple') }) + event.remove({ id: CR('cutting/andesite_alloy') }) + event.remove({ id: TE('storage/beetroot_block') }) + event.remove({ id: TE('storage/potato_block') }) + event.remove({ id: AE2('misc/grindstone_woodengear') }) + event.remove({ id: AE2('tools/misctools_entropy_manipulator') }) + event.remove({ id: TE('storage/carrot_block') }) + event.remove({ id: TE('fire_charge/invar_ingot_3') }) + event.remove({ id: TE('fire_charge/enderium_ingot_2') }) + event.remove({ id: TE('fire_charge/constantan_ingot_2') }) + event.remove({ id: TE('fire_charge/bronze_ingot_4') }) + event.remove({ id: TE('fire_charge/electrum_ingot_2') }) + event.remove({ id: TE('fire_charge/lumium_ingot_4') }) + event.remove({ id: TE('fire_charge/signalum_ingot_4') }) + event.remove({ id: TE('machine/pulverizer/pulverizer_cinnabar') }) + event.remove({ id: TE('machine/smelter/smelter_alloy_signalum') }) + event.remove({ id: TE('machine/smelter/smelter_alloy_lumium') }) + event.remove({ id: TE('machine/smelter/smelter_alloy_electrum') }) + event.remove({ id: TE('machine/smelter/smelter_alloy_enderium') }) + event.remove({ id: TE('machine/smelter/smelter_alloy_invar') }) + event.remove({ id: TE('machine/smelter/smelter_alloy_constantan') }) + event.remove({ id: TE('machine/smelter/smelter_alloy_bronze') }) + event.remove({ id: TE('compat/create/smelter_create_alloy_brass') }) + event.remove({ id: TE('compat/tconstruct/smelter_alloy_tconstruct_rose_gold_ingot') }) + event.remove({ id: TE('machine/pulverizer/pulverizer_ender_pearl') }) + event.remove({ id: TE('storage/electrum_block') }) + event.remove({ id: TE('storage/electrum_nugget_from_ingot') }) + event.remove({ id: TE('machine/pulverizer/pulverizer_electrum_ingot_to_dust') }) + event.remove({ id: TE('parts/electrum_gear') }) + event.remove({ id: AP('smelting/charcoal_block_from_logs_that_burn_smoking') }) + event.remove({ id: 'portality:generator' }) + event.remove({ mod: 'advancedrocketry' }) + event.remove({ mod: 'libvulpes' }) + event.remove({ mod: 'pipez' }) + event.remove({ mod: 'structurescompass' }) + event.remove({ input: TE('signalum_dust'), output: TE('signalum_ingot') }) + event.remove({ output: TE('signalum_dust'), input: TE('signalum_ingot') }) + event.remove({ output: TE('lightning_charge') }) + event.remove({ output: TE('ice_charge') }) + event.remove({ output: TE('earth_charge') }) + event.remove({ input: TE('lightning_charge') }) + event.remove({ input: TE('ice_charge') }) + event.remove({ input: TE('earth_charge') }) + event.remove({ input: "forbidden_arcanus:edelwood_bucket" }) + event.remove({ output: "forbidden_arcanus:edelwood_bucket" }) + + event.remove({ id: 'ravencoffee:croissant' }) + event.remove({ input: 'ravencoffee:croissant' }) + event.remove({ id: 'ravencoffee:bagel' }) + event.remove({ input: 'ravencoffee:bagel' }) + event.remove({ id: 'ravencoffee:melon_pan' }) + event.remove({ id: 'ravencoffee:muffin' }) + event.remove({ id: 'ravencoffee:popchorus' }) + event.remove({ id: 'ravencoffee:sandwich_ham' }) + event.remove({ id: 'ravencoffee:sandwich_beef' }) + event.remove({ id: 'ravencoffee:sandwich_chicken' }) + + native_metals.forEach(e => { + event.remove({ type: MC("smelting"), input: F("#dusts/" + e) }) + event.remove({ type: MC("blasting"), input: F("#dusts/" + e) }) + event.remove({ type: TC("melting"), input: F("#dusts/" + e) }) + }) + +} + +function tweaks(event) { + + event.remove({ id: 'waterstrainer:string_mesh' }) + event.remove({ id: 'waterstrainer:iron_mesh' }) + event.remove({ id: 'waterstrainer:obsidian_mesh' }) + event.remove({ id: 'waterstrainer:strainer_survivalist' }) + event.remove({ id: 'waterstrainer:strainer_survivalist_solid' }) + event.remove({ id: 'waterstrainer:strainer_survivalist_reinforced' }) + event.remove({ id: 'waterstrainer:strainer_fisherman' }) + event.remove({ id: 'waterstrainer:strainer_fisherman_solid' }) + event.remove({ id: 'waterstrainer:strainer_fisherman_reinforced' }) + + event.remove({ id: TE("augments/item_filter_augment") }) + event.shapeless(TE("item_filter_augment"), [CR("filter"), TE("lapis_gear")]) + + event.stonecutting(AE2("silicon_press"), KJ("circuit_scrap")) + event.stonecutting(AE2("engineering_processor_press"), KJ("circuit_scrap")) + event.stonecutting(AE2("calculation_processor_press"), KJ("circuit_scrap")) + event.stonecutting(AE2("logic_processor_press"), KJ("circuit_scrap")) + event.shaped(KJ("circuit_scrap", 2), + [" A ", "ABA", " A "], { A: TE("invar_ingot"), B: F("#circuit_press") }) + + event.remove({ id: FD("flint_knife") }) + event.remove({ id: FD("iron_knife") }) + event.remove({ id: FD("golden_knife") }) + event.remove({ id: FD("diamond_knife") }) + event.remove({ id: "buddycards:fd/buddysteel_food_knife" }) + event.shaped(FD('flint_knife'), ['S ', ' M'], { M: MC("flint"), S: F('#rods/wooden') }) + event.shaped(FD('iron_knife'), ['S ', ' M'], { M: MC("iron_ingot"), S: F('#rods/wooden') }) + event.shaped(FD('golden_knife'), ['S ', ' M'], { M: MC("gold_ingot"), S: F('#rods/wooden') }) + event.shaped(FD('diamond_knife'), ['S ', ' M'], { M: MC("diamond"), S: F('#rods/wooden') }) + event.shaped("buddycards:buddysteel_food_knife", ['S ', ' M'], { M: "buddycards:buddysteel_ingot", S: F('#rods/wooden') }) + + event.remove({ id: "decorative_blocks:lattice" }) + event.shaped("decorative_blocks:lattice", [ + 'SS', + 'SS' + ], { + S: F("#rods/wooden") + }) + + event.stonecutting("xkdeco:small_cushion_spawn_egg", MC("#wool")) + + event.recipes.createCrushing([Item.of(TE("bitumen")), Item.of(TE("bitumen"), 2).withChance(0.75), Item.of(TE("tar"), 1).withChance(0.75), Item.of(MC("sand")).withChance(0.25)], TE("oil_sand")) + event.recipes.createCrushing([Item.of(TE("bitumen")), Item.of(TE("bitumen"), 2).withChance(0.75), Item.of(TE("tar"), 1).withChance(0.75), Item.of(MC("red_sand")).withChance(0.25)], TE("oil_red_sand")) + + event.remove({ id: "forbidden_arcanus:iron_chain" }) // vanilla recipe conflict. what a world we live in + event.shapeless(Item.of("forbidden_arcanus:iron_chain", 3), "minecraft:chain") + + event.remove({ id: "computercraft:turtle_advanced" }) + event.remove({ id: "computercraft:turtle_advanced_upgrade" }) + event.remove({ id: "computercraft:turtle_normal" }) + + event.smithing("computercraft:turtle_normal", "computercraft:computer_normal", TE("invar_gear")) + event.smithing("computercraft:turtle_advanced", "computercraft:computer_advanced", TE("invar_gear")) + event.recipes.createMechanicalCrafting("computercraft:turtle_normal", "AB", { A: "computercraft:computer_normal", B: TE("invar_gear") }) + event.recipes.createMechanicalCrafting("computercraft:turtle_advanced", "AB", { A: "computercraft:computer_advanced", B: TE("invar_gear") }) + + event.shaped("computercraft:turtle_advanced", [ + 'SSS', + 'SMS', + 'S S' + ], { + M: "computercraft:turtle_normal", + S: MC('gold_ingot') + }) + + event.shaped("forbidden_arcanus:eternal_stella", [ + 'PEP', + 'SDS', + 'PEP' + ], { + P: "forbidden_arcanus:xpetrified_orb", + E: "minecraft:emerald", + S: "forbidden_arcanus:stellarite_piece", + D: "rubber_duck:rubber_duck_item" + }) + + donutCraft(event, MC("weeping_vines"), "forbidden_arcanus:rune", MC("twisting_vines")) + donutCraft(event, MC("twisting_vines"), "forbidden_arcanus:rune", MC("weeping_vines")) + + event.shaped(AE2('entropy_manipulator'), [ + 'S ', + ' M ', + ' M' + ], { + M: TE("lead_plate"), + S: AE2('#crystals/fluix') + }) + + event.shaped('waterstrainer:strainer_survivalist', [ + 'SSS', + 'MMM', + 'SSS' + ], { + M: FD('canvas'), + S: 'minecraft:stick' + }) + + event.shaped('waterstrainer:strainer_fisherman', [ + 'SSS', + 'MMM', + 'SSS' + ], { + M: FD('canvas'), + S: MC('bamboo') + }) + + event.shaped('waterstrainer:strainer_fisherman_reinforced', [ + 'SSS', + 'MAM', + 'SSS' + ], { + A: AC('neptunium_ingot'), + M: FD('canvas'), + S: MC('bamboo') + }) + + event.remove({ output: TC('obsidian_pane') }) + event.shaped(TC('obsidian_pane', 8), [ + 'SSS', + 'SSS' + ], { + S: MC('obsidian') + }) + + event.replaceInput({ id: "architects_palette:wither_lamp" }, AP('withered_bone'), TC('necrotic_bone')) + event.replaceInput({ id: "architects_palette:withered_bone_block" }, AP('withered_bone'), TC('necrotic_bone')) + event.remove({ id: "architects_palette:withered_bone" }) + + event.remove({ id: "extcaves:pebble_stone" }) + + event.remove({ id: "forbidden_arcanus:edelwood_stick" }) + event.shaped("3x forbidden_arcanus:edelwood_stick", [ + 'S', + 'A', + 'S' + ], { + S: 'forbidden_arcanus:edelwood_planks', + A: MC('stick') + }) + + event.replaceInput({ id: "computercraft:cable" }, MC('redstone'), PR_C('red_ingot')) + event.replaceInput({ id: "computercraft:wired_modem" }, MC('redstone'), PR_C('red_ingot')) + event.replaceInput({ id: CR('crafting/kinetics/rope_pulley') }, '#forge:wool', '#supplementaries:ropes') + event.replaceInput({ output: CR('adjustable_chain_gearshift') }, CR('electron_tube'), MC('redstone')) + + let tweak_casing = (name, mats, mod) => { + event.remove({ output: mod(name + "_casing") }) + event.shapeless(Item.of(mod(name + "_casing"), 2), mats) + } + + tweak_casing('andesite', [CR('andesite_alloy'), '#minecraft:logs'], CR) + tweak_casing('copper', [CR('copper_sheet'), '#minecraft:logs'], CR) + tweak_casing('brass', [CR('brass_sheet'), '#minecraft:logs'], CR) + tweak_casing('refined_radiance', [CR('refined_radiance'), '#minecraft:logs'], CR) + tweak_casing('shadow_steel', [CR('shadow_steel'), '#minecraft:logs'], CR) + tweak_casing('zinc', [KJ('zinc_sheet'), 'minecraft:stone'], KJ) + tweak_casing('invar', [TE('invar_ingot'), 'minecraft:stone'], KJ) + tweak_casing('enderium', [MC('ender_pearl'), 'minecraft:obsidian'], KJ) + tweak_casing('fluix', [TE('lead_plate'), 'minecraft:blackstone'], KJ) + + event.custom({ + "type": "tconstruct:melting", + "ingredient": { "tag": "forge:circuit_press" }, + "result": { + "fluid": "tconstruct:molten_invar", + "amount": 288 + }, + "temperature": 500, + "time": 90 + }) + + event.custom({ + "type": "tconstruct:melting", + "ingredient": { "tag": "forge:recycling" }, + "result": { + "fluid": "tconstruct:molten_iron", + "amount": 48 + }, + "temperature": 500, + "time": 40 + }) + + event.shaped("xkdeco:steel_armor_helmet", [ + 'SSS', + 'S S' + ], { S: "xkdeco:steel_ingot" }) + + event.shaped("xkdeco:steel_armor_boots", [ + 'S S', + 'S S' + ], { S: "xkdeco:steel_ingot" }) + + event.shaped("xkdeco:steel_armor_leggings", [ + 'SSS', + 'S S', + 'S S' + ], { S: "xkdeco:steel_ingot" }) + + event.shaped("xkdeco:steel_armor_chestplate", [ + 'S S', + 'SSS', + 'SSS' + ], { S: "xkdeco:steel_ingot" }) + + event.shaped("xkdeco:steel_pickaxe", [ + 'SSS', + ' P ', + ' P ' + ], { S: "xkdeco:steel_ingot", P: F("#rods/wooden") }) + + event.shaped("xkdeco:steel_shovel", [ + 'S', + 'P', + 'P' + ], { S: "xkdeco:steel_ingot", P: F("#rods/wooden") }) + + event.shaped("xkdeco:steel_axe", [ + 'SS', + 'SP', + ' P' + ], { S: "xkdeco:steel_ingot", P: F("#rods/wooden") }) + + event.shaped("xkdeco:steel_sword", [ + 'S', + 'S', + 'P' + ], { S: "xkdeco:steel_ingot", P: F("#rods/wooden") }) + + event.shaped("xkdeco:steel_hoe", [ + 'SS', + ' P', + ' P' + ], { S: "xkdeco:steel_ingot", P: F("#rods/wooden") }) + + + + event.remove({ output: TE("side_config_augment") }) + event.shaped(TE("side_config_augment"), [ + ' S ', + 'PMP', + ' S ' + ], { + P: TE("invar_ingot"), + M: TE("redstone_servo"), + S: TE("gold_gear") + }) + + let bedrock_cobblegen = (adjacent, output) => { + event.custom({ + "type": "thermal:rock_gen", + "adjacent": adjacent, + "below": "minecraft:bedrock", + "result": { "item": output } + }) + } + + bedrock_cobblegen(MC("packed_ice"), CR("andesite_cobblestone")) + bedrock_cobblegen(AP("polished_packed_ice"), CR("granite_cobblestone")) + bedrock_cobblegen(AP("chiseled_packed_ice"), CR("diorite_cobblestone")) + bedrock_cobblegen(AP("packed_ice_pillar"), CR("gabbro_cobblestone")) + + event.recipes.createPressing([KJ('zinc_sheet')], CR('zinc_ingot')) + event.recipes.createPressing([TE('nickel_plate')], TE('nickel_ingot')) + + event.remove({ id: "chisel:charcoal/raw" }) + event.remove({ id: AP("charcoal_block") }) + event.stonecutting("chisel:charcoal/raw", MC('charcoal')) + event.stonecutting(AP("charcoal_block"), MC('charcoal')) + + event.remove({ id: CR('splashing/gravel') }) + event.recipes.createSplashing([ + Item.of(MC('iron_nugget', 2)).withChance(0.125), + Item.of(MC('flint')).withChance(0.25) + ], 'minecraft:gravel') + + event.remove({ id: CR('splashing/red_sand') }) + event.recipes.createSplashing([ + Item.of(MC('gold_nugget', 2)).withChance(0.125), + Item.of(MC('dead_bush')).withChance(0.05) + ], 'minecraft:red_sand') + + event.recipes.createCrushing([Item.of(AC('neptunium_ingot', 2)), Item.of(AC('neptunium_nugget', 5)).withChance(.5)], AC('neptunes_bounty')).processingTime(500) + + donutCraft(event, AP('plating_block', 8), CR('iron_sheet'), MC('stone')) + + event.custom({ + "type": "thermal:refinery", + "ingredient": { + "fluid": "kubejs:crude_oil", + "amount": 100 + }, + "result": [ + { + "fluid": "thermal:heavy_oil", + "amount": 40 + }, + { + "fluid": "thermal:light_oil", + "amount": 60 + }, + { + "item": "thermal:bitumen", + "chance": 0.10 + } + ], + "energy": 6000 + }) + + + let cast_block = (fluid, item) => { + event.custom({ + "type": "tconstruct:casting_basin", + "fluid": { "name": fluid, "amount": 1296 }, + "result": { "item": item }, + "cooling_time": 150 + }) + } + + let cast = (type, fluid, amount, item, time) => { + event.custom({ + "type": "tconstruct:casting_table", + "cast": { "tag": "tconstruct:casts/single_use/" + type }, + "cast_consumed": true, + "fluid": { "name": fluid, "amount": amount }, + "result": { "item": item }, + "cooling_time": time + }) + event.custom({ + "type": "tconstruct:casting_table", + "cast": { "tag": "tconstruct:casts/multi_use/" + type }, + "fluid": { "name": fluid, "amount": amount }, + "result": { "item": item }, + "cooling_time": time + }) + } + + event.remove({ id: TC("smeltery/casting/metal/steel/ingot_gold_cast") }) + event.remove({ id: TC("smeltery/casting/metal/steel/ingot_sand_cast") }) + event.remove({ id: TC("smeltery/casting/metal/steel/plate_gold_cast") }) + event.remove({ id: TC("smeltery/casting/metal/steel/plate_sand_cast") }) + event.remove({ id: TC("smeltery/casting/metal/steel/gear_gold_cast") }) + event.remove({ id: TC("smeltery/casting/metal/steel/gear_sand_cast") }) + event.remove({ id: TC("smeltery/casting/metal/steel/nugget_gold_cast") }) + event.remove({ id: TC("smeltery/casting/metal/steel/nugget_sand_cast") }) + event.remove({ id: TC("smeltery/casting/metal/steel/block") }) + + event.remove({ id: TC("smeltery/casting/metal/copper/ingot_gold_cast") }) + event.remove({ id: TC("smeltery/casting/metal/copper/ingot_sand_cast") }) + event.remove({ id: TC("smeltery/casting/metal/copper/nugget_gold_cast") }) + event.remove({ id: TC("smeltery/casting/metal/copper/nugget_sand_cast") }) + event.remove({ id: TC("smeltery/casting/metal/copper/block") }) + + event.remove({ id: TC("smeltery/casting/metal/silver/ingot_gold_cast") }) + event.remove({ id: TC("smeltery/casting/metal/silver/ingot_sand_cast") }) + event.remove({ id: TC("smeltery/casting/metal/silver/nugget_gold_cast") }) + event.remove({ id: TC("smeltery/casting/metal/silver/nugget_sand_cast") }) + event.remove({ id: TC("smeltery/casting/metal/silver/block") }) + + cast("ingot", TC("molten_steel"), 144, "xkdeco:steel_ingot", 50) + cast_block(TC("molten_steel"), "xkdeco:steel_block") + + cast("ingot", TC("molten_silver"), 144, TE("silver_ingot"), 50) + cast("nugget", TC("molten_silver"), 16, TE("silver_nugget"), 17) + cast_block(TC("molten_silver"), TE("silver_block")) + + cast("ingot", TC("molten_copper"), 144, CR("copper_ingot"), 50) + cast("nugget", TC("molten_copper"), 16, CR("copper_nugget"), 17) + cast_block(TC("molten_copper"), CR("copper_block")) + + + event.custom({ + "type": "tconstruct:melting", + "ingredient": { + "tag": "forge:rods/blaze" + }, + "result": { + "fluid": "tconstruct:blazing_blood", + "amount": 100 + }, + "temperature": 790, + "time": 40 + }) + + event.custom({ + "type": "tconstruct:ore_melting", + "ingredient": { + "tag": "forge:ores/cobalt" + }, + "result": { + "fluid": "tconstruct:molten_cobalt", + "amount": 144 + }, + "temperature": 950, + "time": 97, + "byproducts": [ + { + "fluid": "tconstruct:molten_iron", + "amount": 48 + } + ] + }) + + event.custom({ + "type": "tconstruct:ore_melting", + "ingredient": { + "tag": "forge:ores/netherite_scrap" + }, + "result": { + "fluid": "tconstruct:molten_debris", + "amount": 144 + }, + "temperature": 1175, + "time": 143, + "byproducts": [ + { + "fluid": "tconstruct:molten_diamond", + "amount": 48 + }, + { + "fluid": "tconstruct:molten_gold", + "amount": 144 + } + ] + }) + + event.custom({ + "type": "thermal:refinery", + "ingredient": { + "fluid": "thermal:glowstone", + "amount": 1000 + }, + "result": [ + { + "item": "thermal:lumium_ingot" + } + ], + "energy": 2000 + }) + + event.custom({ + "type": "thermal:refinery", + "ingredient": { + "fluid": "thermal:redstone", + "amount": 1000 + }, + "result": [ + { + "item": "thermal:signalum_ingot" + } + ], + "energy": 2000 + }) + +} + +function prettierpipes(event) { + + event.remove({ output: PP('pipe') }) + event.remove({ output: PP('blank_module') }) + event.shaped(PP("pipe", 8), [ + 'PMP' + ], { + P: CR('brass_sheet'), + M: CR('brass_ingot') + }) + + event.shaped("8x pipez:energy_pipe", [ + 'PMP' + ], { + P: TE('invar_ingot'), + M: MC('redstone') + }) + + let module = (type, result) => { + event.remove({ output: PP(result) }) + event.stonecutting(PP(result), 'kubejs:pipe_module_' + type) + } + + module('utility', 'filter_increase_modifier') + module('utility', 'tag_filter_modifier') + module('utility', 'mod_filter_modifier') + module('utility', 'nbt_filter_modifier') + module('utility', 'damage_filter_modifier') + module('utility', 'round_robin_sorting_modifier') + module('utility', 'random_sorting_modifier') + module('utility', 'redstone_module') + module('utility', 'stack_size_module') + module('utility', 'low_high_priority_module') + module('utility', 'medium_high_priority_module') + module('utility', 'high_high_priority_module') + module('utility', 'low_low_priority_module') + module('utility', 'medium_low_priority_module') + module('utility', 'high_low_priority_module') + + let tiers = ['low', 'medium', 'high'] + for (var i = 0; i < tiers.length; i++) { + let tier = 'tier_' + (i + 1) + let prefix = tiers[i] + "_" + module(tier, prefix + 'extraction_module') + module(tier, prefix + 'retrieval_module') + module(tier, prefix + 'speed_module') + module(tier, prefix + 'filter_module') + module(tier, prefix + 'crafting_module') + } + +} + +function barrels(event) { + event.remove({ mod: "metalbarrels" }) + + let smithAndMechCraft = (r, i1, i2) => { + event.smithing(r, i1, i2) + event.recipes.createMechanicalCrafting(r, "AB", { A: i1, B: i2 }) + } + + event.remove({ id: TE("dynamo_gourmand") }) + smithAndMechCraft(TE("dynamo_gourmand"), TE("dynamo_stirling"), [MC("golden_carrot")]) + smithAndMechCraft(TE("dynamo_gourmand"), TE("dynamo_stirling"), [MC("golden_apple")]) + event.remove({ id: TE("dynamo_lapidary") }) + smithAndMechCraft(TE("dynamo_lapidary"), TE("dynamo_numismatic"), [TE("lapis_gear")]) + event.remove({ id: TE("dynamo_disenchantment") }) + smithAndMechCraft(TE("dynamo_disenchantment"), TE("dynamo_compression"), ["forbidden_arcanus:rune"]) + + smithAndMechCraft("metalbarrels:copper_barrel", MC("barrel"), TC("tinkers_bronze_ingot")) + smithAndMechCraft("metalbarrels:iron_barrel", MC("barrel"), "moreminecarts:silica_steel") + smithAndMechCraft("metalbarrels:silver_barrel", MC("barrel"), "forbidden_arcanus:rune") + smithAndMechCraft("metalbarrels:gold_barrel", MC("barrel"), TC("cobalt_ingot")) + + event.shapeless("metalbarrels:wood_to_copper", ["metalbarrels:copper_barrel"]) + event.shapeless("metalbarrels:wood_to_iron", ["metalbarrels:iron_barrel"]) + event.shapeless("metalbarrels:wood_to_silver", ["metalbarrels:silver_barrel"]) + event.shapeless("metalbarrels:wood_to_gold", ["metalbarrels:gold_barrel"]) +} + +function rocketScience(event) { + + event.recipes.createCompacting(KJ("matter_plastics"), [AE2("matter_ball"), AE2("matter_ball"), AE2("matter_ball"), AE2("matter_ball"), AE2("matter_ball"), AE2("matter_ball"), AE2("matter_ball"), AE2("matter_ball"), AE2("matter_ball")]).superheated() + + let gear = TE("diamond_gear") + let plastic = KJ("matter_plastics") + let machine = AE2("controller") + let matrix = KJ("computation_matrix") + + event.recipes.createMechanicalCrafting("advancedrocketry:guidancecomputer", [ + 'AAAAA', + 'ASSSA', + 'GS SG', + 'ASSSA', + 'AAMAA' + ], { + A: plastic, + M: machine, + G: gear, + S: matrix + }) + + event.recipes.createMechanicalCrafting("advancedrocketry:fuelingstation", [ + 'AAA', + 'GSG', + 'AMA' + ], { + A: plastic, + M: machine, + G: gear, + S: MC("bucket") + }) + + event.recipes.createMechanicalCrafting("advancedrocketry:oxygenvent", [ + 'AAA', + 'GSG', + 'AMA' + ], { + A: plastic, + M: machine, + G: gear, + S: CR("propeller") + }) + + event.recipes.createMechanicalCrafting("advancedrocketry:rocketassembler", [ + 'AAA', + 'GSG', + 'AMA' + ], { + A: plastic, + M: machine, + G: gear, + S: CR("empty_schematic") + }) + + let pattern = [ + ' A ', + 'GSG', + ' A ' + ]; + + event.recipes.createMechanicalCrafting(Item.of("advancedrocketry:spacechest", { outputItems: [{ Slot: 0, id: "advancedrocketry:pressure_tank_high", Count: 1 }], size: 6 }), pattern, + { + A: plastic, + G: CR("golden_sheet"), + S: CR("copper_backtank") + }) + + event.recipes.createMechanicalCrafting("advancedrocketry:spacehelmet", pattern, + { + A: plastic, + G: CR("golden_sheet"), + S: CR("diving_helmet") + }) + + event.recipes.createMechanicalCrafting("advancedrocketry:spaceleggings", pattern, + { + A: plastic, + G: CR("golden_sheet"), + S: MC("iron_leggings") + }) + + event.recipes.createMechanicalCrafting("advancedrocketry:spaceboots", pattern, + { + A: plastic, + G: CR("golden_sheet"), + S: MC("iron_boots") + }) + + event.shaped("libvulpes:linker", [ + 'G', + 'A' + ], { + A: plastic, + G: MC("redstone_torch") + }) + + event.shaped("advancedrocketry:oxygencharger", [ + 'G', + 'A' + ], { + A: CR("fluid_pipe"), + G: MC("smooth_stone_slab") + }) + + let smithAndMechCraft = (r, i1, i2) => { + event.smithing(r, i1, i2) + event.recipes.createMechanicalCrafting(r, "AB", { A: i1, B: i2 }) + } + + smithAndMechCraft("advancedrocketry:seat", CR('#seats'), plastic) + smithAndMechCraft("advancedrocketry:fueltank", CR('fluid_tank'), plastic) + smithAndMechCraft("advancedrocketry:rocketmotor", CR('blaze_burner'), plastic) + smithAndMechCraft("5x advancedrocketry:structuretower", MC('scaffolding'), plastic) + smithAndMechCraft("5x advancedrocketry:launchpad", AP('heavy_stone_bricks'), plastic) + + event.recipes.createMixing( + [Fluid.of("advancedrocketry:oxygen", 50), Fluid.of("advancedrocketry:hydrogen", 50), Item.of(CR('copper_sheet')), Item.of(KJ('zinc_sheet'))], + [Fluid.of(MC("water"), 100), Item.of(CR('copper_sheet')), Item.of(KJ('zinc_sheet'))] + ).heated() + + event.recipes.thermal.compression_fuel(Fluid.of("advancedrocketry:hydrogen")).energy(100000) + event.recipes.thermal.compression_fuel(Fluid.of("advancedrocketry:oxygen")).energy(10000) + + pattern = [ + 'A', + 'S' + ]; + + event.recipes.createMechanicalCrafting({ + item: "advancedrocketry:planet_id_chip", + Count: 1, + nbt: { dimId: "custommoon:moon", DimensionName: " The Moon " } + }, pattern, + { + A: AE2("#crystals/nether"), + S: KJ("calculation_mechanism") + }) + + event.recipes.createMechanicalCrafting({ + item: "advancedrocketry:planet_id_chip", + Count: 1, + nbt: { dimId: "minecraft:overworld", DimensionName: " Earth " } + }, pattern, + { + A: AE2("#crystals/certus"), + S: KJ("calculation_mechanism") + }) + + +} + +function drawersop(event) { + let drawer_types = ['oak', 'spruce', 'birch', 'jungle', 'acacia', 'dark_oak'] + let drawer_sizes = ['1', '2', '4'] + event.replaceInput({ id: SD('compacting_drawers_3') }, MC('iron_ingot'), CR('zinc_ingot')) + event.remove({ output: SD("upgrade_template") }) + + drawer_types.forEach(e => { + + let trim = SD(`${e}_trim`) + let plank = MC(`${e}_planks`) + event.remove({ id: trim }) + event.shaped(Item.of(trim, 4), [ + 'SSS', + 'PMP', + 'SSS' + ], { + P: CR('zinc_ingot'), + M: '#forge:chests/wooden', + S: plank + }) + + event.stonecutting(SD("upgrade_template"), trim) + + drawer_sizes.forEach(size => { + let full = SD(`${e}_full_drawers_${size}`) + let half = SD(`${e}_half_drawers_${size}`) + event.remove({ id: full }) + event.remove({ id: half }) + event.stonecutting(full, trim) + event.stonecutting(Item.of(half, 2), trim) + }) + }) + +} + +function unify(event) { + + event.recipes.createMilling(TE("nickel_dust"), TE("nickel_ingot")) + event.recipes.createMilling(TE("lead_dust"), TE("lead_ingot")) + event.recipes.createMilling(TE("copper_dust"), CR("copper_ingot")) + event.recipes.createMilling(KJ("zinc_dust"), CR("zinc_ingot")) + + event.replaceInput({ id: OC("ritual/summon_djinni_crusher") }, '#forge:dusts/silver', KJ('zinc_dust')) + event.replaceInput({}, '#forge:dusts/quartz', AE2('nether_quartz_dust')) + event.replaceOutput({}, TE("quartz_dust"), AE2("nether_quartz_dust")) + event.replaceOutput({ id: CR('compat/ae2/milling/gold') }, AE2('gold_dust'), TE('gold_dust')) + event.replaceOutput({ id: CR('compat/ae2/milling/iron') }, AE2('iron_dust'), TE('iron_dust')) + event.replaceOutput({ id: OC('crushing/iron_dust_from_ingot') }, OC('iron_dust'), TE('iron_dust')) + event.replaceOutput({ id: OC('crushing/gold_dust_from_ingot') }, OC('gold_dust'), TE('gold_dust')) + event.replaceOutput({ id: OC('crushing/obsidian_dust') }, OC('obsidian_dust'), CR('powdered_obsidian')) + event.replaceInput({ id: OC('crafting/chalk_purple_impure') }, OC('obsidian_dust'), CR('powdered_obsidian')) + event.replaceInput({ id: OC('ritual/craft_infused_lenses') }, F('#ingots/silver'), TE('nickel_ingot')) + event.replaceInput({ id: OC('crafting/magic_lamp_empty') }, F('#ingots/silver'), MC('iron_ingot')) + event.replaceInput({ id: OC('crafting/lens_frame') }, F('#ingots/silver'), TE('nickel_ingot')) + event.replaceInput({ id: TE('augments/rf_coil_storage_augment') }, F('#ingots/silver'), MC('iron_ingot')) + event.replaceInput({ id: TE('augments/rf_coil_xfer_augment') }, F('#ingots/silver'), MC('iron_ingot')) + event.replaceInput({ id: TE('augments/rf_coil_augment') }, F('#ingots/silver'), MC('iron_ingot')) + event.replaceInput({ id: TE('tools/detonator') }, F('#ingots/silver'), TE('lead_ingot')) + + event.replaceOutput({ type: OC("crushing") }, OC('copper_dust'), TE('copper_dust')) + event.replaceOutput({ type: OC("crushing") }, OC('iron_dust'), TE('iron_dust')) + event.replaceOutput({ type: OC("crushing") }, OC('gold_dust'), TE('gold_dust')) + event.replaceOutput({ type: OC("crushing") }, OC('silver_dust'), TE('silver_dust')) + + event.replaceInput({}, '#forge:plates/iron', CR('iron_sheet')) + event.replaceInput({}, '#forge:plates/gold', CR('golden_sheet')) + event.replaceInput({}, '#forge:dusts/gold', TE('gold_dust')) + event.replaceInput({}, '#forge:dusts/iron', TE('iron_dust')) + event.replaceInput({}, '#forge:dusts/copper', TE('copper_dust')) + event.replaceInput({}, '#forge:plates/copper', CR('copper_sheet')) + event.replaceInput({}, '#forge:ingots/copper', CR('copper_ingot')) + event.replaceOutput({}, '#forge:ingots/copper', CR('copper_ingot')) + event.replaceInput({}, '#forge:nuggets/copper', CR('copper_nugget')) + event.replaceOutput({}, '#forge:nuggets/copper', CR('copper_nugget')) + event.replaceOutput({}, '#forge:ores/copper', CR('copper_ore')) + event.replaceOutput({}, '#forge:nuggets/silver', TE('silver_nugget')) + event.replaceOutput({}, '#forge:ingots/silver', TE('silver_ingot')) + event.replaceOutput({}, '#forge:storage_blocks/silver', TE('silver_block')) + event.replaceInput({}, '#forge:storage_blocks/copper', CR('copper_block')) + event.replaceOutput({}, '#forge:storage_blocks/copper', CR('copper_block')) + event.replaceInput({}, '#forge:gems/ruby', TE('ruby')) + event.replaceInput({}, '#forge:gems/sapphire', TE('sapphire')) + event.replaceInput({ id: "exchangers:thermal/thermal_exchanger_core_tier1" }, TE('ender_pearl_dust'), AE2('ender_dust')) + + event.recipes.createSplashing([Item.of(MC('clay_ball'), 1).withChance(0.25).toResultJson()], 'biomesoplenty:black_sand') + event.recipes.createSplashing([Item.of(MC('clay_ball'), 1).withChance(0.25).toResultJson()], 'biomesoplenty:white_sand') + event.recipes.createSplashing([Item.of(MC('clay_ball'), 1).withChance(0.25).toResultJson()], 'biomesoplenty:orange_sand') + + event.replaceInput({ type: "minecraft:crafting_shaped" }, '#forge:ingots/tin', CR('zinc_ingot')) + + event.replaceInput({}, '#forge:plates/bronze', TE('nickel_plate')) + event.replaceInput({}, '#forge:plates/silver', TE('invar_plate')) + event.replaceInput({}, '#forge:plates/constantan', TE('signalum_plate')) + event.replaceInput({}, '#forge:plates/electrum', TE('constantan_plate')) + event.replaceInput({}, '#forge:ingots/electrum', TE('constantan_ingot')) + + event.replaceInput({}, '#forge:gears/tin', TE('lead_gear')) + event.replaceInput({}, '#forge:gears/bronze', TE('nickel_gear')) + event.replaceInput({}, '#forge:gears/silver', TE('invar_gear')) + event.replaceInput({}, '#forge:gears/constantan', TE('signalum_gear')) + event.replaceInput({}, '#forge:gears/electrum', TE('constantan_gear')) + + event.replaceInput({}, '#forge:plates/invar', TE('invar_ingot')) + + event.recipes.createPressing([TE('lead_plate')], TE('lead_ingot')) + event.recipes.createPressing([TE('enderium_plate')], TE('enderium_ingot')) + event.recipes.createPressing([TE('lumium_plate')], TE('lumium_ingot')) + event.recipes.createPressing([TE('signalum_plate')], TE('signalum_ingot')) + event.recipes.createPressing([TE('constantan_plate')], TE('constantan_ingot')) + + let woodcutting = (mod, log, planks, slab) => { + event.recipes.createCutting([mod + ":stripped_" + log], mod + ":" + log).processingTime(50) + event.recipes.createCutting([Item.of(mod + ":" + planks, 6)], mod + ":stripped_" + log).processingTime(50) + event.recipes.createCutting([Item.of(mod + ":" + slab, 2)], mod + ":" + planks).processingTime(50) + } + + woodcutting("forbidden_arcanus", "cherrywood_log", "cherrywood_planks", "cherrywood_slab") + woodcutting("forbidden_arcanus", "mysterywood_log", "mysterywood_planks", "mysterywood_slab") + woodcutting("architects_palette", "twisted_log", "twisted_planks", "twisted_slab") + woodcutting("tconstruct", "greenheart_log", "greenheart_planks", "greenheart_planks_slab") + woodcutting("tconstruct", "skyroot_log", "skyroot_planks", "skyroot_planks_slab") + woodcutting("tconstruct", "bloodshroom_log", "bloodshroom_planks", "bloodshroom_planks_slab") + +} + +function trickierWindmills(event) { + event.remove({ output: 'create:sail_frame' }) + event.remove({ output: 'create:white_sail' }) + event.shapeless('create:sail_frame', ['create:white_sail']) + event.shaped('2x create:white_sail', [ + 'SSS', + 'NAN', + 'SSS' + ], { + A: '#appliedenergistics2:wool', + N: 'minecraft:iron_nugget', + S: 'minecraft:stick' + }) +} + +function rubberMatters(event) { + let overrideTreeOutput = (id, trunk, leaf) => { + event.remove({ id: id }) + event.custom({ + "type": "thermal:tree_extractor", + "trunk": trunk, + "leaves": leaf, + "result": { + "fluid": "thermal:resin", + "amount": 25 + } + }); + } + + overrideTreeOutput(TE('devices/tree_extractor/tree_extractor_jungle'), MC('jungle_log'), MC('jungle_leaves')) + overrideTreeOutput(TE('devices/tree_extractor/tree_extractor_spruce'), MC('spruce_log'), MC('spruce_leaves')) + overrideTreeOutput(TE('devices/tree_extractor/tree_extractor_dark_oak'), MC('dark_oak_log'), MC('dark_oak_leaves')) + overrideTreeOutput(TE('compat/biomesoplenty/tree_extractor_bop_maple'), MC('oak_log'), 'biomesoplenty:maple_leaves') + + event.remove({ id: CR('crafting/kinetics/belt_connector') }) + event.shaped(CR('belt_connector', 3), [ + 'SSS', + 'SSS' + ], { + S: TE('cured_rubber') + }) + + event.recipes.createCompacting('1x ' + TE("rubber"), [Fluid.of(MC('water'), 250), F("#vines", 4)]) + event.recipes.createCompacting('1x ' + TE("rubber"), [Fluid.of(MC('water'), 250), '4x #minecraft:flowers']) + event.recipes.createCompacting('1x ' + TE("rubber"), [Fluid.of(TE('resin'), 250)]) + + event.remove({ id: 'thermal:rubber_3' }) + event.remove({ id: 'thermal:rubber_from_dandelion' }) + event.remove({ id: 'thermal:rubber_from_vine' }) + +} + +function algalAndesite(event) { + event.remove({ id: TC('compat/create/andesite_alloy_iron') }) + event.remove({ id: CR('crafting/materials/andesite_alloy') }) + event.remove({ id: CR('crafting/materials/andesite_alloy_from_zinc') }) + event.remove({ id: CR('mixing/andesite_alloy') }) + event.remove({ id: CR('mixing/andesite_alloy_from_zinc') }) + event.remove({ id: TE('compat/create/smelter_create_alloy_andesite_alloy') }) + event.remove({ id: TE('compat/create/smelter_create_alloy_andesite_alloy') }) + event.remove({ id: TC('compat/create/andesite_alloy_zinc') }) + event.remove({ id: TC('compat/create/andesite_alloy_iron') }) + + event.remove({ output: AP('algal_brick') }) + event.smelting(AP('algal_brick'), AP('algal_blend')).xp(0).cookingTime(120) + event.remove({ id: AP('algal_blend') }) + + event.shaped(Item.of(AP('algal_blend'), 4), [ + 'SS', + 'AA' + ], { + A: 'minecraft:clay_ball', + S: ['minecraft:kelp', 'minecraft:seagrass'] + }) + event.shaped(Item.of(AP('algal_blend'), 4), [ + 'AA', + 'SS' + ], { + A: 'minecraft:clay_ball', + S: ['minecraft:kelp', 'minecraft:seagrass'] + }) + event.shaped(Item.of(CR('andesite_alloy'), 2), [ + 'SS', + 'AA' + ], { + A: ['minecraft:andesite', CR('andesite_cobblestone')], + S: AP('algal_brick') + }) + event.shaped(Item.of(CR('andesite_alloy'), 2), [ + 'AA', + 'SS' + ], { + A: ['minecraft:andesite', CR('andesite_cobblestone')], + S: AP('algal_brick') + }) + + event.recipes.createMixing(Item.of(AP('algal_blend'), 2), ['minecraft:clay_ball', ['minecraft:kelp', 'minecraft:seagrass']]) + event.recipes.createMixing(Item.of(CR('andesite_alloy'), 2), [AP('algal_brick'), ['minecraft:andesite', CR('andesite_cobblestone')]]) +} + +function oreProcessing(event) { + + let stone = Item.of(MC("cobblestone"), 1).withChance(.5) + let limestone = Item.of("darkerdepths:limestone", 1).withChance(.5) + let aridrock = Item.of("darkerdepths:aridrock", 1).withChance(.5) + let otherstone = Item.of(OC("otherstone"), 1).withChance(.5) + + event.remove({ input: "darkerdepths:aridrock_gold_ore" }) + event.remove({ input: "darkerdepths:aridrock_iron_ore" }) + event.remove({ input: "darkerdepths:limestone_gold_ore" }) + event.remove({ input: "darkerdepths:limestone_iron_ore" }) + + event.recipes.createCrushing([Item.of("forbidden_arcanus:stellarite_piece", 1), Item.of("forbidden_arcanus:stellarite_piece", 1).withChance(.25), stone], "forbidden_arcanus:stella_arcanum") + event.recipes.createCrushing([Item.of("forbidden_arcanus:xpetrified_orb", 2), Item.of("forbidden_arcanus:xpetrified_orb", 1).withChance(.25), stone], "forbidden_arcanus:xpetrified_ore") + event.recipes.createCrushing([Item.of("buddycards:luminis_crystal", 2), Item.of("buddycards:luminis_crystal", 1).withChance(.25), stone], "buddycards:luminis_ore") + event.recipes.createCrushing([Item.of("forbidden_arcanus:arcane_crystal", 2), Item.of("forbidden_arcanus:arcane_crystal_dust", 1).withChance(.25), stone], "forbidden_arcanus:arcane_crystal_ore") + event.recipes.createCrushing([Item.of(OC("iesnium_dust"), 2), Item.of(OC("iesnium_dust"), 1).withChance(.25), otherstone], OC("iesnium_ore")) + event.recipes.createCrushing([Item.of(TE("sapphire"), 2), Item.of(TE("sapphire"), 1).withChance(.25), stone], TE("sapphire_ore")) + event.recipes.createCrushing([Item.of(TE("ruby"), 2), Item.of(TE("ruby"), 1).withChance(.25), stone], TE("ruby_ore")) + event.recipes.createCrushing([Item.of(MC("diamond"), 2), Item.of(MC("diamond"), 1).withChance(.25), limestone], "darkerdepths:limestone_diamond_ore") + event.recipes.createCrushing([Item.of(MC("diamond"), 2), Item.of(MC("diamond"), 1).withChance(.25), aridrock], "darkerdepths:aridrock_diamond_ore") + event.recipes.createCrushing([Item.of(MC("coal"), 2), Item.of(MC("coal"), 2).withChance(.5), limestone], "darkerdepths:limestone_coal_ore") + event.recipes.createCrushing([Item.of(MC("coal"), 2), Item.of(MC("coal"), 2).withChance(.5), aridrock], "darkerdepths:aridrock_coal_ore") + event.recipes.createCrushing([Item.of(MC("lapis_lazuli"), 12), Item.of(MC("lapis_lazuli"), 8).withChance(.25), limestone], "darkerdepths:limestone_lapis_ore") + event.recipes.createCrushing([Item.of(MC("lapis_lazuli"), 12), Item.of(MC("lapis_lazuli"), 8).withChance(.25), aridrock], "darkerdepths:aridrock_lapis_ore") + event.recipes.createCrushing([Item.of(CR('crushed_iron_ore'), 1), limestone], "darkerdepths:limestone_iron_ore") + event.recipes.createCrushing([Item.of(CR('crushed_iron_ore'), 1), aridrock], "darkerdepths:aridrock_iron_ore") + event.recipes.createCrushing([Item.of(CR('crushed_gold_ore'), 1), limestone], "darkerdepths:limestone_gold_ore") + event.recipes.createCrushing([Item.of(CR('crushed_gold_ore'), 1), aridrock], "darkerdepths:aridrock_gold_ore") + + event.recipes.createMilling(['4x ' + MC('redstone')], TE('cinnabar')).processingTime(700) + event.recipes.createCrushing(['6x ' + MC('redstone')], TE('cinnabar')).processingTime(500) + event.recipes.thermal.pulverizer(['8x ' + MC('redstone')], TE('cinnabar')).energy(10000) + + event.recipes.createMilling(['3x ' + MC('glowstone_dust')], 'buddycards:luminis_crystal').processingTime(700) + event.recipes.createCrushing(['6x ' + MC('glowstone_dust')], 'buddycards:luminis_crystal').processingTime(500) + event.recipes.thermal.pulverizer(['9x ' + MC('glowstone_dust')], 'buddycards:luminis_crystal').energy(10000) + + event.recipes.createMilling([TE('sulfur_dust')], TE('sulfur')).processingTime(500) + event.recipes.createMilling([TE('niter_dust')], TE('niter')).processingTime(500) + event.recipes.createMilling([TE('apatite_dust')], TE('apatite')).processingTime(500) + + let dust_process = (name, ingot, nugget, dust, ore, byproduct, fluid_byproduct_name) => { + let crushed = CR('crushed_' + name + '_ore') + let fluid = TC("molten_" + name) + let fluid_byproduct = TC("molten_" + fluid_byproduct_name) + + event.smelting(Item.of(nugget, 3), crushed) + event.smelting(Item.of(nugget, 1), dust).cookingTime(40) + event.recipes.createMilling([Item.of(crushed, 1), stone], ore) + event.recipes.createMilling([Item.of(dust, 3)], crushed) + event.recipes.createCrushing([Item.of(dust, 3), Item.of(dust, 3).withChance(0.5)], crushed) + event.recipes.thermal.pulverizer([Item.of(dust, 6)], crushed).energy(15000) + event.recipes.thermal.pulverizer([crushed], ore).energy(3000) + event.recipes.thermal.crucible(Fluid.of(fluid, 144), ingot).energy(2000) + + event.recipes.thermal.crucible(Fluid.of(fluid, 48), dust).energy(3000) + event.recipes.createSplashing([Item.of(nugget, 2)], dust) + event.recipes.createMixing([Fluid.of(fluid, 288)], [Item.of(dust, 3), AE2('matter_ball')]).superheated() + + event.remove({ input: "#forge:ores/" + name, type: TE("smelter") }) + event.remove({ input: "#forge:ores/" + name, type: TE("pulverizer") }) + event.remove({ input: "#forge:ores/" + name, type: MC("blasting") }) + event.remove({ input: "#forge:ores/" + name, type: MC("smelting") }) + event.remove({ input: "#forge:ores/" + name, type: CR("crushing") }) + event.remove({ input: "#forge:ores/" + name, type: CR("milling") }) + + event.custom({ + "type": "thermal:smelter", + "ingredient": { + "item": crushed + }, + "result": [ + { + "item": nugget, + "chance": 9.0 + }, + { + "item": byproduct, + "chance": (byproduct.endsWith('nugget') ? 1.8 : 0.2) + }, + { + "item": "thermal:rich_slag", + "chance": 0.2 + } + ], + "experience": 0.2, + "energy": 20000 + }) + + event.custom({ + "type": "tconstruct:melting", + "ingredient": { + "item": dust + }, + "result": { + "fluid": fluid, + "amount": 48 + }, + "temperature": 500, + "time": 30, + "byproducts": [ + { + "fluid": fluid_byproduct, + "amount": 16 + } + ] + }); + + } + + dust_process('nickel', TE('nickel_ingot'), TE('nickel_nugget'), TE('nickel_dust'), TE('nickel_ore'), CR('copper_nugget'), 'copper') + dust_process('lead', TE('lead_ingot'), TE('lead_nugget'), TE('lead_dust'), TE('lead_ore'), MC('iron_nugget'), 'iron') + dust_process('iron', MC('iron_ingot'), MC('iron_nugget'), TE('iron_dust'), MC('iron_ore'), TE('nickel_nugget'), 'nickel') + dust_process('gold', MC('gold_ingot'), MC('gold_nugget'), TE('gold_dust'), MC('gold_ore'), TE('cinnabar'), 'zinc') + dust_process('copper', CR('copper_ingot'), CR('copper_nugget'), TE('copper_dust'), CR('copper_ore'), MC('gold_nugget'), 'gold') + dust_process('zinc', CR('zinc_ingot'), CR('zinc_nugget'), KJ('zinc_dust'), CR('zinc_ore'), TE('sulfur'), 'lead') + + event.replaceInput({ id: TE("machine/smelter/smelter_iron_ore") }, MC('iron_ore'), CR('crushed_iron_ore')) + event.replaceInput({ id: TE("machine/smelter/smelter_gold_ore") }, MC('gold_ore'), CR('crushed_gold_ore')) +} + +function alloys(event) { + + event.remove({ id: TC('smeltery/alloys/molten_bronze') }) + event.remove({ id: TC('smeltery/alloys/molten_brass') }) + event.remove({ id: TC('smeltery/alloys/molten_invar') }) + event.remove({ id: TC('smeltery/alloys/molten_electrum') }) + event.remove({ id: TC('smeltery/alloys/molten_constantan') }) + event.remove({ id: TC('smeltery/alloys/molten_rose_gold') }) + event.remove({ id: TC('smeltery/alloys/molten_enderium') }) + event.remove({ id: TC('smeltery/alloys/molten_lumium') }) + event.remove({ id: TC('smeltery/alloys/molten_signalum') }) + + event.custom({ + "type": "tconstruct:alloy", + "inputs": [ + { "name": "tconstruct:molten_silver", "amount": 144 }, + { "name": "tconstruct:molten_copper", "amount": 144 }, + { "name": "thermal:redstone", "amount": 1000 } + ], + "result": { + "fluid": "tconstruct:molten_signalum", + "amount": 144 + }, + "temperature": 1000 + }) + + event.custom({ + "type": "tconstruct:alloy", + "inputs": [ + { "name": "tconstruct:molten_silver", "amount": 144 }, + { "name": "tconstruct:molten_copper", "amount": 144 }, + { "name": "thermal:glowstone", "amount": 1000 } + ], + "result": { + "fluid": "tconstruct:molten_lumium", + "amount": 144 + }, + "temperature": 1000 + }) + + event.remove({ type: MC("crafting_shapeless"), output: TE('constantan_dust') }) + event.remove({ type: MC("crafting_shapeless"), output: TE('electrum_dust') }) + event.remove({ type: MC("crafting_shapeless"), output: TE('lumium_dust') }) + event.remove({ type: MC("crafting_shapeless"), output: TE('signalum_dust') }) + event.remove({ type: MC("crafting_shapeless"), output: TE('enderium_dust') }) + event.remove({ type: MC("crafting_shapeless"), output: TE('bronze_dust') }) + event.remove({ type: MC("crafting_shapeless"), output: TE('invar_dust') }) + + event.recipes.createMixing(Fluid.of(TC('molten_brass'), 4), [Fluid.of(TC('molten_copper'), 4), Fluid.of(TC('molten_zinc'), 4)]).processingTime(1) + event.recipes.createMixing(Fluid.of(TC('molten_constantan'), 4), [Fluid.of(TC('molten_copper'), 4), Fluid.of(TC('molten_nickel'), 4)]).processingTime(1) + event.recipes.createMixing(Fluid.of(TC('molten_rose_gold'), 4), [Fluid.of(TC('molten_copper'), 4), Fluid.of(TC('molten_gold'), 4)]).processingTime(1) + + event.recipes.thermal.smelter([KJ("invar_compound"), KJ("invar_compound")], [TE("nickel_ingot"), MC("iron_ingot")]) + event.recipes.thermal.smelter(CR("brass_ingot", 2), [CR("copper_ingot"), CR("zinc_ingot")]) + event.recipes.thermal.smelter(TC("rose_gold_ingot", 2), [CR("copper_ingot"), MC("gold_ingot")]) + event.recipes.thermal.smelter(TE("constantan_ingot", 2), [CR("copper_ingot"), TE("nickel_ingot")]) + +} + +function electronTube(event) { + + event.recipes.createFilling(CR("electron_tube"), [CR('polished_rose_quartz'), Fluid.of(TC('molten_iron'), 16)]) + + let redstone = MC('redstone') + event.shapeless('create:rose_quartz', [[MC('quartz'), AE2('certus_quartz_crystal'), AE2('charged_certus_quartz_crystal')], redstone, redstone, redstone, redstone]) + + event.recipes.createMilling([AE2('certus_quartz_dust')], '#appliedenergistics2:crystals/certus').processingTime(200) + event.recipes.createMilling([AE2('nether_quartz_dust')], '#appliedenergistics2:crystals/nether').processingTime(200) + + event.remove({ id: CR('compat/ae2/milling/sky_stone_block') }) + event.remove({ id: CR('compat/ae2/milling/nether_quartz') }) + event.remove({ id: CR('compat/ae2/milling/certus_quartz') }) + event.remove({ id: CR('crafting/materials/electron_tube') }) + event.remove({ id: CR('crafting/materials/rose_quartz') }) + event.remove({ id: TC('smeltery/casting/obsidian/block') }) + + event.remove({ id: TC('smeltery/alloys/molten_obsidian') }) + event.remove({ id: /tconstruct:smeltery\/melting\/obsidian\/.*/ }) + event.remove({ id: TC('smeltery/melting/metal/slimesteel/reinforcement') }) + event.remove({ id: TC('smeltery/melting/metal/iron/reinforcement') }) + event.remove({ id: TC('smeltery/melting/diamond/enchanting_table') }) + + event.recipes.createMechanicalCrafting(Item.of(AE2('certus_crystal_seed'), 2), ['A'], { A: AE2('#crystals/certus') }) + event.recipes.createMechanicalCrafting(Item.of(AE2('nether_quartz_seed'), 2), ['A'], { A: AE2('#crystals/nether') }) + event.recipes.createMechanicalCrafting(Item.of(AE2('fluix_crystal_seed'), 2), ['A'], { A: AE2('#crystals/fluix') }) + + let grow = (from, via, to) => { + event.recipes.createSequencedAssembly([to], from, [ + event.recipes.createFilling(via, [via, Fluid.of(MC("water"), 500)]), + ]).transitionalItem(via) + .loops(4) + .id('kubejs:grow_' + to.split(':')[1]) + } + + grow(AE2("certus_crystal_seed"), KJ('growing_certus_seed'), KJ('tiny_certus_crystal')) + grow(AE2("fluix_crystal_seed"), KJ('growing_fluix_seed'), KJ('tiny_fluix_crystal')) + grow(AE2("nether_quartz_seed"), KJ('growing_nether_seed'), KJ('tiny_nether_crystal')) + + grow(KJ("tiny_certus_crystal"), KJ('growing_tiny_certus_crystal'), KJ('small_certus_crystal')) + grow(KJ("tiny_fluix_crystal"), KJ('growing_tiny_fluix_crystal'), KJ('small_fluix_crystal')) + grow(KJ("tiny_nether_crystal"), KJ('growing_tiny_nether_crystal'), KJ('small_nether_crystal')) + + grow(KJ("small_certus_crystal"), KJ('growing_small_certus_crystal'), AE2('purified_certus_quartz_crystal')) + grow(KJ("small_fluix_crystal"), KJ('growing_small_fluix_crystal'), AE2('purified_fluix_crystal')) + grow(KJ("small_nether_crystal"), KJ('growing_small_nether_crystal'), AE2('purified_nether_quartz_crystal')) + + event.recipes.createMixing(Fluid.of(TC("molten_obsidian"), 500), [AE2('sky_dust'), AE2('sky_dust'), AE2('sky_dust'), AE2('sky_dust'), Fluid.of(MC('water'), 500)]) + event.recipes.createMixing([AE2('certus_quartz_crystal'), Fluid.of(TE("redstone"), 250)], [AE2('charged_certus_quartz_crystal'), Fluid.of(TC("molten_obsidian"), 250)]) + event.recipes.createMixing(['create:polished_rose_quartz'], [[AE2('purified_nether_quartz_crystal'), AE2('purified_certus_quartz_crystal')], Fluid.of(TE("redstone"), 250)]) + +} + +function andesiteMachine(event) { + + event.replaceInput({ id: CR("crafting/kinetics/brass_hand") }, '#forge:plates/brass', CR('golden_sheet')) + wood_types.forEach(wood => { + event.recipes.createCutting('2x ' + wood + '_slab', wood + '_planks').processingTime(150) + }) + + let transitional = 'kubejs:incomplete_kinetic_mechanism' + event.recipes.createSequencedAssembly([ + 'kubejs:kinetic_mechanism', + ], '#minecraft:wooden_slabs', [ + event.recipes.createDeploying(transitional, [transitional, CR('andesite_alloy')]), + event.recipes.createDeploying(transitional, [transitional, CR('andesite_alloy')]), + event.recipes.createDeploying(transitional, [transitional, F('#saws')]) + ]).transitionalItem(transitional) + .loops(1) + .id('kubejs:kinetic_mechanism') + + event.shapeless(KJ('kinetic_mechanism'), [F('#saws'), CR('cogwheel'), CR('andesite_alloy'), '#minecraft:logs']).id("kubejs:kinetic_mechanism_manual_only") + + // Andesite + event.shaped(KJ('andesite_machine'), [ + 'SSS', + 'SCS', + 'SSS' + ], { + C: CR('andesite_casing'), + S: KJ('kinetic_mechanism') + }) + + let andesite_machine = (id, amount, other_ingredient) => { + event.remove({ output: id }) + if (other_ingredient) { + event.smithing(Item.of(id, amount), 'kubejs:andesite_machine', other_ingredient) + event.recipes.createMechanicalCrafting(Item.of(id, amount), "AB", { A: 'kubejs:andesite_machine', B: other_ingredient }) + } + else + event.stonecutting(Item.of(id, amount), 'kubejs:andesite_machine') + } + + event.remove({ output: TE('drill_head') }) + event.shaped(TE('drill_head'), [ + 'NN ', + 'NLP', + ' PL' + ], { + N: MC('iron_nugget'), + P: CR('iron_sheet'), + L: TE('lead_ingot') + }) + + event.remove({ output: TE('saw_blade') }) + event.shaped(TE('saw_blade'), [ + 'NPN', + 'PLP', + 'NPN' + ], { + N: MC('iron_nugget'), + P: CR('iron_sheet'), + L: TE('lead_ingot') + }) + + andesite_machine('create:portable_storage_interface', 2) + andesite_machine('create:encased_fan', 1, CR('propeller')) + andesite_machine('create:mechanical_press', 1, MC('iron_block')) + andesite_machine('waterstrainer:strainer_base', 1, MC('iron_bars')) + andesite_machine('create:mechanical_mixer', 1, CR('whisk')) + andesite_machine('create:mechanical_drill', 1, TE('drill_head')) + andesite_machine('create:mechanical_saw', 1, TE('saw_blade')) + andesite_machine('create:deployer', 1, CR('brass_hand')) + andesite_machine('create:mechanical_harvester', 2) + andesite_machine('create:mechanical_plough', 2) + andesite_machine('thermal:device_tree_extractor', 1, MC('bucket')) + andesite_machine(AE2('sky_compass'), 1, AE2('charged_certus_quartz_crystal')) + andesite_machine(AE2('charger'), 1, '#' + AE2('crystals/fluix')) + andesite_machine('thermal:dynamo_stirling', 1, TE('rf_coil')) + andesite_machine('create:andesite_funnel', 4) + andesite_machine('create:andesite_tunnel', 4) + andesite_machine('kubejs:pipe_module_utility', 4) + +} + +function copperMachine(event) { + + // let t = KJ('incomplete_sealed_mechanism') + // event.recipes.createSequencedAssembly([ + // KJ('sealed_mechanism'), + // ], KJ('kinetic_mechanism'), [ + // event.recipes.createDeploying(t, [t, TE('cured_rubber')]), + // event.recipes.createDeploying(t, [t, TE('cured_rubber')]), + // event.recipes.createDeploying(t, [t, F('#super_glues')]) + // ]).transitionalItem(t) + // .loops(1) + // .id('kubejs:sealed_mechanism') + + event.shaped(KJ('sealed_mechanism'), [ + 'SCS' + ], { + C: KJ('kinetic_mechanism'), + S: TE('cured_rubber') + }) + + event.shaped(KJ('copper_machine'), [ + 'SSS', + 'SCS', + 'SSS' + ], { + C: CR('copper_casing'), + S: KJ('sealed_mechanism') + }) + + event.remove({ id: TC("smeltery/casting/seared/smeltery_controller") }) + event.remove({ id: TC("smeltery/melting/copper/smeltery_controller") }) + donutCraft(event, TC('smeltery_controller'), TC('seared_bricks'), KJ('sealed_mechanism')) + + let copper_machine = (id, amount, other_ingredient) => { + event.remove({ output: id }) + if (other_ingredient) { + event.smithing(Item.of(id, amount), 'kubejs:copper_machine', other_ingredient) + event.recipes.createMechanicalCrafting(Item.of(id, amount), "AB", { A: 'kubejs:copper_machine', B: other_ingredient }) + } + else + event.stonecutting(Item.of(id, amount), 'kubejs:copper_machine') + } + + copper_machine('create:copper_backtank', 1, CR("copper_block")) + copper_machine('create:portable_fluid_interface', 2) + copper_machine('create:spout', 1, MC('hopper')) + copper_machine('thermal:upgrade_augment_1', 1, MC('redstone')) + copper_machine('create:hose_pulley', 1) + copper_machine('create:item_drain', 1, MC("iron_bars")) + copper_machine('thermal:dynamo_magmatic', 1, TE('rf_coil')) + copper_machine('thermal:device_water_gen', 1, MC('bucket')) + copper_machine('create:smart_fluid_pipe', 2) + +} + +function brassMachine(event) { + + let redstoneTransmute = (input, output) => { + event.custom({ + "type": "tconstruct:casting_basin", + "cast": { "item": input }, + "cast_consumed": true, + "fluid": { + "name": "thermal:redstone", + "amount": 50 + }, + "result": output, + "cooling_time": 30 + }) + } + + redstoneTransmute(MC("cobblestone"), MC("netherrack")) + redstoneTransmute(MC("sand"), MC("red_sand")) + + event.recipes.createMilling([AE2('sky_dust'), AE2('sky_stone_block')], AE2('sky_stone_block')).processingTime(1000) + + event.remove({ id: CR("sequenced_assembly/precision_mechanism") }) + let t = CR('incomplete_precision_mechanism') + event.recipes.createSequencedAssembly([ + CR('precision_mechanism'), + ], KJ('kinetic_mechanism'), [ + event.recipes.createDeploying(t, [t, CR('electron_tube')]), + event.recipes.createDeploying(t, [t, CR('electron_tube')]), + event.recipes.createDeploying(t, [t, F('#screwdrivers')]) + ]).transitionalItem(t) + .loops(1) + .id('kubejs:precision_mechanism') + + event.shaped(KJ('brass_machine'), [ + 'SSS', + 'SCS', + 'SSS' + ], { + C: CR('brass_casing'), + S: CR('precision_mechanism') + }) + + let brass_machine = (id, amount, other_ingredient) => { + event.remove({ output: id }) + if (other_ingredient) { + event.smithing(Item.of(id, amount), 'kubejs:brass_machine', other_ingredient) + event.recipes.createMechanicalCrafting(Item.of(id, amount), "AB", { A: 'kubejs:brass_machine', B: other_ingredient }) + } + else + event.stonecutting(Item.of(id, amount), 'kubejs:brass_machine') + } + + brass_machine('create:mechanical_crafter', 3, MC('crafting_table')) + brass_machine('create:sequenced_gearshift', 2) + brass_machine('create:furnace_engine', 1) + brass_machine('create:rotation_speed_controller', 1) + brass_machine('create:mechanical_arm', 1) + brass_machine('create:stockpile_switch', 2) + brass_machine('create:content_observer', 2) + brass_machine('thermal:machine_press', 1, MC('dropper')) + brass_machine('torchmaster:feral_flare_lantern', 1, MC('glowstone_dust')) + brass_machine('thermal:dynamo_numismatic', 1, TE('rf_coil')) + brass_machine(PP('item_terminal'), 1, TE('diamond_gear')) + brass_machine(PP('pressurizer'), 1, CR('propeller')) + brass_machine('create:brass_funnel', 4) + brass_machine('create:brass_tunnel', 4) + brass_machine('kubejs:pipe_module_tier_1', 4) + +} + +function zincMachine(event) { + + // event.custom({ + // "type": "tconstruct:casting_basin", + // "cast": { + // "item": "minecraft:basalt" + // }, + // "cast_consumed": true, + // "fluid": { + // "name": "minecraft:lava", + // "amount": 1000 + // }, + // "result": Item.of(TE("basalz_rod"), 2), + // "cooling_time": 15 + // }) + + // event.remove({ id: TE('basalz_powder') }) + // event.remove({ id: TC('smeltery/casting/scorched/stone_from_magma') }) + event.remove({ id: TC('smeltery/casting/scorched/foundry_controller') }) + // event.remove({ id: TC('smeltery/scorched/scorched_brick_kiln') }) + // event.remove({ id: TC('smeltery/scorched/scorched_brick') }) + // event.remove({ id: TC('smeltery/melting/scorched/grout') }) + event.remove({ id: TC('smeltery/melting/soul/sand') }) + // event.recipes.createMilling([Item.of(TE('basalz_powder'), 1)], TE("basalz_rod")).processingTime(300) + + donutCraft(event, TC('foundry_controller'), TC('scorched_bricks'), KJ('infernal_mechanism')) + + event.recipes.createMixing(Fluid.of(TC("liquid_soul"), 500), [MC('twisting_vines'), MC('weeping_vines')]).heated() + + + // + + let t = KJ('incomplete_infernal_mechanism') + event.recipes.createSequencedAssembly([ + KJ('infernal_mechanism'), + ], CR('precision_mechanism'), [ + event.recipes.createFilling(t, [t, Fluid.of(TC("liquid_soul"), 500)]), + event.recipes.createFilling(t, [t, Fluid.of(MC("lava"), 1000)]), + event.recipes.createFilling(t, [t, Fluid.of(MC("lava"), 1000)]), + event.recipes.createFilling(t, [t, Fluid.of(MC("lava"), 1000)]) + ]).transitionalItem(t) + .loops(1) + .id('kubejs:infernal_mechanism') + + event.shaped(KJ('zinc_machine'), [ + 'SSS', + 'SCS', + 'SSS' + ], { + C: KJ('zinc_casing'), + S: KJ('infernal_mechanism') + }) + + let zinc_machine = (id, amount, other_ingredient) => { + event.remove({ output: id }) + if (other_ingredient) { + event.smithing(Item.of(id, amount), 'kubejs:zinc_machine', other_ingredient) + event.recipes.createMechanicalCrafting(Item.of(id, amount), "AB", { A: 'kubejs:zinc_machine', B: other_ingredient }) + } + else + event.stonecutting(Item.of(id, amount), 'kubejs:zinc_machine') + } + + zinc_machine(TE('device_rock_gen'), 1, MC('piston')) + zinc_machine(TE('device_collector'), 1, MC('ender_pearl')) + zinc_machine(TE('device_nullifier'), 1, MC('lava_bucket')) + zinc_machine(TE('device_potion_diffuser'), 1, MC('glass_bottle')) + zinc_machine('storagedrawers:controller', 1, MC('diamond')) + zinc_machine('storagedrawers:controller_slave', 1, MC('gold_ingot')) + zinc_machine('torchmaster:megatorch', 1, MC('torch')) + zinc_machine('thermal:upgrade_augment_2', 1, MC('redstone')) + +} + +function invarMachine(event) { + + let chop = (type, output) => { + event.custom({ + "type": "farmersdelight:cutting", + "ingredients": [{ "item": TC(type + "_slime_fern") }], + "tool": { "tag": "forge:tools/knives" }, + "result": [Item.of(KJ(type + "_slimy_fern_leaf"), 2).toResultJson()] + }) + event.custom({ + "type": "occultism:spirit_fire", + "ingredient": { "item": KJ(type + "_slimy_fern_leaf") }, + "result": { "item": TC(type + "_slime_fern") } + }) + event.custom(ifiniDeploying(KJ(type + "_slimy_fern_leaf", 2), TC(type + "_slime_fern"), "#forge:tools/knives")) + event.recipes.createMilling([KJ(type + "_slime_fern_paste")], KJ(type + "_slimy_fern_leaf")) + event.campfireCooking(output, KJ(type + "_slime_fern_paste")).cookingTime(300) + } + + let fern1 = KJ("ender_slimy_fern_leaf") + let fern2 = KJ("sky_slimy_fern_leaf") + let fern3 = KJ("earth_slimy_fern_leaf") + event.shapeless(fern1, ["forbidden_arcanus:rune", fern2, fern2, fern2, fern2, fern3, fern3, fern3, fern3]) + event.shapeless(fern2, ["forbidden_arcanus:rune", fern3, fern3, fern3, fern3, fern1, fern1, fern1, fern1]) + event.shapeless(fern3, ["forbidden_arcanus:rune", fern2, fern2, fern2, fern2, fern1, fern1, fern1, fern1]) + + chop("earth", MC('gunpowder')) + chop("sky", MC('bone_meal')) + chop("ender", AE2('ender_dust')) + + event.campfireCooking(MC("torch"), MC("stick")).cookingTime(20) + + event.shapeless(KJ('nickel_compound'), [TE('nickel_ingot'), TE("iron_dust"), TE("iron_dust"), TE("iron_dust"), TE("iron_dust")]) + event.blasting(KJ('invar_compound'), KJ('nickel_compound')) + let s = KJ('invar_compound') + event.recipes.createSequencedAssembly([ + TE('invar_ingot'), + ], KJ('invar_compound'), [ + event.recipes.createPressing(s, s) + ]).transitionalItem(s) + .loops(16) + .id('kubejs:invar') + + event.remove({ id: CR("mechanical_crafting/crushing_wheel") }) + event.recipes.createMechanicalCrafting(Item.of(CR('crushing_wheel'), 2), [ + ' AAA ', + 'AABAA', + 'ABBBA', + 'AABAA', + ' AAA ' + ], { + A: F('#cobblestone'), + B: MC('stick') + }) + + event.recipes.createCrushing([Item.of(AE2("singularity")).withChance(1)], CR('crushing_wheel')).processingTime(250) + + let dyes = [MC('orange_dye'), MC('magenta_dye'), MC('light_blue_dye'), MC('yellow_dye'), MC('lime_dye'), MC('pink_dye'), MC('cyan_dye'), MC('purple_dye'), MC('blue_dye'), MC('brown_dye'), MC('green_dye'), MC('red_dye')] + event.recipes.createCompacting('1x ' + KJ("dye_entangled_singularity"), [dyes, Item.of(AE2('quantum_entangled_singularity'), 1)]) + event.recipes.createConversion([AE2('quantum_entangled_singularity')], AE2("singularity")) + event.recipes.createCrushing([ + Item.of(AE2("red_paint_ball"), 1).withChance(.90), + Item.of(AE2("yellow_paint_ball"), 1).withChance(.80), + Item.of(AE2("green_paint_ball"), 1).withChance(.70), + Item.of(AE2("blue_paint_ball"), 1).withChance(.60), + Item.of(AE2("magenta_paint_ball"), 1).withChance(.50)], + KJ('dye_entangled_singularity')).processingTime(50) + + let colors = ["red", "yellow", "green", "blue", "magenta", "black"] + for (let index = 0; index < colors.length; index++) { + var element = colors[index]; + if (index == colors.length - 1) + continue; + event.recipes.createEmptying([AE2(colors[index + 1] + '_paint_ball'), Fluid.of(TC('molten_ender'), 250)], AE2(element + '_paint_ball')) + } + + event.recipes.createMechanicalCrafting(CR('chromatic_compound'), [ + 'AA', + 'AA' + ], { + A: AE2('magenta_paint_ball') + }) + + event.recipes.createPressing(KJ("radiant_sheet"), CR("refined_radiance")) + event.recipes.createMechanicalCrafting(KJ('radiant_coil'), ['A'], { A: KJ('radiant_sheet') }) + + // + + let t = KJ('incomplete_inductive_mechanism') + event.recipes.createSequencedAssembly([ + KJ('inductive_mechanism'), + ], CR('precision_mechanism'), [ + event.recipes.createDeploying(t, [t, KJ('radiant_coil')]), + event.recipes.createDeploying(t, [t, KJ('radiant_coil')]), + event.recipes.createDeploying(t, [t, F('#chromatic_resonators')]) + ]).transitionalItem(t) + .loops(1) + .id('kubejs:inductive_mechanism') + + event.remove({ output: TE('machine_frame') }) + event.shaped(TE('machine_frame'), [ + 'SSS', + 'SCS', + 'SSS' + ], { + C: KJ('invar_casing'), + S: KJ('inductive_mechanism') + }) + + event.shaped(KJ('chromatic_resonator'), [ + ' R ', + 'R S', + 'LS ' + ], { + R: TE('ruby'), + L: TE('lead_ingot'), + S: TE('sapphire') + }) + + let invar_machine = (id, amount, other_ingredient) => { + event.remove({ output: id }) + if (other_ingredient) { + event.smithing(Item.of(id, amount), TE('machine_frame'), other_ingredient) + event.recipes.createMechanicalCrafting(Item.of(id, amount), "AB", { A: TE('machine_frame'), B: other_ingredient }) + } + else + event.stonecutting(Item.of(id, amount), TE('machine_frame')) + } + + invar_machine(TE('dynamo_compression'), 1, TE('rf_coil')) + invar_machine('kubejs:pipe_module_tier_2', 4) + + event.replaceInput({ type: "minecraft:crafting_shaped", id: /appliedenergistics2:.*/ }, F("#ingots/iron"), TE("lead_plate")) + + // invar_machine(TE('machine_crucible'), 1, MC('nether_bricks')) + // invar_machine(TE('machine_furnace'), 1, MC('bricks')) + // invar_machine(TE('machine_chiller'), 1, MC('packed_ice')) + // invar_machine(TE('machine_pyrolyzer'), 1, MC('blaze_rod')) + // invar_machine(TE('machine_bottler'), 1, MC('bucket')) + // invar_machine(TE('machine_centrifuge'), 1, MC('compass')) + // invar_machine(TE('machine_refinery'), 1, '#forge:glass') + // invar_machine(TE('machine_pulverizer'), 1, MC('flint')) + // invar_machine(TE('machine_smelter'), 1, MC('blast_furnace')) + // invar_machine(TE('machine_sawmill'), 1, TE('saw_blade')) + // invar_machine(TE('machine_brewer'), 1, MC('brewing_stand')) + // invar_machine(TE('machine_insolator'), 1, MC('dirt')) + +} + +function fluixMachine(event) { + + event.shaped(KJ('flash_drive'), [ + 'SCA' + ], { + A: TC('cobalt_ingot'), + C: AE2('logic_processor'), + S: MC('iron_ingot') + }) + + let t = KJ('incomplete_calculation_mechanism') + event.recipes.createSequencedAssembly([ + KJ('calculation_mechanism'), + ], KJ('inductive_mechanism'), [ + event.recipes.createDeploying(t, [t, AE2('printed_silicon')]), + event.recipes.createDeploying(t, [t, AE2('printed_silicon')]), + event.recipes.createDeploying(t, [t, F('#flash_drives')]) + ]).transitionalItem(t) + .loops(1) + .id('kubejs:calculation_mechanism') + + event.remove({ output: AE2('controller') }) + event.shaped(AE2('controller'), [ + 'SSS', + 'SCS', + 'SSS' + ], { + C: KJ('fluix_casing'), + S: KJ('calculation_mechanism') + }) + + let fluix_machine = (id, amount, other_ingredient) => { + event.remove({ output: id }) + if (other_ingredient) { + event.smithing(Item.of(id, amount), AE2('controller'), other_ingredient) + event.recipes.createMechanicalCrafting(Item.of(id, amount), "AB", { A: AE2('controller'), B: other_ingredient }) + } + else + event.stonecutting(Item.of(id, amount), AE2('controller')) + } + + fluix_machine(AE2('condenser'), 1, AE2("fluix_pearl")) + fluix_machine(AE2('drive'), 1, AE2("engineering_processor")) + fluix_machine(AE2('formation_core'), 4, AE2("logic_processor")) + fluix_machine(AE2('annihilation_core'), 4, AE2("calculation_processor")) + fluix_machine(AE2('chest'), 1, MC('chest')) + + event.replaceInput({ id: AE2("network/cells/storage_components_cell_1k_part") }, MC("redstone"), KJ('calculation_mechanism')) + event.replaceInput({ id: AE2("network/cells/storage_components_cell_1k_part") }, AE2("logic_processor"), F('#dusts/redstone')) + event.replaceInput({ id: AE2("network/cells/fluid_storage_components_cell_1k_part") }, MC("green_dye"), KJ('calculation_mechanism')) + event.replaceInput({ id: AE2("network/cells/fluid_storage_components_cell_1k_part") }, AE2("logic_processor"), F('#dyes/green')) + event.replaceInput({ id: AE2("network/cells/spatial_components") }, MC("glowstone_dust"), KJ('calculation_mechanism')) + event.replaceInput({ id: AE2("network/cells/spatial_components") }, AE2("engineering_processor"), F('#dusts/glowstone')) + event.replaceInput({ id: AE2("network/crafting/patterns_blank") }, MC("glowstone_dust"), KJ('calculation_mechanism')) + event.recipes.thermal.smelter(AE2("fluix_crystal", 2), [AE2("#crystals/nether"), AE2("charged_certus_quartz_crystal"), MC("redstone")]).energy(4000) + +} + +function enderMachine(event) { + + // event.remove({ id: TE("machine/crucible/crucible_ender_pearl") }) + // event.recipes.createMixing(Fluid.of(TE("ender"), 576), [Fluid.of('tconstruct:molten_silver', 144), Fluid.of('tconstruct:ender_slime', 1000)]).heated() + + event.custom({ + "type": "tconstruct:melting", + "ingredient": { "tag": "forge:coins/silver" }, + "result": { + "fluid": "tconstruct:molten_silver", + "amount": 16 + }, + "temperature": 790, + "time": 40 + }) + + event.custom({ // worth it! + "type": "tconstruct:melting", + "ingredient": { "tag": "forge:coins/gold" }, + "result": { + "fluid": "tconstruct:molten_gold", + "amount": 16 + }, + "temperature": 790, + "time": 40 + }) + + // event.custom({ + // "type": "tconstruct:casting_table", + // "cast": { "tag": "tconstruct:casts/multi_use/ingot" }, + // "fluid": { + // "name": "thermal:ender", + // "amount": 144 + // }, + // "result": { "item": TE("enderium_ingot") }, + // "cooling_time": 50 + // }) + + // event.custom({ + // "type": "tconstruct:casting_table", + // "cast": { "tag": "tconstruct:casts/single_use/ingot" }, + // "cast_consumed": true, + // "fluid": { + // "name": "thermal:ender", + // "amount": 144 + // }, + // "result": { "item": TE("enderium_ingot") }, + // "cooling_time": 50 + // }) + + // event.custom({ + // "type": "tconstruct:casting_table", + // "cast": { "tag": "tconstruct:casts/multi_use/gear" }, + // "fluid": { + // "name": TE("ender"), + // "amount": 576 + // }, + // "result": { "item": TE("enderium_gear") }, + // "cooling_time": 114 + // }) + + // event.custom({ + // "type": "tconstruct:casting_table", + // "cast": { "tag": "tconstruct:casts/single_use/gear" }, + // "cast_consumed": true, + // "fluid": { + // "name": TE("ender"), + // "amount": 576 + // }, + // "result": { "item": TE("enderium_gear") }, + // "cooling_time": 114 + // }) + + event.recipes.thermal.insolator(['endergetic:tall_poise_bush'], 'endergetic:poise_bush').water(1000) + event.recipes.thermal.insolator(['endergetic:poise_cluster'], 'endergetic:tall_poise_bush').water(1000) + event.recipes.thermal.insolator(['tconstruct:ender_slime_ball', '3x endergetic:poise_bush'], 'endergetic:poise_cluster').water(1000) + + // let t = KJ('incomplete_abstruse_mechanism') + // event.recipes.createSequencedAssembly([ + // KJ('abstruse_mechanism'), + // ], KJ('inductive_mechanism'), [ + // event.recipes.createDeploying(t, [t, TE('enderium_gear')]), + // event.recipes.createDeploying(t, [t, TE('enderium_gear')]), + // event.recipes.createDeploying(t, [t, F('#ender_staffs')]) + // ]).transitionalItem(t) + // .loops(1) + // .id('kubejs:abstruse_mechanism') + + event.recipes.thermal.smelter(TE("enderium_ingot"), [F("#ingots/silver"), "endergetic:tall_poise_bush", MC("ender_pearl")]).energy(10000) + event.recipes.thermal.smelter(TE("enderium_ingot"), [F("#ingots/silver"), "endergetic:tall_poise_bush", AE2("ender_dust", 4)]).energy(10000) + event.recipes.thermal.smelter(KJ("abstruse_mechanism"), [KJ("inductive_mechanism"), TE("enderium_ingot")]).energy(2000) + + event.shaped(KJ('enderium_machine'), [ + 'SSS', + 'SCS', + 'SSS' + ], { + C: KJ('enderium_casing'), + S: KJ('abstruse_mechanism') + }) + + let ender_machine = (id, amount, other_ingredient) => { + event.remove({ output: id }) + if (other_ingredient) { + event.smithing(Item.of(id, amount), 'kubejs:enderium_machine', other_ingredient) + event.recipes.createMechanicalCrafting(Item.of(id, amount), "AB", { A: 'kubejs:enderium_machine', B: other_ingredient }) + } + else + event.stonecutting(Item.of(id, amount), 'kubejs:enderium_machine') + } + + ender_machine("enderstorage:ender_chest", 1, MC('chest')) + ender_machine("enderstorage:ender_tank", 1, CR('fluid_tank')) + ender_machine("portality:controller", 1, MC('diamond')) + ender_machine(TE("upgrade_augment_3"), 1, MC('redstone')) + ender_machine(AE2("quantum_ring"), 1, AE2('energy_cell')) + ender_machine(AE2("quantum_link"), 1, AE2('fluix_pearl')) + ender_machine('kubejs:pipe_module_tier_3', 4) + +} + +function circuits(event) { + + event.custom({ + "type": "tconstruct:melting", + "ingredient": { + "item": MC('redstone') + }, + "result": { + "fluid": TE('redstone'), + "amount": 100 + }, + "temperature": 300, + "time": 10 + }); + + event.custom({ + "type": "tconstruct:melting", + "ingredient": { + "item": MC('redstone_block') + }, + "result": { + "fluid": TE('redstone'), + "amount": 900 + }, + "temperature": 500, + "time": 90 + }); + + event.remove({ output: PR_C('red_ingot') }) + event.remove({ output: PR_C('red_iron_comp') }) + event.remove({ input: PR_C('plate') }) + event.remove({ mod: 'projectred-illumination' }) + event.recipes.createCompacting([PR_C('red_ingot')], [CR('copper_ingot'), Fluid.of(TE("redstone"), 250)]) + event.recipes.createCompacting([PR_C('red_ingot')], [CR('copper_ingot'), MC("redstone"), MC("redstone"), MC("redstone"), MC("redstone")]) + event.recipes.thermal.smelter(PR_C('red_ingot'), [CR("copper_ingot"), MC("redstone")]) + event.shapeless(PR_C('platformed_plate'), [PR_C('plate'), PR_T('red_alloy_wire'), CR("andesite_alloy")]) + + let convert = (c, id) => { + event.shapeless(PR_I(c + "_inverted" + id), [PR_I(c + id)]) + event.shapeless(PR_I(c + id), [PR_I(c + "_inverted" + id)]) + } + + colours.forEach(c => { + event.shaped(PR_I(c + '_illumar_lamp', 1), [ + 'G', + 'C', + 'S' + ], { + G: F('#glass/colorless'), + C: PR_C(c + '_illumar'), + S: MC('redstone') + }) + + event.stonecutting(PR_I(c + '_fixture_light', 4), PR_I(c + '_illumar_lamp')) + event.stonecutting(PR_I(c + '_fallout_light', 4), PR_I(c + '_illumar_lamp')) + event.stonecutting(PR_I(c + '_lantern', 4), PR_I(c + '_illumar_lamp')) + event.stonecutting(PR_I(c + '_cage_light', 4), PR_I(c + '_illumar_lamp')) + convert(c, '_illumar_lamp') + convert(c, '_fallout_light') + convert(c, '_lantern') + convert(c, '_cage_light') + convert(c, '_fixture_light') + }) + + let circuit = (id, override) => { + if (override) + event.remove({ output: id }) + event.stonecutting(Item.of(id, 1), PR_C('platformed_plate')) + } + + let p_circuit = (id) => circuit("projectred-integration:" + id + "_gate", true) + + circuit(MC("repeater"), false) + circuit(MC("comparator"), false) + circuit(CR("pulse_repeater"), true) + circuit(CR("adjustable_repeater"), true) + circuit(CR("adjustable_pulse_repeater"), true) + circuit(CR("powered_latch"), true) + circuit(CR("powered_toggle_latch"), true) + + p_circuit("or") + p_circuit("nor") + p_circuit("not") + p_circuit("and") + p_circuit("nand") + p_circuit("xor") + p_circuit("xnor") + p_circuit("buffer") + p_circuit("multiplexer") + p_circuit("pulse") + p_circuit("repeater") + p_circuit("randomizer") + p_circuit("sr_latch") + p_circuit("toggle_latch") + p_circuit("transparent_latch") + p_circuit("light_sensor") + p_circuit("rain_sensor") + p_circuit("timer") + p_circuit("sequencer") + p_circuit("counter") + p_circuit("state_cell") + p_circuit("synchronizer") + p_circuit("bus_transceiver") + p_circuit("null_cell") + p_circuit("invert_cell") + p_circuit("buffer_cell") + p_circuit("comparator") + p_circuit("and_cell") + p_circuit("bus_randomizer") + p_circuit("bus_converter") + p_circuit("bus_input_panel") + p_circuit("stacking_latch") + p_circuit("segment_display") + p_circuit("dec_randomizer") + + // AE2 + + event.remove({ type: AE2('inscriber') }) + + event.custom({ + "type": "tconstruct:casting_table", + "cast": { "item": AE2("calculation_processor_press") }, + "cast_consumed": false, + "fluid": { "tag": "tconstruct:molten_copper", "amount": 144 }, + "result": { "item": AE2("printed_calculation_processor") }, + "cooling_time": 150 + }) + + event.custom({ + "type": "tconstruct:casting_table", + "cast": { "item": AE2("logic_processor_press") }, + "cast_consumed": false, + "fluid": { "tag": "tconstruct:molten_gold", "amount": 144 }, + "result": { "item": AE2("printed_logic_processor") }, + "cooling_time": 150 + }) + + event.custom({ + "type": "tconstruct:casting_table", + "cast": { "item": AE2("engineering_processor_press") }, + "cast_consumed": false, + "fluid": { "tag": "tconstruct:molten_diamond", "amount": 144 }, + "result": { "item": AE2("printed_engineering_processor") }, + "cooling_time": 150 + }) + + event.recipes.thermal.crucible(Fluid.of(TC("molten_diamond"), 144), MC("diamond")).energy(10000) + + event.recipes.thermal.chiller(AE2("printed_calculation_processor"), [Fluid.of("tconstruct:molten_copper", 144), AE2("calculation_processor_press")]).energy(5000) + event.recipes.thermal.chiller(AE2("printed_logic_processor"), [Fluid.of("tconstruct:molten_gold", 144), AE2("logic_processor_press")]).energy(5000) + event.recipes.thermal.chiller(AE2("printed_engineering_processor"), [Fluid.of("tconstruct:molten_diamond", 144), AE2("engineering_processor_press")]).energy(5000) + + event.custom(ifiniDeploying(AE2("printed_silicon"), AE2("silicon"), AE2("silicon_press"))) + + let types = ["calculation", "logic", "engineering"] + types.forEach(e => { + let t = KJ('incomplete_' + e + '_processor') + event.recipes.createSequencedAssembly([ + AE2(e + '_processor'), + ], AE2('printed_silicon'), [ + event.recipes.createDeploying(t, [t, AE2('printed_' + e + "_processor")]), + event.recipes.createFilling(t, [t, Fluid.of(TE("redstone"), 250)]), + event.recipes.createPressing(t, t) + ]).transitionalItem(t) + .loops(1) + .id('kubejs:' + e + "_processor") + }) + + event.recipes.thermal.smelter(AE2('quartz_glass'), AE2("#dusts/quartz")) + +} + +function madMaths(event) { + + event.remove({ id: TE('compat/tconstruct/chiller_tconstruct_tin_ingot') }) + event.remove({ output: TE('chiller_ball_cast') }) + event.remove({ output: TE('chiller_rod_cast') }) + event.remove({ output: TE('chiller_ingot_cast') }) + + event.stonecutting(TE('chiller_ball_cast'), TE('nickel_plate')) + event.stonecutting(TE('chiller_rod_cast'), TE('nickel_plate')) + event.stonecutting(TE('chiller_ingot_cast'), TE('nickel_plate')) + + let types = ["three", "eight", "plus", "minus", "multiply", "divide"] + types.forEach(e => { + event.stonecutting(KJ(e + '_cast'), TE('nickel_plate')) + event.custom({ + "type": "tconstruct:casting_table", + "cast": { + "item": KJ(e + '_cast') + }, + "fluid": { + "name": "kubejs:raw_logic", + "amount": 1 + }, + "result": Item.of(KJ(e)).toResultJson(), + "cooling_time": 10 + }) + event.custom({ + "type": "thermal:chiller", + "ingredients": [ + Fluid.of(KJ('raw_logic'), 1).toJson(), + Item.of(KJ(e + '_cast')).toJson() + ], + "result": [ + Item.of(KJ(e)).toResultJson() + ], + "energy": 100, + }) + }) + + let meltOrCrucible = (id, out, outAmount) => { + event.recipes.thermal.crucible(Fluid.of(out, outAmount), [id]).energy(20) + event.custom({ + "type": "tconstruct:melting", + "ingredient": { "item": id }, + "result": { + "fluid": out, + "amount": outAmount + }, + "temperature": 200, + "time": 20 + }) + } + + let alloyAmount = 10 + let outAmount = 50 + event.custom({ + "type": "tconstruct:alloy", + "inputs": [ + { "name": "kubejs:number_0", "amount": alloyAmount }, + { "name": "kubejs:number_1", "amount": alloyAmount }, + { "name": "kubejs:number_2", "amount": alloyAmount }, + { "name": "kubejs:number_3", "amount": alloyAmount }, + { "name": "kubejs:number_4", "amount": alloyAmount }, + { "name": "kubejs:number_5", "amount": alloyAmount }, + { "name": "kubejs:number_6", "amount": alloyAmount }, + { "name": "kubejs:number_7", "amount": alloyAmount }, + { "name": "kubejs:number_8", "amount": alloyAmount }, + { "name": "kubejs:number_9", "amount": alloyAmount } + ], + "result": { + "fluid": "kubejs:matrix", + "amount": outAmount + }, + "temperature": 200 + }) + + meltOrCrucible(KJ("calculation_mechanism"), KJ("raw_logic"), 30) + meltOrCrucible(KJ("zero"), KJ("number_0"), 1) + meltOrCrucible(KJ("one"), KJ("number_1"), 1) + meltOrCrucible(KJ("two"), KJ("number_2"), 1) + meltOrCrucible(KJ("three"), KJ("number_3"), 1) + meltOrCrucible(KJ("four"), KJ("number_4"), 1) + meltOrCrucible(KJ("five"), KJ("number_5"), 1) + meltOrCrucible(KJ("six"), KJ("number_6"), 1) + meltOrCrucible(KJ("seven"), KJ("number_7"), 1) + meltOrCrucible(KJ("eight"), KJ("number_8"), 1) + meltOrCrucible(KJ("nine"), KJ("number_9"), 1) + + event.custom({ + "type": "tconstruct:casting_basin", + "fluid": { + "name": "kubejs:matrix", + "amount": 1000 + }, + "result": Item.of(KJ("computation_matrix")).toResultJson(), + "cooling_time": 20 + }) + + let nums = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] + let ops = [(a, b) => a + b, (a, b) => a - b, (a, b) => a * b, (a, b) => b == 0 ? 'error' : a / b] + let opNames = ['plus', 'minus', 'multiply', 'divide'] + + for (var a = 0; a < 10; a++) { + for (var b = 0; b < 10; b++) { + for (var op = 0; op < ops.length; op++) { + + let result = ops[op](a, b) + var output; + + if (result == 'error') + output = KJ('missingno') + else if (result < 0) + continue + else if (result > 9) + continue + else if (result % 1 != 0) + continue + else + output = KJ(nums[result]) + + event.custom({ + "type": "create:mechanical_crafting", + "pattern": [ + "AOB" + ], + "key": { + "A": { + "item": KJ(nums[a]) + }, + "O": { + "item": KJ(opNames[op]) + }, + "B": { + "item": KJ(nums[b]) + } + }, + "result": { + "item": output + }, + "acceptMirrored": false + }) + + } + } + } + +} + +function glitch(event) { + + +} + +function alchemy(event) { + + event.recipes.thermal.pyrolyzer([MC("charcoal", 2), Fluid.of(TE('creosote'), 50)], MC("#logs")).energy(1000) + event.recipes.thermal.pyrolyzer([TE("coal_coke"), Fluid.of(TE('creosote'), 50)], MC("charcoal")).energy(2000) + let t = KJ('incomplete_coke_chunk') + event.recipes.createSequencedAssembly([ + KJ('coke_chunk'), + ], TE('coal_coke'), [ + event.recipes.createFilling(t, [t, Fluid.of(MC("water"), 250)]), + event.recipes.createCutting(t, t).processingTime(100) + ]).transitionalItem(t) + .loops(2) + .id('kubejs:coke_cutting') + + event.recipes.createSplashing([ + Item.of(KJ("sand_ball")).withChance(0.125) + ], 'minecraft:sandstone') + event.recipes.thermal.bottler(KJ("sand_ball"), [Fluid.of(MC("water"), 50), F("#sand/colorless")]).energy(1000) + // event.recipes.thermal.chiller(KJ("creosote_pellet"), [Fluid.of(TE("creosote"), 50)]).energy(1000) + // event.recipes.thermal.crucible(Fluid.of(KJ("liquid_smoke"), 250), KJ("creosote_pellet")).energy(3000) + // event.remove({ id: TE("blitz_powder") }) + // event.recipes.createPressing(TE("lightning_charge"), TE("blitz_powder")) + event.remove({ output: TE("basalz_powder") }) + event.remove({ output: TE("blizz_powder") }) + + event.custom({ + "type": "thermal:pulverizer", + "ingredient": { "item": "thermal:basalz_rod" }, + "energy": 800, + "result": [ + { "item": "thermal:basalz_powder", "chance": 2.5 }, + { "item": "thermal:slag", "chance": 0.125 } + ] + }) + + event.custom({ + "type": "thermal:pulverizer", + "ingredient": { "item": "thermal:blizz_rod" }, + "energy": 800, + "result": [ + { "item": "thermal:blizz_powder", "chance": 2.5 }, + { "item": "thermal:niter", "chance": 0.125 } + ] + }) + + event.recipes.thermal.crucible(Fluid.of("tconstruct:molten_glass", 1000), F("#sand")).energy(6000) + event.recipes.thermal.crucible(Fluid.of("tconstruct:molten_glass", 1000), F("#glass/colorless")).energy(3000) + event.recipes.thermal.pulverizer([CR("powdered_obsidian")], F("#obsidian")).energy(7000) + + let blizz = TE("blizz_powder") + let basalz = TE("basalz_powder") + event.recipes.createEmptying([KJ("rough_sand"), Fluid.of(KJ("fine_sand"), 500)], KJ("sand_ball")) + event.recipes.createCrushing([Item.of(blizz, 1), Item.of(blizz, 1).withChance(.5)], TE("blizz_rod")) + event.recipes.createCrushing([Item.of(basalz, 1), Item.of(basalz, 1).withChance(.5)], TE("basalz_rod")) + event.recipes.createCompacting(TE("ice_charge"), [blizz, blizz, blizz, blizz, blizz, blizz, blizz, blizz]) + event.recipes.createCompacting(TE("earth_charge"), [basalz, basalz, basalz, basalz, basalz, basalz, basalz, basalz]) + + event.recipes.createCompacting(KJ("silicon_compound"), [Fluid.of(KJ("fine_sand"), 500), KJ("purified_sand"), KJ("coke_chunk")]) + // event.recipes.createCompacting(KJ("smoke_mote"), [Fluid.of(KJ("liquid_smoke"), 500)]) + + // event.remove({ output: "desolation:activatedcharcoal" }) + // event.recipes.thermal.smelter( + // ["desolation:activatedcharcoal"], + // [KJ("coke_chunk"), TE("lightning_charge")]) + // .energy(10000) + + event.recipes.thermal.smelter( + [KJ("purified_sand")], + [KJ("rough_sand"), TE("earth_charge")]) + .energy(5000) + + event.recipes.thermal.smelter( + [AE2("silicon")], + [KJ("silicon_compound"), TE("ice_charge")]) + .energy(5000) + + event.recipes.thermal.numismatic_fuel(TE('silver_coin')).energy(100000) + event.recipes.thermal.numismatic_fuel(TE('gold_coin')).energy(6400000) + + event.remove({ id: TE("machine/pyrolyzer/pyrolyzer_logs") }) + event.remove({ id: CR("crushing/obsidian") }) + event.remove({ type: TE("sawmill") }) + event.remove({ type: TE("centrifuge") }) + event.remove({ output: AE2("silicon") }) + + let alchemy_mix = (output, catalyst, r1, r2, amount) => { + event.recipes.createMixing([Item.of(KJ("substrate_" + output, amount ? amount : 1)), KJ("substrate_" + catalyst)], [KJ("substrate_" + catalyst), KJ("substrate_" + r1, 2), KJ("substrate_" + r2)]).heated() + } + + let alchemy_smelt = (output, catalyst, r1, r2, amount) => { + event.recipes.thermal.smelter([Item.of(KJ("substrate_" + output, amount ? amount : 1)), KJ("substrate_" + catalyst)], [KJ("substrate_" + r1, 2), KJ("substrate_" + catalyst), KJ("substrate_" + r2)]).energy(4000) + } + + alchemy_mix("red", "herbal", "diorite", "andesite") + alchemy_mix("orange", "herbal", "granite", "diorite") + alchemy_mix("yellow", "herbal", "cobblestone", "granite") + alchemy_mix("green", "herbal", "basalt", "cobblestone") + alchemy_mix("blue", "herbal", "gabbro", "basalt") + alchemy_mix("magenta", "herbal", "andesite", "gabbro") + + alchemy_smelt("nether", "volatile", "red", "gabbro") + alchemy_smelt("blaze", "volatile", "orange", "andesite") + alchemy_smelt("gunpowder", "volatile", "yellow", "diorite") + alchemy_smelt("slime", "volatile", "green", "granite") + alchemy_smelt("prismarine", "volatile", "blue", "cobblestone") + alchemy_smelt("obsidian", "volatile", "magenta", "basalt") + + alchemy_mix("arcane", "crystal", "nether", "magenta") + alchemy_mix("niter", "crystal", "blaze", "red") + alchemy_mix("quartz", "crystal", "gunpowder", "orange") + alchemy_mix("sulfur", "crystal", "slime", "yellow") + alchemy_mix("apatite", "crystal", "prismarine", "green") + alchemy_mix("certus", "crystal", "obsidian", "blue") + + alchemy_smelt("lead", "metal", "arcane", "obsidian") + alchemy_smelt("copper", "metal", "niter", "nether") + alchemy_smelt("gold", "metal", "quartz", "blaze") + alchemy_smelt("nickel", "metal", "sulfur", "gunpowder") + alchemy_smelt("zinc", "metal", "apatite", "slime") + alchemy_smelt("iron", "metal", "certus", "prismarine") + + alchemy_mix("emerald", "gem", "lead", "certus") + alchemy_mix("sapphire", "gem", "copper", "arcane") + alchemy_mix("diamond", "gem", "gold", "niter") + alchemy_mix("lapis", "gem", "nickel", "quartz") + alchemy_mix("ruby", "gem", "zinc", "sulfur") + alchemy_mix("cinnabar", "gem", "iron", "apatite") + + alchemy_smelt("andesite", "igneous", "emerald", "iron", 20) + alchemy_smelt("diorite", "igneous", "sapphire", "lead", 20) + alchemy_smelt("granite", "igneous", "diamond", "copper", 20) + alchemy_smelt("cobblestone", "igneous", "lapis", "gold", 20) + alchemy_smelt("basalt", "igneous", "ruby", "nickel", 20) + alchemy_smelt("gabbro", "igneous", "cinnabar", "zinc", 20) + + let mundane = (id, outputs) => { + let jsonOut = [] + if (outputs[0] > 0) + jsonOut.push({ + "item": "darkerdepths:ash", + "count": outputs[0] + }) + if (outputs[1] > 0) + jsonOut.push({ + "item": MC("redstone"), + "count": outputs[1] + }) + if (outputs[2] > 0) + jsonOut.push({ + "item": MC("glowstone_dust"), + "count": outputs[2] + }) + event.custom({ + "type": "thermal:centrifuge", + "ingredient": { + "item": KJ(`failed_alchemy_${id}`) + }, + "result": jsonOut + }) + } + + let i = 0; + + mundane(i++, [4, 0, 0]) + mundane(i++, [3, 1, 0]) + mundane(i++, [3, 0, 1]) + mundane(i++, [2, 2, 0]) + mundane(i++, [2, 0, 2]) + + mundane(i++, [2, 1, 1]) + mundane(i++, [1, 3, 0]) + mundane(i++, [1, 0, 3]) + mundane(i++, [1, 2, 1]) + mundane(i++, [1, 1, 2]) + + mundane(i++, [0, 4, 0]) + mundane(i++, [0, 0, 4]) + mundane(i++, [0, 3, 1]) + mundane(i++, [0, 1, 3]) + mundane(i++, [0, 2, 2]) + + let recompact = (id, id2) => { + event.recipes.createCompacting(id2, [id]) + } + + event.recipes.createCrushing(CR("powdered_obsidian"), MC("obsidian")) + + recompact(CR("powdered_obsidian"), MC("obsidian")) + recompact(TE("diamond_dust"), MC("diamond")) + recompact(TE("emerald_dust"), MC("emerald")) + recompact(TE("lapis_dust"), MC("lapis_lazuli")) + recompact(TE("sulfur_dust"), TE("sulfur")) + recompact(TE("apatite_dust"), TE("apatite")) + recompact(TE("niter_dust"), TE("niter")) + recompact(TE("sapphire_dust"), TE("sapphire")) + recompact(TE("ruby_dust"), TE("ruby")) + recompact("forbidden_arcanus:arcane_crystal_dust", "forbidden_arcanus:arcane_crystal") + + global.substrates.forEach(a => { + a.forEach(e => { + if (!e.ingredient) + return + event.custom({ + "type": "thermal:bottler", + "ingredients": [Ingredient.of(e.ingredient).toJson(), { "fluid": "tconstruct:molten_glass", "amount": 100 }], + "result": [{ "item": e.id }] + }) + event.custom({ + "type": "thermal:sawmill", + "ingredient": { "item": e.id }, + "result": [{ "item": e.outputItem ? e.outputItem : typeof e.ingredient == "string" ? e.ingredient : e.ingredient[0], "chance": 0.75 }], + "energy": 2000 + }) + }) + }) + + event.custom({ + "type": "thermal:sawmill", + "ingredient": { "item": "kubejs:substrate_silicon" }, + "result": [{ "item": AE2("silicon"), "count": 1 }], + "energy": 2000 + }) + + event.custom({ + "type": "thermal:sawmill", + "ingredient": { "item": "kubejs:substrate_silver" }, + "result": [{ "item": TE("silver_dust"), "count": 1 }], + "energy": 2000 + }) + + event.custom({ + "type": "thermal:bottler", + "ingredients": [ + { "item": TE("signalum_nugget") }, + { "fluid": "tconstruct:molten_glass", "amount": 100 } + ], + "result": [{ "item": "kubejs:accellerator_redstone" }] + }) + + event.custom({ + "type": "thermal:bottler", + "ingredients": [ + { "item": TE("silver_dust") }, + { "fluid": "tconstruct:molten_glass", "amount": 100 } + ], + "result": [{ "item": "kubejs:substrate_silver" }] + }) + + event.custom({ + "type": "thermal:bottler", + "ingredients": [ + { "item": TE("lumium_nugget") }, + { "fluid": "tconstruct:molten_glass", "amount": 100 } + ], + "result": [{ "item": "kubejs:accellerator_glowstone" }] + }) + +} + +function trading(event) { + let trade = (card_id, ingredient, output) => { + event.custom({ + type: 'thermal:press', + ingredients: [ + Ingredient.of(ingredient).toJson(), + Ingredient.of(card_id).toJson(), + ], + result: [ + Item.of(output).toResultJson() + ], + energy: 1000 + }) + } + + global.trades.forEach(element => { + if (global.transactions[element]) + global.transactions[element].forEach(transaction => { + trade(KJ('trade_card_' + element), transaction.in, transaction.out) + }) + }); + + global.professions.forEach(element => { + if (global.transactions[element]) + global.transactions[element].forEach(transaction => { + trade(KJ('profession_card_' + element), transaction.in, transaction.out) + }) + }); +} + +// Program + +events.listen('player.chat', function (event) { + // Check if message equals creeper, ignoring case + + if (event.message.startsWith('!clear')) { + event.player.tell('Log cleared') + log = [] + event.cancel() + } + + if (event.message.startsWith('!status')) { + if (log.length == 0) { + event.player.tell('Log empty') + event.cancel() + return + } + + event.player.tell('Log Start >') + log.forEach(s => event.player.tell(s)) + event.player.tell('<') + event.cancel() + } +}) + + + + diff --git a/src/overrides/kubejs/startup_scripts/launch.js b/src/overrides/kubejs/startup_scripts/launch.js new file mode 100644 index 0000000..6106a0e --- /dev/null +++ b/src/overrides/kubejs/startup_scripts/launch.js @@ -0,0 +1,309 @@ +// priority: 0 + +onEvent('item.registry', event => { + + let types = ['Nether', 'Certus', 'Fluix'] + types.forEach(e => { + let id = e.toLowerCase() + event.create('growing_' + id + '_seed').type('create:sequenced_assembly').texture("appliedenergistics2:item/crystal_seed_" + id).displayName(e + ' Quartz Seed') + event.create('tiny_' + id + '_crystal').texture("appliedenergistics2:item/crystal_seed_" + id + "2").displayName('Tiny ' + e + ' Quartz Crystal') + event.create('growing_tiny_' + id + '_crystal').type('create:sequenced_assembly').texture("appliedenergistics2:item/crystal_seed_" + id + "2").displayName('Tiny ' + e + ' Quartz Crystal') + event.create('small_' + id + '_crystal').texture("appliedenergistics2:item/crystal_seed_" + id + "3").displayName('Small ' + e + ' Quartz Crystal') + event.create('growing_small_' + id + '_crystal').type('create:sequenced_assembly').texture("appliedenergistics2:item/crystal_seed_" + id + "3").displayName('Small ' + e + ' Quartz Crystal') + }); + + let processors = ["Calculation", "Logic", "Engineering"] + processors.forEach(name => { + let e = name.toLowerCase() + event.create('incomplete_' + e + '_processor').type('create:sequenced_assembly').texture('kubejs:item/incomplete_' + e + '_processor').displayName('Incomplete ' + name + ' Processor') + }) + + let number = (name) => { + let id = name.toLowerCase() + event.create(id).texture("kubejs:item/" + id).glow(true).displayName(name) + } + + number('Zero') + number('One') + number('Two') + number('Three') + number('Four') + number('Five') + number('Six') + number('Seven') + number('Eight') + number('Nine') + number('Plus') + number('Minus') + number('Multiply') + number('Divide') + + let mechanism = (name, rarity) => { + let id = name.toLowerCase() + event.create(id + '_mechanism').texture("kubejs:item/" + id + "_mechanism").displayName(name + ' Mechanism').rarity(rarity ? rarity : RARITY_COMMON) + event.create('incomplete_' + id + '_mechanism').texture("kubejs:item/incomplete_" + id + "_mechanism").type('create:sequenced_assembly').displayName('Incomplete ' + name + ' Mechanism') + } + + event.create('radiant_coil').glow(true).texture("kubejs:item/radiant_coil").displayName('Radiant Induction Coil') + event.create('radiant_sheet').glow(true).texture("kubejs:item/radiant_sheet").displayName('Radiant Sheet') + + mechanism('Kinetic') + mechanism('Sealed') + mechanism('Infernal', RARITY_UNCOMMON) + mechanism('Inductive', RARITY_UNCOMMON) + mechanism('Abstruse', RARITY_RARE) + mechanism('Calculation', RARITY_RARE) + + let slime_types = ["Earth", "Sky", "Ender"] + let slime_colours = [0x8FDB84, 0x00F9DE, 0xAC2EFC] + + for (i = 0; i < slime_types.length; i++) { + let name = slime_types[i] + let id = name.toLowerCase() + event.create(`${id}_slimy_fern_leaf`) + .color(0, slime_colours[i]) + .texture("kubejs:item/slimy_fern_leaf") + .displayName(`Slimy Fern Leaf`) + event.create(`${id}_slime_fern_paste`) + .color(0, slime_colours[i]) + .texture("kubejs:item/ground_slimy_fern") + .displayName(`Slimy Fern Blend`) + } + + // Misc / Integration + event.create('pipe_module_utility').texture("kubejs:item/pipe_module_utility").displayName('Utility Pipe Module') + event.create('pipe_module_tier_1').texture("kubejs:item/pipe_module_tier_1").displayName('Brass Pipe Module') + event.create('pipe_module_tier_2').texture("kubejs:item/pipe_module_tier_2").displayName('Invar Pipe Module') + event.create('pipe_module_tier_3').texture("kubejs:item/pipe_module_tier_3").displayName('Enderium Pipe Module') + + event.create('circuit_scrap').texture("kubejs:item/circuit_scrap").displayName('Circuit Scrap') + event.create('charged_calculator').texture("kubejs:item/charged_calculator").displayName('Calculator').maxDamage(64) + event.create('missingno').texture("kubejs:item/missingno").displayName('∄') + event.create('zinc_dust').texture("kubejs:item/zinc_dust").displayName('Zinc Dust') + event.create('zinc_sheet').texture("kubejs:item/zinc_sheet").displayName('Zinc Sheet') + event.create('creosote_pellet').texture("kubejs:item/creosote_pellet").displayName('Creosote Pellet') + event.create('sand_ball').texture("kubejs:item/sand_ball").displayName('Ball of Sand').unstackable() + event.create('rough_sand').texture("kubejs:item/rough_sand").displayName('Sand Chunks') + event.create('purified_sand').texture("kubejs:item/purified_sand").displayName('Purified Sand') + event.create('silicon_compound').texture("kubejs:item/silicon_compound").displayName('Silicon Compound') + event.create('smoke_mote').texture("kubejs:item/smoke_mote").displayName('Tiny Smoke Cloud') + event.create('incomplete_coke_chunk').texture("kubejs:item/incomplete_coke_chunk").type('create:sequenced_assembly').displayName('Cut Coke') + event.create('coke_chunk').texture("kubejs:item/coke_chunk").displayName('Coke Chunks') + + event.create('matter_plastics').texture("kubejs:item/matter_plastics").displayName('Matter Plastics') + event.create('nickel_compound').texture("kubejs:item/nickel_compound").displayName('Nickel Compound') + event.create('invar_compound').texture("kubejs:item/invar_compound").type('create:sequenced_assembly').displayName('Unprocessed Invar Ingot') + event.create('dye_entangled_singularity').texture("kubejs:item/dye_entangled_singularity").unstackable().displayName('Chromatic Singularity') + event.create('chromatic_resonator').texture("kubejs:item/chromatic_resonator").displayName('Chromatic Resonator').maxDamage(512) + event.create('flash_drive').texture("kubejs:item/boot_medium").displayName('Flash Drive').maxDamage(512) + + event.create('alchemical_laser').parentModel("kubejs:block/ponder_laser_lamp_on").displayName('Alchemical Laser (Ponder Entry)').unstackable() + event.create('thermal_cast').texture("kubejs:item/thermal_cast").displayName('Thermal Cast').unstackable() + event.create('three_cast').texture("kubejs:item/three_cast").displayName('Integer Cast (3)').unstackable() + event.create('eight_cast').texture("kubejs:item/eight_cast").displayName('Integer Cast (8)').unstackable() + event.create('plus_cast').texture("kubejs:item/plus_cast").displayName('Operator Cast (+)').unstackable() + event.create('minus_cast').texture("kubejs:item/minus_cast").displayName('Operator Cast (-)').unstackable() + event.create('multiply_cast').texture("kubejs:item/multiply_cast").displayName('Operator Cast (x)').unstackable() + event.create('divide_cast').texture("kubejs:item/divide_cast").displayName('Operator Cast (/)').unstackable() + event.create('computation_matrix').parentModel("kubejs:item/computation_matrix").displayName('Computation Matrix').rarity(RARITY_UNCOMMON).unstackable() +}) + +onEvent('block.registry', event => { + event.create('enderium_casing').model('kubejs:block/enderium_casing').material('metal').hardness(4.0).displayName('Ender Casing') + event.create('zinc_casing').material('metal').hardness(3.0).displayName('Zinc Casing') + event.create('invar_casing').material('metal').hardness(3.0).displayName('Invar Casing') + event.create('fluix_casing').material('metal').hardness(3.0).displayName('Fluix Casing') + + event.create('ponder_laser_lamp').model('kubejs:block/ponder_laser_lamp').notSolid().renderType("translucent").displayName('Laser Lamp (For Ponder)') + event.create('ponder_laser_lamp_on').model('kubejs:block/ponder_laser_lamp_on').notSolid().lightLevel(15).renderType("translucent").displayName('Laser Lamp (For Ponder)') + + let machine = (name, layer) => { + let id = name.toLowerCase() + event.create(id + '_machine') + .model('kubejs:block/' + id + '_machine') + .material('lantern') + .hardness(3.0) + .displayName(name + ' Machine') + .notSolid() + .renderType(layer) + } + + machine('Andesite', "solid") + machine('Brass', "translucent") + machine('Copper', "cutout") + machine('Zinc', "cutout") + machine('Enderium', "cutout") + + for (i = 0; i < 15; i++) + event.create(`failed_alchemy_${i}`) + .material('glass') + .color(0, 0x394867) + .color(1, 0x14274E) + .hardness(0.1) + .box(.25, 0, .25, .75, 14.0 / 16.0, .75, false) + .model("kubejs:block/mundane_substrate") + .displayName(`Mundane Alchemic Blend`) + .renderType("cutout") + + global.substrates = [] + global.substrate_mapping = {} + var current_category = [] + var category_index = 0 + var substrate_index = 0 + + let category = () => { + global.substrates.push(current_category) + current_category = [] + category_index++ + substrate_index = 0 + } + + let substrate_base = (c1, c2, id, name, model, ingredient, outputItem) => { + global.substrate_mapping[id] = { + category: category_index, + index: substrate_index, + name: name.replace(" Reagent", "").replace(" Catalyst", "") + } + current_category.push({ + id: `kubejs:substrate_${id}`, + ingredient: ingredient, + outputItem: outputItem + }) + event.create(`substrate_${id}`) + .material('glass') + .color(0, c1) + .color(1, c2) + .hardness(0.1) + .box(.25, 0, .25, .75, 14.0 / 16.0, .75, false) + .model("kubejs:block/" + model) + .displayName(name) + .renderType("cutout") + .item(e => e.rarity(model == "catalyst" ? RARITY_UNCOMMON : RARITY_COMMON)) + substrate_index++ + } + + let reagent = (c1, c2, id, prefix, ingredient, outputItem) => substrate_base(c1, c2, id, `${prefix} Reagent`, "substrate", ingredient, outputItem) + let catalyst = (c1, c2, id, prefix, ingredient) => substrate_base(c1, c2, id, `${prefix} Catalyst`, "catalyst", ingredient) + + reagent(0x5F5F5F, 0x8E8E8E, "andesite", "Andesite", "create:andesite_cobblestone") + reagent(0x7F7F7F, 0xD4D4D4, "diorite", "Diorite", "create:diorite_cobblestone") + reagent(0x563A2F, 0x9A6C5B, "granite", "Granite", "create:granite_cobblestone") + reagent(0x585858, 0x646363, "cobblestone", "Stone", "minecraft:cobblestone") + reagent(0x32333D, 0x5C5C5C, "basalt", "Basalt", "minecraft:basalt") + reagent(0x6B5D4F, 0x7D6B5A, "gabbro", "Gabbro", "create:gabbro_cobblestone") + category() + reagent(0xD30000, 0xB80F0A, "red", "Crimson", ["minecraft:rose_bush", "minecraft:poppy", "minecraft:red_tulip"], "minecraft:red_dye") + reagent(0xFC6600, 0xb1560f, "orange", "Orange", ["minecraft:orange_tulip", "biomesoplenty:burning_blossom", "minecraft:pumpkin"], "minecraft:orange_dye") + reagent(0xFFF200, 0xdba520, "yellow", "Goldenrod", ["biomesoplenty:goldenrod", "minecraft:sunflower", "minecraft:dandelion"], "minecraft:yellow_dye") + reagent(0x9dc183, 0x708238, "green", "Olive", ["minecraft:fern", "minecraft:cactus", "biomesoplenty:watergrass"], "minecraft:green_dye") + reagent(0x57a0d2, 0x0080fe, "blue", "Azure", ["biomesoplenty:blue_hydrangea", "minecraft:cornflower", "minecraft:blue_orchid"], "minecraft:light_blue_dye") + reagent(0xb200ed, 0xff66cc, "magenta", "Fuchsia", ["minecraft:lilac", "minecraft:allium", "minecraft:pink_tulip"], "minecraft:magenta_dye") + category() + reagent(0xAC3B00, 0xD5AC26, "blaze", "Blazing", "minecraft:blaze_powder") + reagent(0x4F7E48, 0x8AD480, "slime", "Slime", "minecraft:slime_ball") + reagent(0x5B151A, 0xBC3E49, "nether", "Nether", "minecraft:nether_wart") + reagent(0x05030A, 0x36234C, "obsidian", "Obsidian", "create:powdered_obsidian") + reagent(0x535353, 0x717171, "gunpowder", "Gunpowder", "minecraft:gunpowder") + reagent(0x529680, 0xA2CFC0, "prismarine", "Aquatic", "minecraft:prismarine_shard") + category() + reagent(0x9E72BE, 0xB7C9D1, "arcane", "Arcane", "forbidden_arcanus:arcane_crystal_dust") + reagent(0x27A9BB, 0x2CC7C9, "apatite", "Apatite", "thermal:apatite_dust") + reagent(0xC7A94A, 0xEEF071, "sulfur", "Sulfuric", "thermal:sulfur_dust") + reagent(0x735A65, 0xB8AFAF, "niter", "Nitric", "thermal:niter_dust") + reagent(0x91C5FC, 0xA7CBCF, "certus", "Certus Quartz", "appliedenergistics2:certus_quartz_dust") + reagent(0xB19E8F, 0xE7E2DB, "quartz", "Nether Quartz", "appliedenergistics2:nether_quartz_dust") + category() + reagent(0x616A60, 0xD0D2C5, "zinc", "Zinc", "kubejs:zinc_dust") + reagent(0xDD7E5D, 0xFCEFBA, "copper", "Copper", "thermal:copper_dust") + reagent(0xA6A6A6, 0xD5D5D5, "iron", "Iron", "thermal:iron_dust") + reagent(0x977756, 0xE4D196, "nickel", "Nickel", "thermal:nickel_dust") + reagent(0x232456, 0x7C95A4, "lead", "Lead", "thermal:lead_dust") + reagent(0xD99413, 0xFAF25E, "gold", "Gold", "thermal:gold_dust") + category() + reagent(0xFC7781, 0xFCCED0, "cinnabar", "Cinnabar", "thermal:cinnabar") + reagent(0x335DC1, 0x7395E7, "lapis", "Lapis Lazuli", "thermal:lapis_dust") + reagent(0x246BE9, 0x76C6FC, "sapphire", "Sapphire", "thermal:sapphire_dust") + reagent(0x00A82B, 0xADFACB, "emerald", "Emerald", "thermal:emerald_dust") + reagent(0x9D0A33, 0xFB7B71, "ruby", "Ruby", "thermal:ruby_dust") + reagent(0x20C3B3, 0xD2FCF3, "diamond", "Diamond", "thermal:diamond_dust") + category() + catalyst(0x506D84, 0x889EAF, "igneous", "Igneous") + catalyst(0xB5CDA3, 0xC9E4C5, "herbal", "Herbal") + catalyst(0x9F5F80, 0xFF8474, "volatile", "Volatile") + catalyst(0xFFB037, 0xFFE268, "crystal", "Crystalline") + catalyst(0x232457, 0x7D97A6, "metal", "Metallurgic") + catalyst(0x3EDBF0, 0xC0FEFC, "gem", "Gemstone") + category() + + event.create(`substrate_chaos`) + .material('glass') + .color(0, 0xb200ed) + .color(1, 0xff66cc) + .hardness(0.1) + .box(.25, 0, .25, .75, 14.0 / 16.0, .75, false) + .model("kubejs:block/chaos_catalyst") + .displayName("Chaos Catalyst") + .renderType("cutout") + .item(e => e.rarity(RARITY_RARE)) + + event.create(`substrate_silicon`) + .material('glass') + .color(0, 0x474449) + .color(1, 0x967DA0) + .hardness(0.1) + .box(.25, 0, .25, .75, 14.0 / 16.0, .75, false) + .model("kubejs:block/substrate") + .displayName("Silicon Reagent") + .renderType("cutout") + .item(e => e.rarity(RARITY_EPIC)) + + + event.create(`substrate_silver`) + .material('glass') + .color(0, 0x9FADB4) + .color(1, 0xBECCD2) + .hardness(0.1) + .box(.25, 0, .25, .75, 14.0 / 16.0, .75, false) + .model("kubejs:block/substrate") + .displayName("Silver Reagent") + .renderType("cutout") + + event.create(`accellerator_glowstone`) + .material('glass') + .color(0, 0xFFBC5E) + .hardness(0.1) + .box(.125, 0, .125, .875, 10.0 / 16.0, .875, false) + .model("kubejs:block/accellerator") + .displayName("Glowstone Accelerator") + .renderType("cutout") + + event.create(`accellerator_redstone`) + .material('glass') + .color(0, 0xAA0F01) + .hardness(0.1) + .box(.125, 0, .125, .875, 10.0 / 16.0, .875, false) + .model("kubejs:block/accellerator") + .displayName("Redstone Accelerator") + .renderType("cutout") + +}) + +onEvent('fluid.registry', event => { + let colors = [0xCBE827, 0xAEE827, 0x68E827, 0x27E86E, 0x27E8B1, 0x27DEE8, 0x27B5E8, 0x2798E8, 0x2778E8, 0x2748E8] + event.create('raw_logic').displayName(`Liquified Logic (Unprocessed)`).textureStill('kubejs:fluid/number_still').textureFlowing('kubejs:fluid/number_flow').color(0xE7FFCB) + for (i = 0; i < 10; i++) + event.create('number_' + i).displayName(`Liquified Logic (${i})`).textureStill('kubejs:fluid/number_still').textureFlowing('kubejs:fluid/number_flow').color(colors[i]) + event.create('matrix').displayName(`Liquified Computation Matrix`).textureStill('kubejs:fluid/matrix_still').textureFlowing('kubejs:fluid/matrix_flow').bucketColor(colors[0]) + event.create('fine_sand').displayName(`Fine Sand`).textureStill('kubejs:fluid/fine_sand_still').textureFlowing('kubejs:fluid/fine_sand_flow').bucketColor(0xE3DBB0) + event.create('crude_oil').displayName(`Crude Oil`).textureStill('thermal:block/fluids/crude_oil_still').textureFlowing('thermal:block/fluids/crude_oil_flow').bucketColor(0x222118) + event.create('liquid_smoke').displayName(`Liquid Smoke`).textureStill('advancedrocketry:blocks/fluid/oxygen_still').textureFlowing('advancedrocketry:blocks/fluid/oxygen_flow').bucketColor(0xEBEBEB) +}) + +onEvent('item.modification', event => { + let colors = ["red", "yellow", "green", "blue", "magenta", "black"] + colors.forEach(element => { + event.modify('appliedenergistics2:' + element + '_paint_ball', item => { + item.maxStackSize = 1 + }) + }); +}) diff --git a/src/overrides/kubejs/startup_scripts/trading.js b/src/overrides/kubejs/startup_scripts/trading.js new file mode 100644 index 0000000..696138a --- /dev/null +++ b/src/overrides/kubejs/startup_scripts/trading.js @@ -0,0 +1,548 @@ +// priority: 0 + +// Mod shortcuts +let MOD = (domain, id, x) => (x ? `${x}x ` : "") + (id.startsWith('#') ? '#' : "") + domain + ":" + id.replace('#', '') +let AE2 = (id, x) => MOD("appliedenergistics2", id, x) +let TE = (id, x) => MOD("thermal", id, x) +let AP = (id, x) => MOD("architects_palette", id, x) +let LV = (id, x) => MOD("libvulpes", id, x) +let CR = (id, x) => MOD("create", id, x) +let TC = (id, x) => MOD("tconstruct", id, x) +let MC = (id, x) => MOD("minecraft", id, x) +let KJ = (id, x) => MOD("kubejs", id, x) +let EG = (id, x) => MOD("endergetic", id, x) +let FD = (id, x) => MOD("farmersdelight", id, x) +let BOP = (id, x) => MOD("biomesoplenty", id, x) +let PR_C = (id, x) => MOD("projectred-core", id, x) +let RQ = (id, x) => MOD("xreliquary", id, x) +let SD = (id, x) => MOD("storagedrawers", id, x) +let SP = (id, x) => MOD("supplementaries", id, x) +let F = (id, x) => MOD("forge", id, x) +let AC = (id, x) => MOD("aquaculture", id, x) +// + + +onEvent('item.registry', event => { + + global.trades = [] + global.professions = [] + global.transactions = [] + + let profession = (name, c1, c2, transactions) => { + let id = name.toLowerCase().replace("'", "").split(' ').join('_') + global.professions.push(id) + global.transactions[id] = transactions + event.create(`profession_card_${id}`) + .color(1, c1) + .color(2, c2) + .parentModel("kubejs:item/profession_card") + .texture("kubejs:item/profession_card_0") + .displayName(`Profession: ${name}`) + .unstackable() + } + + let trade = (name, c1, c2, transactions, custom) => { + let id = name.toLowerCase().replace("'", "").split(' ').join('_') + global.trades.push(id) + global.transactions[id] = transactions + event.create(`trade_card_${id}`) + .color(1, c1) + .color(2, c2) + .parentModel("kubejs:item/trade_card") + .texture("kubejs:item/trade_card_0") + .displayName((custom ? "" : "Import: ") + name) + .unstackable() + } + + let S = (x) => TE('silver_coin', x) + let G = (x) => TE('gold_coin', x) + + profession("Farming", 0xFFCC29, 0x81B214, [ + { in: FD('carrot_crate'), out: S(1) }, + { in: FD('potato_crate'), out: S(1) }, + { in: FD('beetroot_crate'), out: S(1) }, + { in: FD('cabbage_crate'), out: S(1) }, + { in: FD('tomato_crate'), out: S(1) }, + { in: FD('onion_crate'), out: S(1) }, + { in: FD('rice_bag'), out: S(1) }, + { in: FD('canvas', 32), out: S(1) }, + { in: TE('apple_block'), out: S(1) }, + { in: MC('sweet_berries', 8), out: S(1) }, + { in: MC('cocoa_beans', 16), out: S(1) }, + { in: MC('honey_bottle', 8), out: S(1) }, + { in: MC('honeycomb', 4), out: S(1) }, + { in: MC('dandelion', 16), out: S(1) }, + { in: MC('poppy', 16), out: S(1) }, + { in: MC('oxeye_daisy', 16), out: S(1) }, + { in: MC('bread', 8), out: S(1) }, + { in: MC('brown_mushroom', 8), out: S(1) }, + { in: MC('red_mushroom', 8), out: S(1) }, + { in: BOP('toadstool', 8), out: S(1) }, + { in: MC('kelp', 64), out: S(1) }, + { in: MC('pumpkin', 9), out: S(1) }, + { in: MC('#wool', 16), out: S(1) }, + { in: MC('melon', 3), out: S(1) } + ]) + + profession("Carpentry", 0xD0AF84, 0x966C3B, [ + { in: MC('oak_log', 64), out: S(1) }, + { in: MC('spruce_log', 64), out: S(1) }, + { in: MC('jungle_log', 64), out: S(1) }, + { in: MC('dark_oak_log', 64), out: S(1) }, + { in: BOP('redwood_log', 64), out: S(1) }, + { in: BOP('fir_log', 64), out: S(1) }, + { in: BOP('umbran_log', 64), out: S(1) }, + { in: BOP('dead_log', 64), out: S(1) }, + { in: MC('acacia_log', 64), out: S(2) }, + { in: MC('birch_log', 64), out: S(2) }, + { in: BOP('cherry_log', 64), out: S(2) }, + { in: BOP('willow_log', 64), out: S(3) }, + { in: BOP('palm_log', 64), out: S(3) }, + { in: BOP('mahogany_log', 64), out: S(3) }, + { in: BOP('magic_log', 64), out: S(3) }, + { in: MC('crimson_stem', 64), out: S(4) }, + { in: MC('warped_stem', 64), out: S(4) }, + { in: BOP('hellbark_log', 64), out: S(8) } + ]) + + profession("Mining", 0x1C1124, 0x88FFF7, [ + { in: CR('crushed_iron_ore', 16), out: S(8) }, + { in: CR('crushed_copper_ore', 16), out: S(8) }, + { in: CR('crushed_zinc_ore', 16), out: S(8) }, + { in: CR('crushed_gold_ore', 16), out: S(10) }, + { in: CR('crushed_nickel_ore', 16), out: S(12) }, + { in: CR('crushed_lead_ore', 16), out: S(12) }, + { in: MC('andesite', 64), out: S(1) }, + { in: MC('granite', 64), out: S(1) }, + { in: MC('diorite', 64), out: S(1) }, + { in: MC('sandstone', 64), out: S(1) }, + { in: CR('limestone', 64), out: S(1) }, + { in: CR('gabbro', 64), out: S(1) }, + { in: CR('weathered_limestone', 64), out: S(2) }, + { in: CR('dolomite', 64), out: S(2) }, + { in: TE('cinnabar', 8), out: S(6) }, + { in: TE('sulfur', 16), out: S(6) }, + { in: TE('niter', 16), out: S(6) }, + { in: MC('lapis_lazuli', 16), out: S(6) }, + { in: TE('apatite', 16), out: S(4) }, + { in: TE('sapphire', 1), out: S(10) }, + { in: TE('ruby', 1), out: S(10) }, + { in: MC('diamond', 1), out: S(14) }, + { in: MC('coal', 16), out: S(2) }, + { in: "16x advancedrocketry:moonturf", out: S(2) } + ]) + + profession("Masonry", 0x5E6F64, 0xBA7967, [ + { in: SP('checker_block', 64), out: S(4) }, + { in: AP('basalt_tiles', 64), out: S(6) }, + { in: TC('seared_bricks', 64), out: S(10) }, + { in: AP('sunmetal_block', 64), out: S(8) }, + { in: AP('osseous_bricks', 64), out: S(6) }, + { in: AP('packed_ice_pillar', 64), out: S(8) }, + { in: AP('flint_tiles', 64), out: S(4) }, + { in: AP('abyssaline', 64), out: S(12) }, + { in: AP('gilded_sandstone', 64), out: S(10) }, + { in: MC('bricks', 64), out: S(6) }, + { in: TC('mud_bricks', 64), out: S(6) }, + { in: AP('olivestone_bricks', 64), out: S(4) }, + { in: MC('quartz_bricks', 64), out: S(18) }, + { in: AP('algal_bricks', 64), out: S(6) }, + { in: TC('lavawood', 64), out: S(6) }, + { in: CR('ornate_iron_window', 64), out: S(10) }, + { in: MC('mossy_cobblestone', 64), out: S(6) }, + { in: F('#glazed_terracotta', 64), out: S(6) }, + { in: SP('daub_brace', 64), out: S(8) } + ]) + + profession("Hunting", 0x393E46, 0xCF0000, [ + { in: RQ('slime_pearl'), out: S(6) }, + { in: RQ('catalyzing_gland'), out: S(10) }, + { in: RQ('witch_hat'), out: S(15) }, + { in: RQ('squid_beak'), out: S(3) }, + { in: RQ('withered_rib'), out: S(15) }, + { in: RQ('rib_bone'), out: S(5) }, + { in: RQ('zombie_heart'), out: S(5) }, + { in: RQ('chelicerae'), out: S(5) }, + { in: RQ('bat_wing'), out: S(10) }, + { in: RQ('frozen_core'), out: S(4) }, + { in: RQ('nebulous_heart'), out: S(5) }, + { in: RQ('molten_core'), out: S(5) }, + { in: RQ('eye_of_the_storm'), out: S(12) }, + { in: MC('phantom_membrane'), out: S(8) }, + { in: MC('rabbit_foot'), out: S(8) }, + { in: MC('nether_star'), out: G(1) }, + { in: MC('dragon_breath'), out: S(1) }, + { in: MC('ghast_tear'), out: S(10) }, + { in: MC('dragon_egg'), out: G(2) }, + { in: RQ('guardian_spike'), out: S(6) } + ]) + + profession("Cooking", 0xD8B384, 0xF7DAD9, [ + { in: CR('bar_of_chocolate', 16), out: S(4) }, + { in: CR('honeyed_apple', 16), out: S(4) }, + { in: CR('builders_tea', 16), out: S(4) }, + { in: FD('hot_cocoa', 16), out: S(5) }, + { in: FD('tomato_sauce', 8), out: S(3) }, + { in: FD('apple_pie_slice', 16), out: S(3) }, + { in: FD('chocolate_pie_slice', 16), out: S(4) }, + { in: FD('sweet_berry_cheesecake_slice', 17), out: S(3) }, + { in: FD('cake_slice', 14), out: S(3) }, + { in: FD('sweet_berry_cookie', 64), out: S(2) }, + { in: FD('honey_cookie', 64), out: S(2) }, + { in: MC('cookie', 64), out: S(2) }, + { in: FD('melon_popsicle', 16), out: S(7) }, + { in: FD('fruit_salad', 16), out: S(7) }, + { in: FD('mixed_salad', 16), out: S(9) }, + { in: FD('nether_salad', 16), out: S(5) }, + { in: FD('barbecue_stick', 16), out: S(6) }, + { in: FD('egg_sandwich', 16), out: S(5) }, + { in: FD('chicken_sandwich', 16), out: S(9) }, + { in: FD('bacon_sandwich', 16), out: S(9) }, + { in: FD('hamburger', 16), out: S(11) }, + { in: FD('mutton_wrap', 16), out: S(10) }, + { in: FD('dumplings', 16), out: S(7) }, + { in: FD('stuffed_potato', 16), out: S(6) }, + { in: FD('cabbage_rolls', 16), out: S(5) }, + { in: FD('beef_stew', 16), out: S(8) }, + { in: FD('chicken_soup', 16), out: S(9) }, + { in: MC('rabbit_stew', 16), out: S(10) }, + { in: MC('beetroot_soup', 16), out: S(7) }, + { in: MC('pumpkin_pie', 16), out: S(6) }, + { in: FD('vegetable_soup', 16), out: S(9) }, + { in: SP('pancake', 32), out: S(4) }, + { in: FD('fish_stew', 16), out: S(9) }, + { in: FD('fried_rice', 16), out: S(8) }, + { in: FD('pumpkin_soup', 16), out: S(12) }, + { in: FD('baked_cod_stew', 16), out: S(9) }, + { in: FD('noodle_soup', 16), out: S(9) }, + { in: FD('pasta_with_meatballs', 16), out: S(10) }, + { in: FD('pasta_with_mutton_chop', 16), out: S(10) }, + { in: FD('roasted_mutton_chops', 16), out: S(9) }, + { in: FD('vegetable_noodles', 16), out: S(10) }, + { in: FD('steak_and_potatoes', 16), out: S(9) }, + { in: FD('ratatouille', 16), out: S(9) }, + { in: FD('squid_ink_pasta', 16), out: S(11) }, + { in: FD('roast_chicken', 16), out: S(7) }, + { in: FD('stuffed_pumpkin', 16), out: S(9) }, + { in: FD('honey_glazed_ham', 16), out: S(7) }, + { in: FD('shepherds_pie', 16), out: S(7) }, + { in: AC('sushi', 16), out: S(3) }, + { in: CR('sweet_roll', 16), out: S(4) } + ]) + + let quota = 8 + profession("Fishing", 0x9DDFD3, 0xDBF6E9, [ + { in: MC('cod', quota), out: S(1) }, + { in: MC('salmon', quota), out: S(1) }, + { in: MC('pufferfish', quota), out: S(1) }, + { in: MC('tropical_fish', quota), out: S(1) }, + { in: AC('atlantic_herring', quota), out: S(3) }, + { in: AC('synodontis', quota), out: S(3) }, + { in: AC('bluegill', quota), out: S(3) }, + { in: AC('perch', quota), out: S(3) }, + { in: AC('tambaqui', quota), out: S(3) }, + { in: AC('minnow', quota), out: S(4) }, + { in: AC('blackfish', quota), out: S(4) }, + { in: AC('pink_salmon', quota), out: S(5) }, + { in: AC('brown_trout', quota), out: S(5) }, + { in: AC('carp', quota), out: S(5) }, + { in: AC('pollock', quota), out: S(5) }, + { in: AC('smallmouth_bass', quota), out: S(5) }, + { in: AC('boulti', quota), out: S(5) }, + { in: AC('red_shrooma', quota), out: S(5) }, + { in: AC('brown_shrooma', quota), out: S(5) }, + { in: AC('gar', quota), out: S(7) }, + { in: AC('rainbow_trout', quota), out: S(7) }, + { in: AC('bayad', quota), out: S(7) }, + { in: AC('piranha', quota), out: S(7) }, + { in: AC('jellyfish', quota), out: S(7) }, + { in: AC('red_grouper', quota), out: S(7) }, + { in: AC('atlantic_cod', quota), out: S(7) }, + { in: AC('muskellunge', quota), out: S(8) }, + { in: AC('pacific_halibut', quota), out: S(8) }, + { in: AC('atlantic_halibut', quota), out: S(8) }, + { in: AC('catfish', quota), out: S(10) }, + { in: AC('capitaine', quota), out: S(10) }, + { in: AC('tuna', quota), out: S(10) }, + { in: AC('arapaima', quota), out: S(10) }, + { in: AC('arrau_turtle', quota), out: S(10) }, + { in: AC('box_turtle', quota), out: S(10) }, + { in: AC('starshell_turtle', quota), out: S(10) }, + { in: AC('goldfish', quota), out: S(10) }, + { in: AC('neptunium_ingot', 5), out: S(16) } + ]) + + profession("Smithing", 0xFFC93C, 0xFF7A00, [ + { in: MC('iron_boots'), out: S(2) }, + { in: MC('iron_leggings'), out: S(4) }, + { in: MC('iron_chestplate'), out: S(4) }, + { in: TC('blank_cast'), out: S(1) }, + { in: TC('ingot_cast'), out: S(2) }, + { in: TC('pickaxe_head_cast'), out: S(3) }, + { in: TC('gem_cast'), out: S(4) }, + { in: MC('iron_helmet'), out: S(3) }, + { in: MC('golden_boots'), out: S(4) }, + { in: MC('golden_leggings'), out: S(7) }, + { in: MC('golden_chestplate'), out: S(8) }, + { in: MC('golden_helmet'), out: S(5) }, + { in: MC('golden_apple'), out: S(10) }, + { in: MC('arrow', 32), out: S(3) }, + { in: MC('iron_sword'), out: S(1) }, + { in: TC('#modifiable/two_handed'), out: S(1) }, + { in: MC('golden_sword'), out: S(2) } + ]) + + trade("Exchange Currencies", 0xEBA83A, 0xF4F4F4, [ + { in: G(1), out: S(64) }, + { in: S(64), out: G(1) } + ], true) + + let DATAGEN_QUESTS = false + + let data = [] + let group_max_width = [] + let current_group_max_width = 0 + let simulate = DATAGEN_QUESTS + let entry_cost = 10 + + let row = 0 + let col = 0 + let group = 0 + + let next_group = () => { + group++ + if (simulate) + group_max_width.push(current_group_max_width) + current_group_max_width = 0 + col = 0 + row++ + } + + let simple = (name, item, coin, unit, c1, c2) => { + if (!simulate) + trade(name, c1, c2, [{ in: unit(coin), out: item }]) + if (!DATAGEN_QUESTS) + return + + current_group_max_width = Math.min(8, current_group_max_width + 1) + if (simulate) + return + + let silver = unit == S + let split = item.split('x') + let amount = split[0] + let id = split.splice(1).join('x').replace(' ', '') + let card_id = KJ("trade_card_" + name.toLowerCase().replace("'", "").split(' ').join('_')) + + if (col > 7) { + col = 0 + row++ + } + + let x = col - (group_max_width[group] - 1) / 2 + let y = row + group / 2 + col++ + + let template = ` + { + title: "${amount}x ${name}" + icon: "${id}" + disable_toast: true + x: ${x}d + y: ${y}d + shape: "hexagon" + subtitle: "${coin} ${silver ? "Silver" : "Gold"}" + tasks: [{ + type: "item" + item: "thermal:silver_coin" + icon: { id: "thermal:silver_coin", Count: ${entry_cost}b } + count: ${entry_cost}L + }] + rewards: [ + { + type: "item" + auto: "enabled" + item: "${card_id}" + } + { + type: "custom" + title: "Repeatable" + icon: "thermal:machine_cycle_augment" + tags: ["reset"] + auto: "no_toast" + } + ] + }` + data.push(template) + } + + while (true) { + group = 0 + row = 0 + + entry_cost = 10 + simple("Dirt", MC('dirt', 16), 2, S, 0x513825, 0xA87954) + simple("Sand", MC('sand', 16), 4, S, 0xC2B289, 0xD8D6B9) + simple("Gravel", MC('gravel', 16), 2, S, 0x686160, 0xA19393) + simple("Clay", MC('clay', 16), 6, S, 0x878B95, 0x8E939D) + simple("Ice", MC('ice', 16), 16, S, 0x7E99CF, 0xABB8D0) + simple("Blackstone", MC('blackstone', 16), 12, S, 0x140E0F, 0x2D2831) + simple("Grout", TC('grout', 16), 12, S, 0x70737F, 0xAEB0B5) + simple("Cobblestone", MC('cobblestone', 16), 1, S, 0x585858, 0x646363) + simple("Granite", MC('granite', 16), 3, S, 0x563A2F, 0x9A6C5B) + simple("Diorite", MC('diorite', 16), 3, S, 0x7F7F7F, 0xD4D4D4) + simple("Andesite", MC('andesite', 16), 3, S, 0x5F5F5F, 0x8E8E8E) + simple("Limestone", CR('limestone', 16), 3, S, 0xA7A89E, 0xC0C2BA) + simple("Weathered Limestone", CR('weathered_limestone', 16), 3, S, 0x5E6055, 0x797E74) + simple("Dolomite", CR('dolomite', 16), 3, S, 0xC2C2C2, 0xDADADA) + simple("Gabbro", CR('gabbro', 16), 3, S, 0x6B5D4F, 0x7D6B5A) + simple("Scoria", CR('scoria', 16), 3, S, 0x2A130C, 0x553427) + simple("Dark Scoria", CR('dark_scoria', 16), 3, S, 0x0D0706, 0x23201A) + simple("Obsidian", MC('obsidian', 1), 8, S, 0x05030A, 0x36234C) + + next_group() + entry_cost = 10 + simple("Dead Log", BOP('dead_log', 16), 2, S, 0x3D362D, 0x7A756D) + simple("Oak Log", MC('oak_log', 16), 4, S, 0x735932, 0xA88756) + simple("Birch Log", MC('birch_log', 16), 4, S, 0xD6D6D2, 0xC4B079) + simple("Spruce Log", MC('spruce_log', 16), 4, S, 0x523E21, 0x6F522F) + simple("Jungle Log", MC('jungle_log', 16), 4, S, 0x5A501D, 0x9B6E4C) + simple("Acacia Log", MC('acacia_log', 16), 4, S, 0x4F4B42, 0x9E552E) + simple("Dark Oak Log", MC('dark_oak_log', 16), 4, S, 0x2C1B0D, 0x422B15) + simple("Crimson Stem", MC('crimson_stem', 16), 8, S, 0x442332, 0x7A3852) + simple("Warped Stem", MC('warped_stem', 16), 8, S, 0x3E1E2D, 0x347776) + + next_group() + entry_cost = 10 + simple("Iron Ingot", MC('iron_ingot', 8), 16, S, 0xA6A6A6, 0xD5D5D5) + simple("Zinc Ingot", CR('zinc_ingot', 8), 16, S, 0x616A60, 0xD0D2C5) + simple("Copper Ingot", CR('copper_ingot', 8), 16, S, 0xDD7E5D, 0xFCEFBA) + simple("Nickel Ingot", TE('nickel_ingot', 8), 32, S, 0x977756, 0xE4D196) + simple("Lead Ingot", TE('lead_ingot', 8), 32, S, 0x232456, 0x7C95A4) + simple("Gold Ingot", MC('gold_ingot', 8), 48, S, 0xD99413, 0xFAF25E) + + simple("Andesite Alloy", CR('andesite_alloy', 16), 8, S, 0x505050, 0x878787) + simple("Silica Steel", "8x moreminecarts:silica_steel", 16, S, 0x3E4644, 0xB8DAC8) + simple("Brass Ingot", CR('brass_ingot', 8), 48, S, 0x6F3C2D, 0xFCF085) + simple("Invar Ingot", TE('invar_ingot', 4), 64, S, 0x406D6C, 0xC3CAC1) + + entry_cost = 10 + simple("Coal", MC('coal', 16), 4, S, 0x1C1C1E, 0x383D45) + simple("Flint", MC('flint', 16), 4, S, 0x3C3B3B, 0xA6A6A6) + simple("Cinnabar", TE('cinnabar', 4), 16, S, 0xFC7781, 0xFCCED0) + simple("Redstone Dust", MC('redstone', 16), 8, S, 0xA80F01, 0xFC7781) + simple("Diamond", MC('diamond', 1), 1, G, 0x20C3B3, 0xD2FCF3) + simple("Lapis Lazuli", MC('lapis_lazuli', 8), 32, S, 0x335DC1, 0x7395E7) + simple("Emerald", MC('emerald', 1), 1, G, 0x00A82B, 0xADFACB) + simple("Sulfur", TE('sulfur', 4), 8, S, 0xC7A94A, 0xEEF071) + simple("Apatite", TE('apatite', 4), 8, S, 0x27A9BB, 0x2CC7C9) + simple("Niter", TE('niter', 4), 8, S, 0x735A65, 0xB8AFAF) + simple("Nether Quartz", MC('quartz', 8), 24, S, 0xB19E8F, 0xE7E2DB) + simple("Certus Quartz", AE2('certus_quartz_crystal', 8), 24, S, 0x91C5FC, 0xA7CBCF) + simple("Fluix Quartz", AE2('fluix_crystal', 8), 32, S, 0x8F5CCB, 0xFC7ED4) + simple("Cured Rubber", TE('cured_rubber', 6), 16, S, 0x3D363C, 0x594F55) + + next_group() + entry_cost = 10 + simple("Scaffolding", MC('scaffolding', 16), 2, S, 0x7F5F41, 0xDDC683) + simple("Wool", MC('white_wool', 1), 8, S, 0xBEC4C5, 0xE4E4E4) + simple("Sponge", MC('sponge', 1), 16, S, 0x8F8234, 0xCDCF4A) + simple("Cobweb", MC('cobweb', 1), 16, S, 0xC2CCCF, 0xFCFCFC) + + row += 4 + + next_group() + entry_cost = 10 + simple("Rice", FD('rice_bag', 1), 4, S, 0x9F7653, 0xCEC6BC) + simple("Straw", FD('straw', 32), 8, S, 0x623A17, 0x966537) + simple("Glowshroom", BOP('glowshroom', 4), 9, S, 0x2C65C9, 0x83A7B7) + simple("Bramble", BOP('bramble', 4), 9, S, 0x8C3122, 0xECCDBC) + simple("Barley", BOP('barley', 4), 4, S, 0xB78B44, 0xD8BC64) + simple("Watergrass", BOP('watergrass', 4), 4, S, 0x43763D, 0x538B51) + simple("Mangrove Root", BOP('mangrove_root', 4), 9, S, 0x795740, 0xB8AB88) + simple("Reed", BOP('reed', 4), 5, S, 0x7B4E35, 0xB2855C) + simple("Clover Petal", BOP('huge_clover_petal', 4), 10, S, 0x5B8A4F, 0x6FA960) + simple("Spanish Moss", BOP('spanish_moss', 4), 7, S, 0x395B2A, 0xA2C790) + simple("Willow Vine", BOP('willow_vine', 4), 7, S, 0x265F0D, 0x317B10) + simple("Cattail", BOP('cattail', 4), 4, S, 0x186B2B, 0x845738) + simple("Sugar Cane", MC('sugar_cane', 4), 3, S, 0x688546, 0xC5FC85) + simple("Kelp", MC('kelp', 8), 3, S, 0x5B8131, 0x58A92F) + simple("Bamboo", MC('bamboo', 8), 5, S, 0x4F7416, 0x88AC5F) + simple("Sweet Berries", MC('sweet_berries', 8), 11, S, 0x27613F, 0xA30700) + simple("Vines", MC('vine', 4), 7, S, 0x183D08, 0x317B10) + simple("Tree Fertilizer", CR('tree_fertilizer', 1), 8, S, 0xCF8469, 0x71933A) + + next_group() + entry_cost = 10 + simple("Daub", SP('daub', 16), 5, S, 0xBFBAAA, 0xCBC8B6) + simple("Clear Glass", TC('clear_glass', 16), 4, S, 0xA9C3CF, 0xE8E8E8) + simple("Factory Block", "16x chisel:factory/dots", 2, S, 0x211C10, 0x604B43) + simple("Laboratory Block", "16x chisel:laboratory/wallpanel", 4, S, 0x71706E, 0x9D9A98) + simple("Copper Shingles", CR('copper_shingles', 16), 3, S, 0xB5654B, 0xE4BB79) + simple("Algal Bricks", AP('algal_bricks', 32), 6, S, 0x292926, 0x3D4D48) + simple("Olivestone Bricks", AP('olivestone_bricks', 32), 8, S, 0x3A3C2E, 0x57553E) + simple("Architect's Limestone", AP('limestone', 32), 8, S, 0x756958, 0x7F7360) + simple("Sunmetal", AP('sunmetal_block', 32), 8, S, 0x603E38, 0xB48764) + simple("Plating Block", AP('plating_block', 32), 8, S, 0x222225, 0x39383C) + simple("Twisted Planks", AP('twisted_planks', 32), 8, S, 0x5E5259, 0x72616B) + simple("Osseous Bricks", AP('osseous_bricks', 32), 8, S, 0x9D976F, 0xD3D0BF) + simple("Seared Stone", TC('seared_stone', 16), 32, S, 0x393734, 0x59534F) + simple("Scorched Stone", TC('scorched_stone', 16), 32, S, 0x382C25, 0x4C3F37) + + simple("Lantern", MC('lantern', 1), 1, S, 0x484F64, 0xF6C765) + simple("Copper Lantern", SP('copper_lantern', 1), 1, S, 0xB36535, 0xF3B154) + simple("Brass Lantern", SP('brass_lantern', 1), 1, S, 0xA47C37, 0xFAEACF) + simple("Crimson Lantern", SP('crimson_lantern', 1), 1, S, 0x9C0E2C, 0xE7EB56) + + next_group() + entry_cost = 10 + simple("Slime Ball", MC('slime_ball', 4), 24, S, 0x4F7E48, 0x8AD480) + simple("String", MC('string', 4), 5, S, 0x2E4446, 0xD8D8D8) + simple("Feather", MC('feather', 4), 6, S, 0xD0D0D0, 0xFCFCFC) + simple("Gunpowder", MC('gunpowder', 4), 7, S, 0x535353, 0x717171) + simple("Leather", MC('leather', 4), 8, S, 0x873A25, 0xC45B34) + simple("Ink Sac", MC('ink_sac', 4), 8, S, 0x493F49, 0x786470) + simple("Experience", MC('experience_bottle', 1), 8, S, 0x689AC7, 0xFFF2FF) + simple("Shulker Shell", MC('shulker_shell', 1), 2, G, 0x6B476A, 0x956895) + simple("Spider Eye", MC('spider_eye', 4), 10, S, 0x64062A, 0xC25E6A) + simple("Ender Pearl", MC('ender_pearl', 1), 48, S, 0x0B4C41, 0x2BCBAF) + simple("Rotten Flesh", MC('rotten_flesh', 4), 3, S, 0xB24320, 0x695C18) + simple("Blaze Rod", MC('blaze_rod', 1), 20, S, 0xAC3B00, 0xD5AC26) + simple("Bone", MC('bone', 4), 8, S, 0xC9C4A3, 0xC9C4A3) + simple("Prismarine Shard", MC('prismarine_shard', 4), 16, S, 0x2F6355, 0x8FC0AA) + simple("Prismarine Crystals", MC('prismarine_crystals', 4), 24, S, 0x71A296, 0xDCE6D9) + + entry_cost = 10 + simple("Witch Hat", RQ('witch_hat', 1), 1, G, 0x424242, 0x568125) + simple("Zombie heart", RQ('zombie_heart', 1), 32, S, 0x532B38, 0x8D584A) + simple("Squid Beak", RQ('squid_beak', 1), 32, S, 0x00613B, 0x5BCDA1) + simple("Rib Bone", RQ('rib_bone', 1), 32, S, 0xDFDDCE, 0xFAF9E9) + simple("Catalyzing Gland", RQ('catalyzing_gland', 1), 48, S, 0x268E23, 0x63CA52) + simple("Chelicerae", RQ('chelicerae', 1), 32, S, 0x251721, 0x4D0C3B) + simple("Slime Pearl", RQ('slime_pearl', 1), 48, S, 0x1B9D33, 0x84F58E) + simple("Bat Wing", RQ('bat_wing', 1), 2, G, 0x464646, 0x6D6D6D) + simple("Withered Rib", RQ('withered_rib', 1), 2, G, 0x2A2E2E, 0x434949) + simple("Molten Core", RQ('molten_core', 1), 48, S, 0xED7102, 0xFAFC58) + simple("Eye of the Storm", RQ('eye_of_the_storm', 1), 2, G, 0xFCD607, 0x96FC52) + simple("Frozen Core", RQ('frozen_core', 1), 48, S, 0x008DC2, 0x7571FB) + simple("Nebulous Heart", RQ('nebulous_heart', 1), 1, G, 0x6200A0, 0xE500C3) + simple("Guardian Spike", RQ('guardian_spike', 1), 1, G, 0x7F4215, 0xE29964) + simple("Phantom Membrane", MC('phantom_membrane', 1), 48, S, 0x6E506B, 0xC1B79F) + simple("Blaze Cake", CR('blaze_cake', 1), 16, S, 0x834141, 0xFCE083) + next_group() + + if (!DATAGEN_QUESTS) + break + if (!simulate) + break + simulate = false + } + + + if (DATAGEN_QUESTS) { + console.log("QUEST PASTER:") + console.log(data.join("")) + console.log(":QUEST PASTER END") + } + +}) diff --git a/src/overrides/openloader/.cache b/src/overrides/openloader/.cache new file mode 100644 index 0000000..3f7ea39 --- /dev/null +++ b/src/overrides/openloader/.cache @@ -0,0 +1 @@ +{"cachedResourcePacks":[]} \ No newline at end of file diff --git a/src/overrides/openloader/data/generated_datapack.zip b/src/overrides/openloader/data/generated_datapack.zip new file mode 100644 index 0000000000000000000000000000000000000000..8f46b874d59bd68cefbf5c511656b20d22ea49b0 GIT binary patch literal 877 zcmWIWW@h1H00D_|fnW>2>UYsVHVAVAaY15owq9;>ZfZ$lHJ1VqD1k(jtP~(TxJZ0j zeo<~>2~fgJ2doY(lagATT$EW*l9`_elu>dnEiTE=RY=LqP0cF?iGfwta@7W)xB+M_ z9IygeDTyVC`nZ({z?39|jnB=`&%>iy3X5vEgTVSkfGRi`rq6W_7T=n9X%Ud;&d9)^ zj8`AXQoXF={Jh-$vwTek0xjo1i7ZL?Tj5eEn(UD)eu*P?b8J9TMS1kkK%qWs>)&VJ zSa&4{HnL9YQTb%S5%=gHW1Ud%#swbJ=0uzDxfrdJZTR;3%apnOkySVRKb=irZaq9r zL}!g}RA$_~31`}J@A>d74=TT;b)n@IpHJ;Qg{U=Ke^|9I72mvZYIJ)d`xlp0&JXl< z%!oRw+xT05XORB&iPFArdd2ImWc*+V@MdHZVZa^ZKz||ur1(eIh@^@E6ipBSij5W^ zhDI8yT~IY(3ZxJMK&<6J4Az1YiMVxxq7ec>x~~E;x^Co1Wn_|Pz!j}3P;(T3G%qls zahn5=WG)7fVg?3A1__3*4yU8*c3fwK(bX~AjxXABoiV_hl?|kZ6$sOT#(n@|1_l5# CX5SzH literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/fueltank.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/fueltank.json new file mode 100644 index 0000000..7bdb960 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/fueltank.json @@ -0,0 +1,6 @@ + +{ + "variants": { + "": { "model": "advancedrocketry:block/fueltank" } + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/launchpad.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/launchpad.json new file mode 100644 index 0000000..1c18ee4 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/launchpad.json @@ -0,0 +1,6 @@ + +{ + "variants": { + "": { "model": "advancedrocketry:block/launchpad_all" } + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/moonturf.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/moonturf.json new file mode 100644 index 0000000..75a26c0 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/moonturf.json @@ -0,0 +1,31 @@ +{ + "variants": { + "": [ + { + "model": "advancedrocketry:block/moon_turf" + }, + { + "model": "advancedrocketry:block/moon_turf", + "y": 90 + }, + { + "model": "advancedrocketry:block/moon_turf_1" + }, + { + "model": "advancedrocketry:block/moon_turf_2" + }, + { + "model": "advancedrocketry:block/moon_turf_2", + "y": 90 + }, + { + "model": "advancedrocketry:block/moon_turf_2", + "y": 180 + }, + { + "model": "advancedrocketry:block/moon_turf_2", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/rocketmotor.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/rocketmotor.json new file mode 100644 index 0000000..2ec23b1 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/blockstates/rocketmotor.json @@ -0,0 +1,6 @@ + +{ + "variants": { + "": { "model": "advancedrocketry:block/rocketmotor" } + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/lang/en_us.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/lang/en_us.json new file mode 100644 index 0000000..3fd02fb --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/lang/en_us.json @@ -0,0 +1,11 @@ +{ + "block.advancedrocketry.seat": "Rocket Seat", + "block.advancedrocketry.fuelingstation": "Rocket Fueling Station", + "block.advancedrocketry.rocketmotor": "Rocket Thruster", + "block.advancedrocketry.guidancecomputer": "Rocket Guidance Computer", + "block.advancedrocketry.fueltank": "Rocket Fuel Tank", + "block.advancedrocketry.launchpad": "Rocketry Launch Pad", + "block.advancedrocketry.structuretower": "Rocketry Launch Tower", + "msg.entity.rocket.seldst": "Crash game", + "msg.modules": "" +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/fuelingstation.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/fuelingstation.json new file mode 100644 index 0000000..df1f07d --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/fuelingstation.json @@ -0,0 +1,8 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "advancedrocketry:blocks/machine_end", + "front": "advancedrocketry:blocks/fuelloader", + "side": "advancedrocketry:blocks/machine" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/fueltank.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/fueltank.json new file mode 100644 index 0000000..b9144fc --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/fueltank.json @@ -0,0 +1,36 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "1": "advancedrocketry:blocks/fueltank", + "2": "advancedrocketry:blocks/fueltank_top", + "3": "advancedrocketry:blocks/tank_inner", + "particle": "advancedrocketry:blocks/fueltank_top" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 8, -8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [0.05, 0, 0.05], + "to": [15.95, 16, 15.95], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 8, -8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/guidancecomputer.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/guidancecomputer.json new file mode 100644 index 0000000..e1fe735 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/guidancecomputer.json @@ -0,0 +1,8 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "advancedrocketry:blocks/machine_end", + "front": "advancedrocketry:blocks/guidancecomputer", + "side": "advancedrocketry:blocks/machine" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/launchpad_all.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/launchpad_all.json new file mode 100644 index 0000000..64ae421 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/launchpad_all.json @@ -0,0 +1,8 @@ +{ + "parent": "block/cube_bottom_top", + "textures": { + "top": "advancedrocketry:blocks/rocketpad_top", + "side": "advancedrocketry:blocks/rocketpad_side", + "bottom": "architects_palette:block/heavy_stone_bricks_bottom" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/moon_turf_1.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/moon_turf_1.json new file mode 100644 index 0000000..64347c6 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/moon_turf_1.json @@ -0,0 +1,6 @@ +{ + "parent": "advancedrocketry:block/moon_turf", + "textures": { + "all": "advancedrocketry:blocks/moon_turf_1" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/moon_turf_2.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/moon_turf_2.json new file mode 100644 index 0000000..2885912 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/moon_turf_2.json @@ -0,0 +1,6 @@ +{ + "parent": "advancedrocketry:block/moon_turf", + "textures": { + "all": "advancedrocketry:blocks/moon_turf_2" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/oxygencharger.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/oxygencharger.json new file mode 100644 index 0000000..87bb2e2 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/oxygencharger.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/seat", + "textures": { + "1": "advancedrocketry:blocks/gaschargertop", + "2": "advancedrocketry:blocks/panelside" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/oxygenvent.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/oxygenvent.json new file mode 100644 index 0000000..7571ecb --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/oxygenvent.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "side": "advancedrocketry:blocks/machinevent", + "end": "advancedrocketry:blocks/machinevent_end" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/rocketbuilder.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/rocketbuilder.json new file mode 100644 index 0000000..7232f94 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/rocketbuilder.json @@ -0,0 +1,8 @@ +{ + "parent": "block/orientable", + "textures": { + "top": "advancedrocketry:blocks/machine_end", + "front": "advancedrocketry:blocks/assembler", + "side": "advancedrocketry:blocks/machine" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/rocketmotor.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/rocketmotor.json new file mode 100644 index 0000000..8510971 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/rocketmotor.json @@ -0,0 +1,106 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "textures": { + "3": "advancedrocketry:blocks/fueltank", + "4": "advancedrocketry:blocks/tank_inner", + "bottom": "advancedrocketry:blocks/thruster_top", + "top": "advancedrocketry:blocks/thruster_top", + "particle": "advancedrocketry:blocks/thruster", + "side": "advancedrocketry:blocks/thruster" + }, + "elements": [ + { + "from": [1, 13, 1], + "to": [15, 16, 15], + "faces": { + "north": {"uv": [1, 0, 15, 3], "texture": "#side"}, + "east": {"uv": [1, 0, 15, 3], "texture": "#side"}, + "south": {"uv": [1, 0, 15, 3], "texture": "#side"}, + "west": {"uv": [1, 0, 15, 3], "texture": "#side"}, + "up": {"uv": [1, 1, 15, 15], "texture": "#top", "cullface": "up"}, + "down": {"uv": [1, 1, 15, 15], "texture": "#top"} + } + }, + { + "from": [3, 10, 3], + "to": [13, 13, 13], + "faces": { + "north": {"uv": [3, 3, 13, 6], "texture": "#side"}, + "east": {"uv": [3, 3, 13, 6], "texture": "#side"}, + "south": {"uv": [3, 3, 13, 6], "texture": "#side"}, + "west": {"uv": [3, 3, 13, 6], "texture": "#side"}, + "up": {"uv": [3, 3, 13, 13], "texture": "#top"} + } + }, + { + "from": [2, 6, 2], + "to": [14, 10, 14], + "faces": { + "north": {"uv": [2, 6, 14, 10], "texture": "#side"}, + "east": {"uv": [2, 6, 14, 10], "texture": "#side"}, + "south": {"uv": [2, 6, 14, 10], "texture": "#side"}, + "west": {"uv": [2, 6, 14, 10], "texture": "#side"}, + "up": {"uv": [2, 7, 3, 8], "texture": "#side"} + } + }, + { + "from": [1, 0, 1], + "to": [13, 6, 3], + "faces": { + "north": {"uv": [3, 10, 15, 16], "texture": "#side"}, + "south": {"uv": [1, 8, 13, 14], "texture": "#top"}, + "west": {"uv": [1, 10, 3, 16], "texture": "#side"}, + "up": {"uv": [1, 1, 13, 3], "texture": "#top"}, + "down": {"uv": [1, 13, 13, 15], "texture": "#bottom"} + } + }, + { + "from": [13, 0, 1], + "to": [15, 6, 13], + "faces": { + "north": {"uv": [1, 10, 3, 16], "texture": "#side"}, + "east": {"uv": [3, 10, 15, 16], "texture": "#side"}, + "west": {"uv": [1, 8, 13, 14], "texture": "#top"}, + "up": {"uv": [13, 1, 15, 13], "texture": "#top"}, + "down": {"uv": [13, 3, 15, 15], "texture": "#bottom"} + } + }, + { + "from": [3, 0, 13], + "to": [15, 6, 15], + "faces": { + "north": {"uv": [1, 8, 13, 14], "texture": "#top"}, + "east": {"uv": [1, 10, 3, 16], "texture": "#side"}, + "south": {"uv": [3, 10, 15, 16], "texture": "#side"}, + "up": {"uv": [3, 13, 15, 15], "texture": "#top"}, + "down": {"uv": [3, 1, 15, 3], "texture": "#bottom"} + } + }, + { + "from": [1, 0, 3], + "to": [3, 6, 15], + "faces": { + "east": {"uv": [1, 8, 13, 14], "texture": "#bottom"}, + "south": {"uv": [1, 10, 3, 16], "texture": "#side"}, + "west": {"uv": [3, 10, 15, 16], "texture": "#side"}, + "up": {"uv": [1, 3, 3, 15], "texture": "#top"}, + "down": {"uv": [1, 1, 3, 13], "texture": "#bottom"} + } + }, + { + "from": [3, 2, 3], + "to": [13, 2, 13], + "faces": { + "down": {"uv": [3, 3, 13, 13], "texture": "#3"} + } + }, + { + "from": [3, 2.25, 3], + "to": [13, 2.25, 13], + "faces": { + "down": {"uv": [3, 3, 13, 13], "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/seat.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/seat.json new file mode 100644 index 0000000..c674fb5 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/seat.json @@ -0,0 +1,7 @@ +{ + "parent": "create:block/seat", + "textures": { + "1": "advancedrocketry:blocks/seat_top", + "2": "advancedrocketry:blocks/seat" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/structuretower.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/structuretower.json new file mode 100644 index 0000000..682eb65 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/block/structuretower.json @@ -0,0 +1,79 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "advancedrocketry:blocks/scaffold", + "1": "advancedrocketry:blocks/rocketpad_top", + "particle": "advancedrocketry:blocks/scaffold" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [4, 16, 4], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + }, + { + "from": [0.05, 12.95, 0.05], + "to": [15.95, 15.95, 15.95], + "faces": { + "north": {"uv": [1, 0, 15, 3], "texture": "#0"}, + "east": {"uv": [1, 0, 15, 3], "texture": "#0"}, + "south": {"uv": [1, 0, 15, 3], "texture": "#0"}, + "west": {"uv": [1, 0, 15, 3], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "from": [0, 14.95, 0], + "to": [16, 15.95, 16], + "faces": { + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "from": [12, 0, 0], + "to": [16, 16, 4], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + }, + { + "from": [0, 0, 12], + "to": [4, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 8, -8]}, + "faces": { + "north": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "east": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "west": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + }, + { + "from": [12, 0, 12], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "south": {"uv": [12, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 4, 16], "texture": "#0"}, + "up": {"uv": [6, 6, 10, 10], "texture": "#1"}, + "down": {"uv": [6, 6, 10, 10], "texture": "#1"} + } + } + ] +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/fueltank.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/fueltank.json new file mode 100644 index 0000000..5eecda6 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/fueltank.json @@ -0,0 +1,3 @@ +{ + "parent": "advancedrocketry:block/fueltank" +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/launchpad.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/launchpad.json new file mode 100644 index 0000000..61c7b5d --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/launchpad.json @@ -0,0 +1,3 @@ +{ + "parent": "advancedrocketry:block/launchpad_all" +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/rocketmotor.json b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/rocketmotor.json new file mode 100644 index 0000000..bed0e7e --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/models/item/rocketmotor.json @@ -0,0 +1,3 @@ +{ + "parent": "advancedrocketry:block/rocketmotor" +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/armor/spacesuit_layer1.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/armor/spacesuit_layer1.png new file mode 100644 index 0000000000000000000000000000000000000000..21758d1069aa41dbc317a5fb6661c214bf3d3c92 GIT binary patch literal 958 zcmV;v13~V+1u>b ze7Cq~h6K+^&VdUj$#qqG4fDaC@403eCgA$|ntb0!Hk*a-`;by1nM}g>eGm~&Pfy3% zpPijCOflr74e4|mD=RC8GsY0dF><*a+U+)G9sGAU+O`eOIT-slpr4u3pd+o6f>H``978Du&N(d0n*R*Q<#I?Q5{Tm%LTfBfiGHsnHQqDP@R`yyG|sg21fTYBh6k&9APmkWQz~q;MPuQ52zEE*o2=l+h7e zTU)5t>)6=XKt7*0wo^9-OQq5X&tx*@`}X$smqqJ14jjk%rHX~979Tp;r=kM_~L+tg#~z?2g|Y$hT;Fu0o`sFK@gzd?|&JE z^9WX})yTGOBUXmLwSpVR4-O94EIWV?OI6#p&B3&OpTuXr1aw5R+3ZLLXs$7d&uj+h zL%hDe!gXEzDW7=<*tU(;)zy*u)?8x}pZN^v_xmIDuert~KJz`G-|s^yWo~C5A0O!T zdSHwpkw~D^>A-tXD-qo0JwhSSX)~&uQfslEH5vcJG*`b?)7@+No#$5edMC_ gjcNn{1`ISV`@iy0WWg+Z8+Vb&Z8prE{`i(^QJ^V@@ryg=Te1>gO1`Po^3Oc0o} Yno&W4f$_XxvFVdQ&MBb@0Cct;1poj5 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/armor/spacesuit_layer2.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/armor/spacesuit_layer2.png new file mode 100644 index 0000000000000000000000000000000000000000..3e376f48ab6809ee5687405a6a6bbc1cee352b5b GIT binary patch literal 1294 zcmcJO>r;{m6vkgf7u0m}l5G}>$~IxOwl!IUNW6FtV+>KjONeF{)6GqHGc{9dwZ;pU zt!tT%Bf284xm~=QqNsoZq6jEn7Lt;*a+%slvsiZjhdndT`OTT`zBGKgJBm@HS^z?+mV10dk zOG`@=6B9i>Jsut&TrPKddRi`*ySlmx1OlN@I6OQ&K0YoMi$_OC2L}hEqM`-{2AZ0h zT3T9IEEb#19vT`l8jVV&Ql(PO&CSiu&bGF;wzs#d)oLD(Cy_|n+S+6?S@u;GlgZ4^ z&gO79^YimFGcyW>LZi`ic6Rpm_AV?eXti1_77KzPfk43FaEXbD2?+^QDpe|#`uh6D z#KdG|WYB0dJRXn1U?L(S=yZB?bhM9;kLiXl&e0uBNXj6S!cAfR_X2jDo4RgVXqgsF zO9ud3-oJwIFS1VqfSDo0AEX2mYbuH(Rrsxi=^FcBJcUzU-WbiMg_=Q9iAPexo9`Dq zLmwx4byOOz6-o*%^zmiBxd#|ONkjvOdcmqo<|pqYg*e&^Dfa!AF8$1>Lx@oV{%%zs zYPZ7<7BTr{*?A2qTBCS9FxL5zudKFpsxH|9V zZ)j)T9_NYT00Anmr0#q-b|)yyL{-Flpblc!aNd+mcv=#=tG%I43j_e$6_XKW&Dt}1 z%N+0G>X;Fm_AU#_KA?=lg?>m}vw1y6^0Oza1M_t-mnUNPx0|JqQgP?e7jMYjqJ`$~ z{dGCrbqVz=vYG`%e+dm%y+x|%76>P-)XB!NL?wxz% ztIKxoJ(?n#5xFfS*x|K!K68VUN4&Yp2!-oURBx08L0Jxca^{8{H`Cj#e;)y1hK2J#Ry}yo zwM}(FHHhA-=&h`Jm&#HHlT_9=Egu#3S9 zk^nxHGR`%>jz;AV>9d)iDODwbthHkgb5E7z#u>jH>c40CH7*CNgPGYm#qNKad!f$- z)74)KEOY-9zF617r3|OQX~^;!taoKNn{1`!vlOmTp1Y|wY0R@+1X=bW5dJ4H*LOAU3;s)zrVV=`ryGETeohtv9WP< zbaZlZva_>GPEJlrN{Wbxu(h>~j*c!VDT$1XbZ~I6va$*d4ULbFkBW-2wzdYE9kaGY z3`ohA1o;L3#{(E5+n#3u6>=7ML>4nJa0`PlBg3pY5-n1$1lj~m z^aWIZIo_=OfBt6c^=EBUPhGSB$#d*YNS%Lhh0G|-o%BIe~84LdZ|Nr*g`|W!U+`fB1EIuu_ygsL_&eX=yG{pbs|GQfs zPV1dMU)jQR($-3mxL}2&TV*EB@_Kvo>i=&Gf4>NgOHFz;KkQu3_onnmcE-@c5**2&MU#%saSLOyl&PdvgP42QH7he|y_|`J-0i z?;{=;$~>=h`^qPM**(`q{^j;9i)(76+YTL2ImFiCyZ_&gb^4tFoZLyhA-jMsW$<+M Kb6Mw<&;$VboR=j4 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_flow.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..46424ae99163d35d11626914cdc4ab892e6c2c5e GIT binary patch literal 4534 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 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_flow.png.mcmeta b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_flow.png.mcmeta new file mode 100644 index 0000000..c63567a --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_flow.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "frametime": 4, + "interpolate": true + } +} diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_still.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fluid/oxygen_still.png new file mode 100644 index 0000000000000000000000000000000000000000..9be2ce69f1ecfc2964f06101a9dcb6af880c57cf GIT binary patch literal 4204 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 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank.png new file mode 100644 index 0000000000000000000000000000000000000000..c3811b9f20d0d9a10bb83a72f3599f9d4653a344 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}x0G|-o?c4TTzI5Zxt%qN~{A_M%n>1%0=FU2LeX?PMi+5#=ma8jI$@(DItfhyA zuCQ22OB~27QfG|jYf2Ps5jJd`ba7eJI&Pn>*F$dirN95n_Tp|!-3#6?1<$zlhZ%_| zJF~C5u*d#f@tyQ~`QPDrr8l4Mi2I+xUCkUP!3-I~Y7&{an^LB{Ts501}0H literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank.png.mcmeta b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank.png.mcmeta new file mode 100644 index 0000000..73e775b --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank.png.mcmeta @@ -0,0 +1,15 @@ +{ + "ctm": { + "ctm_version": 1, + "type": "ctm", + "layer": "CUTOUT", + "textures": [ + "advancedrocketry:blocks/fueltank_ctm" + ], + "extra": { + "connect_to": [ + { "block": "advancedrocketry:fueltank" } + ] + } + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank_ctm.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank_ctm.png new file mode 100644 index 0000000000000000000000000000000000000000..47abd5c164f2619f6354b9b6018fe87a64ddec94 GIT binary patch literal 2772 zcma);3v?9K8OH~L8bYu@RB}SF;{x)K*?H`H+-Q^C4cU-o*WJZ}LSc61?(Ue~neEJM zb`!Ls7%Nd)K&2-sMJ%c4p~=BhEsq2_q`ulfc(kREYFmQE1L7fVsYnIVJF^c$iZy%A z?##XOeZTL!-~7LOcdc*Hf{8_CMF@gSbk{ij@QSM6!UFi~Y;SoVLB_1%9S)z{;Xr+o z80KRDLFOEOd4sK{pt7`i|I8NMW=2_f$67S-_yRm+1uPzzGv&;zGLgA?4Q&3pYmYqL$g~;r~Ig>{$!DP-ic+> z{8JB{`r<9H@CU@=fwu-s?>*cZz4lRHAJHB4dgm?=Puunad0=MQt*%YKeF(jG2iCH% z>WkBhuXMcgq<`77yEl>Vkq3+J+IwNa)dLrVkLyJ5+_~jH?4Nyj)n}{sVqf-O>^|%` z{1yH5kr~TQfT7=wDeiv$ou$Y7FTKi7@6-3Ty*csIX-EFK{!i0C{z(`d*xtLNp%Z*!l0>`GC?rLBhhPX250UzV>p`R7+6SFSzxWWl^gq!#_uoxSj_ z7<_d>*P3UZ-MDen=FPAA1Htz8H=0&G@%v*Zlw|6KbwA$M)wAo@-5>Rz`uD}lot?iL z_}iJUE)PM!C){W=yi8X7ivmLURv%wz(8RZadBgmncg- zbu=r+^$aJ5fIb~hKx+iCKbTH1Y&}rW5Qy+Xh3-PvejUnl6}s=5JcK9V08zfCNdkeU zMM1Wyp0#nh2OpSNWKYwO5C;l_rsFX|rqdNV4NSv(bsE>9nu$_hpB0KcO7$q!9ao9Dyz=y z*{1v^>Wxl$W~HR0M5*2@c|(r@Rv9hz>)i5OKiuPFMQU`9digi;uxAuq14*LPI5M{Y z`2Mh|Y#Cxas_hCi!)9Kd%rpQ_mz`vzj1U2E%Y_}7G2?Hdaw`;}#cCz6un_>La!Uwf zI1`1jz-HvkgoQMPn4G^XhLsc}fyxNf3zP+HI87GloUA_Q<}6cDpo)*6NQ^LHq$NlZ zG-03(P@mV;09S#lTk7z&+0~5*HulIe*wxL7cB{$_Bom1k52RuB(4+=2!{B!O|9A|e zWraR^*hq&A%ONHj;T{lGyeVOnseO%0hF8b4K#;}JEpmi$rmDjZE^Tp{S$HbK5v+3V zpjAit!x{)sE)qP7OXhFyg2(tCx3e;6^&aw9PU#^Ei|-&jb?1gw+(&ji5{*YLqA&Ie z4XbadLY$>SS;3^S_di~RRIePwYYRiO*SC)^KHj#oZ{^^u_jga4wCy)z_?Md3Z#Xhw zF#p|k(9=0M{-+Zr=&RH+NR9iWAg@5g_ai1rjN**os zRMFtbP)G5(=L-xCJrk56dvx%XzdGWcz literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank_top.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/fueltank_top.png new file mode 100644 index 0000000000000000000000000000000000000000..4abe15635d625e29024ba5418ce2766b428c7d91 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|~0G|-ouCBi3mbUu(rvLx{-?{a0$&!`Zx9vG{_~g2En_XO7yga@9{R8an z?W3ckXU?2gQCXFhm7S83T2xdV8XETX%g+fDrpo>dCO>_%)r2R7=#&*=dVZs z3eNO&aSYK24(+?mcUXbP`J|V|PJ;zK|NmdLyc&{O=Wyy^=Ukz{D!E1BUhdC|=CLN( z89Ag1h6aaDjAFcTHR^=V-@A-QYJ67g~7VG|PymrXw*`%ha zi?aKEpD=Od5AYX_tNt@_FXdXbKkn*Npd%SPUHx3vIVCg!09I3quK)l5 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/gaschargertop.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/gaschargertop.png new file mode 100644 index 0000000000000000000000000000000000000000..b3448c1882d7e6ddb25630a66bbb78b2cedc4981 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF@og038;&+z$3Dlfr0NZ2s0kfUy%Y7?DlkV43W5;oFI~rAQF<0kdjcw!^`U_ zUY3&3Ib&ni(KD)yJUy#Z&&{#i;@r?!s^r0&&d_{9CQ*2DgRsLfsYLPV4Z(~&ixk`* ztaRWwEO;Uz_Apn*{Y+g(1wx&i1c22WQ%mvv4FO#u4SZx8?g literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/guidancecomputer.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/guidancecomputer.png new file mode 100644 index 0000000000000000000000000000000000000000..92d226fa947aa645f0987d175faa3a5c386b5374 GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}Z0G|-o%BIe~84LdZ|Nr*g`|W!U+`fC?G{j%o!u03=yS>xrZ+$pz($-3m zxL}2&TV*EB@_Kvo>i=&Gf4_)MO5gu!H^>Ig0*}aI1_r*vAk26?e?5d|J*-Z&Qp#nb=gr7dNaE$eO;+@|B=^)NC;ap|f|-;lLhtY6Rj;uV)JC zcB!Kx${!cn6F1cn$=gQrJg>Lo#D&~pLwqdi}7Ie-9 P=sX5bS3j3^P6FH5QzCc}^1s;*b3=DjSL74G){)!Z!V4bInV~E7%91TK zKW#1lqCRHF?>DEbmNEV|80R xes4|VMYDx_t&i(p^fFm3RNw8g*~8%jgMzT=qaEwzw*oC^@O1TaS?83{1OQB*VV(d0 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/machinevent.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/machinevent.png new file mode 100644 index 0000000000000000000000000000000000000000..dfa074df7ec01b73fa1475e8b998b6f9d5921009 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}Z0G|-o%BIe~84LdZ|Nr*g`|W!U+`fB1G%nTD#xX2Dt#|tT-17RIvO1Bt zV1=VwWhTz@dVBNg|8EO_zlcss=kDQZ1{%Uy;1OBOz`%DHgc*!tEYX}OXJV~yi(NXFsIg1FLBFM!>T{& x8_t|cIQhr>+OC~myAIyC!!hUTbN=Ew#+hzxkypx_+<}f^@O1TaS?83{1OS^WdJ+Ht literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/machinevent_end.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/machinevent_end.png new file mode 100644 index 0000000000000000000000000000000000000000..9bddfc74d83cebdc7dd8c8b61ee1d60d0018cc5f GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF91TK zKW#1lqCRHF?>DEbmNEV|80R xes4|VMYDx_t&i(p^fFm3RNw8g*~8%jgMzT=qaEwzw*oC^@O1TaS?83{1OQB*VV(d0 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/moon_turf.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/moon_turf.png new file mode 100644 index 0000000000000000000000000000000000000000..f693ed6d4c31e4059c16def6f265404c7d862e41 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFeh%9Dc;1&j9 zMuu5)B!GhDo-U3d5|??;9uz#Rz{7HYdmV!#*MlX0HZEvTs19=QI`> literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/moon_turf_1.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/moon_turf_1.png new file mode 100644 index 0000000000000000000000000000000000000000..74b633a0409802e0ed90ce9db04a69db6f0cf450 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF-Fn9SFUVbw`S>_Ip>ZY_FD3&6DY-5;1OBOz`%DHgc*vo!;f{=# zO7)YLMPD?nE^qJ?-R8s*e0FVf(Pcloj*9I+g9>EozyFW;J|~Iyv}UM(((249i67jR m@-Fn%#}41Qa%JnfHB0Br`T70(fijy+pe$#BM`SSr1K(i~W;~w1 zA_XXz>*?YcB5_&t%t66J4g$=MKM&s5wq*Rt!SL3R;Q_~j6ZT?fwy#dx5Ky*RaAp6~ z-G`2^_2RNH`4*=5UQN3ttK5y%+}3FRCCzm6aK&ePA18R8^)=lPs3U(wCw)HWrM2Da miSa+}oBrIWyQ*m&`i+0NmOwFAnpz9cVg^rFKbLh*2~7Yf5L+n# literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/panelside.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/panelside.png new file mode 100644 index 0000000000000000000000000000000000000000..61b7d9059c419da148c3df1cfe2833aa5591bf61 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}%0G|-o%BIe~84LdZ|Nr*g`|W!U+`fCicl!M3q;#PCvF@}vK#H>@$S)YE z01Oy{{VRk(f(0It#S9F5he4R}c>anMprD_pi(`mJ@X;Pez6J*#rkhOb{?~65c@@Z+nL7>SDp00i_>zopr0D0(I2LJ#7 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/rocketpad_side.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/rocketpad_side.png new file mode 100644 index 0000000000000000000000000000000000000000..810e5019d76fe6d9c02007013f2d48a91804b2a4 GIT binary patch literal 460 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijq1AIbUDvgA6S!H1!PCG_~i< zoYUReot2waUteEQRuL5$m7JXXX_}TL&=Af7kH}&M2EIce%qXhi)c~|r#?!?y#KQk- z5aXo73LGlA!I$F#cKo;hR@QhWJN;9GQCn!_^qzGcI;Wp*n)CQ;S@iq0TaBk|%az_R zcj21XqMLtLwSB6v5wt&VJSEopSioB|gP3;S7B;2H4U7654T?q125_*retT%$y;!)Z z!GleMjj6BPN7$yda@K;7j#CNJ?%k_4`4|Msn3|~XC@t9F`_@6|$Kwm@{C-aUv8Ze2 z3M-Kf9Ew^Srs#aSz*N11VcW-vEfL4{qQ1N{wWC6{0>&CN}T;~MxDo3rzapKdHbiVGUjNP zpL9s1@JI5mM#=Ni$9L)hmDafZe0-OG{=;|m@;L@O)K~7D0Sr6_Pgg&ebxsLQ0L%Er A8vpNS%G}l0G|-o%1Gu4^P)Px#1ZP1_K>z@;j|==^1poj5OHfQyMR<02i;0VznVfl9JKC6Ew!6Rn{{AsII9p<8 zYHe!%u57n~QYkJm+T7lGfrxp5hufH6CMhe8m!JLp{n^{ywz|ImuWcS6BaUc9M_my1 z00009a7bBm000ia000ia0czHX2><{Ac}YY;R5(v%lYx?hAPhtUG@u5p*q+}1f9Y)q zc#b+u!q#cRJ|Yo0at_fWI_JZSV=|p0b08W+m!3s)k=?Tr!DN)6JvGe{8L{rYJBKB z$-91#yleEbWqX_vZ?MyOsG3qKC8bo(tWUeFavTSNugD5cJ!2k<)+b7she)9L(3wgj_x@*Io{qu=H}Kxf#KfXffW@M5#h1X(FqL=4e9CW zO-)TDB_%Uw&Rn-{-TL+Gw{G29US3{bUmp<>5fTy-7Z;b6m6ei`5*Zm86%`d89zJ#I z)Fn%nxVU(^x%oIaxXqtGf5LzODDq)8HhAI^loTcx-^wz3ZD^&Q@5++5ysR2 zmoBER$F={(H}Y`veA%&e_8k4$OLp2f^#5RX)Dy9Lz#PL;V=d+)bo8wH$)*!hNgrJ@ zl6@{k%rX5Dl&QLT+bY5MF4Grmp;xY+TPStz6^rd!IOK5@%`J=8tz)w~M!iN3Eap?C#;D)c11tu6?fmf8ADQ-ShoF7Pq&R^UKG4 z`P^N8|McSapA}}mm$~@$e*eC~_H3=K#qG-`Gvp5ZVq9~5<1H<}zfHi1VDNPHb6Mw< G&;$Ul*ry!; literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/scaffold.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/scaffold.png new file mode 100644 index 0000000000000000000000000000000000000000..98755ea73c897683aef46643b067d60a4d1a53e5 GIT binary patch literal 654 zcmV;90&)F`P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!TJD^BTjn$FJNG5~RU>Zp7^uXFzR z1EcpiXo<(;Ob5|weHEZ*+gU1?->AdGR|+Tj{*3PKTD%to0eb+P1QqBsln~A47vXs$ zo~Ke7Hm%wG%#r{$`RFCC2~;qFc_y|x5md#0P7v#d!3HPc?sz=rMN~yN&Ufs>--tEf o_&awxojpAyJ?A$VNS%G}r0G|-oor%VWvkXp^>#q+sS>$Ol&Bkc^o&&e<-tU{Spt7m6cl!MQ|Np;z z_dYr)9jL=H=oBxI;x7sE3kHfK0fsAgW-J6saTa()7BevL9R^{>pOudVa%1#8YB?MjxI`F~U|^tCBZ3=O_mdKI;Vst0FfwJZvX%Q literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/tank_inner.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/tank_inner.png new file mode 100644 index 0000000000000000000000000000000000000000..785b10e368b53abfcc42e311705f296857bca124 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFmdKI;Vst0CqbhbN~PV literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/thruster.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/blocks/thruster.png new file mode 100644 index 0000000000000000000000000000000000000000..3d46418aa1d21bc94d9858237f7750e02c5487b3 GIT binary patch literal 353 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 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/items/spacehelmet.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/items/spacehelmet.png new file mode 100644 index 0000000000000000000000000000000000000000..ae97fc1ec2ab32ccce25633445825f76c6e9c28f GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|&0G|+7U0vO!iclGxTBbMDff9=S!eJ#({|7o4Ja^}^}j_S9+QL70(Y)*K0-ps=TlV~B-+vIOhm1d$#lgMNS%G}H0G|+7Q&ZCwD^^UKHm#_r=sys=tlz#YdRm9~jT<+BO5V30^8iv@B|(0{ zAXzYA*mOqcJW!Ogz$3Dlfq`2Xgc%uT&5-~K`gpoHhG+y&?Kk8*V8Fqg?4j}J|6$)V z0k=FRRyDWgGhBS++~ro3!l1Ou(s+u<#dhA^T?yNjHcU|3W&Pon;qE`e*+(M}r0b_| ce=et#=e3AU|GaZYJNS%G}H0G|+7Q&ZCwD^^UKHm#_r=>Px!bFY0bn7J{gZsLs_H-Ji(sl0y=q_|3g z{DOh95WukMjLvzWC})93WHAE+w=f7ZGR&GI0TlG{ba4#P2%g$+$albigE`ql-X_ck%6p@SVyt}&+wkvIzptQ^S!!5(ze}uD-MjlAl ePv8DrPASi85u5&b=Z<=yxeT7JelF{r5}E)j5LiqA literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/models/girder.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/models/girder.png new file mode 100644 index 0000000000000000000000000000000000000000..808baefabec4620f6532b6f3531337ffa0174742 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85p>QL70(Y)*K0-V5p~yV~B!lvI6;>1s;*b3=G`DAk4@xYmNj^u+-DVF(ktM?G#6@0|p!{zV=t%f9d=iSg)Mh zyIhsM^+Lproe~pe!q{f7io0aFXI`BBOY>^ICwC9Ld%yCeoKtNl?}f${%pO`V8D?K* zyvJx2aEei7HV^0D<;;7SOCE&tDXd(=oa4t{!T!QQlYK&tk;<3)k8Cb^JwhuO)8+-Z Q10BHN>FVdQ&MBb@006N`Bme*a literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/models/round_h.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/models/round_h.png new file mode 100644 index 0000000000000000000000000000000000000000..be778b2c4e53cf9eb0d9638d116de89ac09c59fe GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFFVdQ&MBb@0FQMZLjV8( literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/atmosphere2.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/atmosphere2.png new file mode 100644 index 0000000000000000000000000000000000000000..829c3be3703b637d1f3fc15a25574f02eb617705 GIT binary patch literal 3651 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 V0U(aPDA51_002ovPDHLkV1iy|({KO) literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/earthlike.pdn b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/earthlike.pdn new file mode 100644 index 0000000000000000000000000000000000000000..342c1408ffa3433045ec97d991b081134f5eebf6 GIT binary patch literal 5229 zcmd@XZERat)o$Y??$RY&H#!ERuGzY+$>NXLaiTTZ?z0_#BzFAl*pAbd^!fSa`Pt8Y z?t9O1oDMh69ycIaK0A!BUfQdVa#{9J5;Tf+Xhk zMqlRYf~rkeN30f&TNZL@NzbQXL{iEVR@bo8F*@w=j5&r!#+^=&b@BjT)pVsac|gxs zOIb^$EKXRZ6f+yI*{1`dLZC$x$-F-)LXW8-&U;A)k-9H8n8X1xA5FyVA);z7ew4+5 zc$rN)7(%=&h1&91hNWy_-k)FKL4;3>0FTE<_}uc*08a1~63IA|^5y96DO{qMVI$L}5IO31Fmiq_o}8MBYhr{g%|%EeHOtuC)3G^MvJfiBF?Yf- zUay2#mRwpQC6oG`O|Z+Wakn>btCpQ&hy+BL5we5^mDM2JIXoT)j{6O4y~u4G2Giz7vGB%mc~j8crd!+}6aWD~2bOA7c| zMqxO6d`$H?Z2^BK7+tF6)nar|3u>~z<`|#R0&MN*^n7r3nGG%#h0s(%4Xb`?Zzdd1 zy8UV~EQ;d9gwnm7x+;~$AxlZ) z6;+n9?dGr#!*hEpWIZ0v&AUe(<0CG?J~n=M=>IAF@WI2ld4qX7fG;**GuX;tHUTi< z@Xc+8Jlz#e1=kD^Rpshv$iYPkjosfiph>I3{cZSi<3#BK@i+Bz!xsq67z^ee0JsW# zyHM#3Zldd0jBo`-?Ou#XW&AKzNzR!UqqbkUose;e$`;;!7b9j z#?JOX-xUt;`Zpx;-LX{+qU}YYZd%4vH5$9kFtGDcVMSUR);ZCB(0;gk2MqnN=Kzjb zq#Rs+u2GNMYLVeQvW|M3R*PP*2oqL^)k1|#SmDm`DuI3E0Q!+{N zay-EzDNpYgalz4vXKtW_zIql}3zWaO5O7qfewhkHyh!mf)mO}>R~&RdFa;Wv3QzuZ=r|}3~+Ab1pgXn40A9a%Z<==_cnHDg0qp2|7+^>F z=T%gpz252kU$}kYL(4zZvb()TVD!bZeBpS;=dl-9r_qLN7$|>v=K+Bsi zzzj3iTw8_LBPaxoOsx%Niov`Gz!rlA5FG_B|w_l4cqNZ7`~+B~EUlxCy$EM^PtkrGjs!Fw- z>rpBkFX?qNHAO_p2}W9X-Yx$EM&q`J+nrBCm%1Bm(QIa&^h>1Z(4kKm-@F|ftq+qsCkr;?gkt3TTf7>R~gh76Xi2q3 zVnqK^8oINSc2DEtf^lfC?K#;?J6#6;$U~;nU;oLGWBbp2ZQzYpCNAvX`<>LrsmsT| z@s?oQd+bfg7W~t<%?00O|68y9_?%_q7tS3mjdbCKsa-d{Joci#(7zT1D| zor^EZ{f}*&eSg=*$=okaU3)RLad!Qe!i6`#di;aQL(+*$8*7H4ou@9J{9v;1%4z$t z-(NXhoml(s^}l8MKfLrhYu{n`yOQ~5V>4ZJaR^S{u+k$B^erD5O@92$&(_bLkc7qG z#h?D^rQJXO)zxQy9nBq+gx%*S2j2MpBWEuC;Pt0A_PqLb+U9@xS_PN(_LXzuzV|lP zKI}a|d}w3sKgVDC&Aa_)c3+%4RQM4WUO#>@RJ``A;mkL`^%ect6Oq9`su!LB%NU^k nsCw33x^Z3mw$^p!>>950-1n{~7C$y5A+4Y5R^F*Rk5m2&4Tx04UFukv&MmP!xqv(@I4u4rY+zkfAzR5EXIMC={VWs1;guFnQ@8G-*jv zTpR`0f`dPcRR<0il$l|N#sR~0 ztW-jlGTBur{E7fXgb;zdDRoC_WcJX5sNsd-|NSSoa|*1@c38N^e>G2JjJUZ zbKc@?lxwWjCx2liXRa)Boz^fCSi}+(NYGG231v8l({7StBSq(O7k||AE9BD1RRSZ& z0xB?|dVcUf_&r-YKRMwiMP#7o#dSYMfbcHRth?^_vFkQZfZ#K5Ww!m51~BtUdcCd1 zj(~w};NrTiX?wus4lwjoRV~$%g0zHu9(X^aZ^{CLw?N;TKeyI7P9K0Y%_?~V92^3p z1feF!Tqb+xlU=>19R|+b z*Gg6iv=zj(3vr>8`VlbIhEx-c#X+ zB8TF)#D&@_X@|b4+7a%#K+qm_auD>TNRe;w8GGaYX9xb=^TK}Sq zi4JgZJ>z&91$JYJc65Mx{a9a|Q|g>6G50DY0Gosaj;F<|)G1J=N>DwaH2e!oyv^9a zt`&}%c-oam>0%r;Pg=(82i`tW;-Bm7_`SR!&D16<4YqRr#&;i=&nhTiA0liCy0Icl4Yo{?`?f?J)07*qoM6N<$f{}u{tpET3 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/earthlikebase.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/earthlikebase.png new file mode 100644 index 0000000000000000000000000000000000000000..44b001a9baaadba7c634eb169f191cf19db56900 GIT binary patch literal 637 zcmV-@0)qXCP)4Tx04UFukv&MmP!xqv(@I4u4rY+zkfAzR5EXIMC={VWs1;guFnQ@8G-*jv zTpR`0f`dPcRR<0il$l|N#sR~0 ztW-jlGTBur{E7fXgb;zdDRoC_WcJX5sNsd-|NSSoa|*1@c38N^e>G2JjJUZ zbKc@?lxwWjCx2liXRa)Boz^fCSi}+(NYGG231v8l({7StBSq(O7k||AE9BD1RRSZ& z0xB?|dVcUf_&r-YKRMwiMP#7o#dSYMfbcHRth?^_vFkQZfZ#K5Ww!m51~BtUdcCd1 zj(~w};NrTiX?wus4lwjoRV~$%g0zHu9(X^aZ^{CLw?N;TKeyI7P9K0Y%_?~V92^3p z1VVg{Y7D>;)xvJB9s6Th#TDJI3{CWa4J=OnGdsHP2)ldh0E89&5b- Xu$>HtO$j2Z00000NkvXXu0mjf%tjCK literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/earthlikeleo.jpg b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/earthlikeleo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fe352265c1b4622425ae0ce7fd716ba56ae1592 GIT binary patch literal 199464 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 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/moon.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/moon.png new file mode 100644 index 0000000000000000000000000000000000000000..45628f97559d53ad15c7db5d5ea11bf047cf1bb3 GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}H0G|+7Uq6%BSf~8_pj8VS_HUo`@aCq!e=j_Eu$lS>O>_%)r2R7=#&*=dVZs3YL4iIEH8h$M!SwIV*BFvud6AtG`FA zzHZyZj5o$>OTXTa*>L9WyvHXP1PnW}Ex-A#D_EJg`p!zn83(#rp4{6KxNWXByF_EV zgOOOIUVwRHGvlTYqIm}|*Pec*TJp7Wa`rU-HQ8;074K3{A1;(2lW<-d%4 X>a52vy_{G8bOM8?tDnm{r-UW|w=8c@ literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/moonleo.jpg b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/moonleo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..13179919337f6cd5e9d6703e221dfeede3f3d11e GIT binary patch literal 165472 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

7lg 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 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/shadowold.png b/src/overrides/openloader/resources/simis_edits/assets/advancedrocketry/textures/planets/shadowold.png new file mode 100644 index 0000000000000000000000000000000000000000..6e382317739c0a0549921b5a03661b39489a62e6 GIT binary patch literal 3374 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 Ef@Nl6oB#j- literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/charger.json b/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/charger.json new file mode 100644 index 0000000..bfc261c --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/charger.json @@ -0,0 +1,87 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/andesite_casing", + "1": "create:block/fan_side", + "2": "create:block/andesite_funnel_plating", + "3": "create:block/andesite_funnel_back", + "4": "appliedenergistics2:block/charger", + "particle": "create:block/andesite_casing" + }, + "elements": [ + { + "from": [2, 14, 2], + "to": [14, 16, 14], + "faces": { + "north": {"uv": [2, 0, 14, 2], "texture": "#1"}, + "east": {"uv": [2, 0, 14, 2], "texture": "#1"}, + "south": {"uv": [2, 0, 14, 2], "texture": "#1"}, + "west": {"uv": [2, 0, 14, 2], "texture": "#1"}, + "up": {"uv": [6, 8, 12, 14], "texture": "#3"}, + "down": {"uv": [6, 8, 12, 14], "rotation": 90, "texture": "#3"} + } + }, + { + "from": [2, 0, 2], + "to": [14, 2, 14], + "faces": { + "north": {"uv": [2, 14, 14, 16], "texture": "#1"}, + "east": {"uv": [2, 14, 14, 16], "texture": "#1"}, + "south": {"uv": [2, 14, 14, 16], "texture": "#1"}, + "west": {"uv": [2, 14, 14, 16], "texture": "#1"}, + "up": {"uv": [6, 8, 12, 14], "rotation": 90, "texture": "#3"}, + "down": {"uv": [6, 8, 12, 14], "texture": "#3"} + } + }, + { + "from": [4, 2, 10], + "to": [12, 14, 14], + "faces": { + "north": {"uv": [4, 2, 12, 14], "texture": "#1"}, + "east": {"uv": [9, 2, 12, 14], "texture": "#1"}, + "south": {"uv": [4, 2, 12, 14], "texture": "#1"}, + "west": {"uv": [4, 2, 7, 14], "texture": "#1"}, + "up": {"uv": [5, 4, 11, 12], "rotation": 90, "texture": "#0"}, + "down": {"uv": [5, 4, 11, 12], "rotation": 90, "texture": "#0"} + } + }, + { + "from": [3, 0, 14], + "to": [13, 16, 16], + "faces": { + "north": {"uv": [3, 0, 13, 16], "texture": "#1"}, + "east": {"uv": [2, 0, 4, 16], "texture": "#1"}, + "south": {"uv": [3, 0, 13, 16], "texture": "#1"}, + "west": {"uv": [12, 0, 14, 16], "texture": "#1"}, + "up": {"uv": [0.5, 14, 5.5, 15], "texture": "#2"}, + "down": {"uv": [0.5, 14, 5.5, 15], "texture": "#2"} + } + }, + { + "from": [5, 2, 7], + "to": [11, 4, 9], + "faces": { + "north": {"uv": [0, 0, 6, 2], "texture": "#4"}, + "east": {"uv": [0, 6, 2, 8], "texture": "#4"}, + "south": {"uv": [0, 0, 6, 2], "texture": "#4"}, + "west": {"uv": [0, 6, 2, 8], "texture": "#4"}, + "up": {"uv": [0, 3, 6, 5], "texture": "#4"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#missing"} + } + }, + { + "from": [5, 12, 7], + "to": [11, 14, 9], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [0, 2, 6, 0], "texture": "#4"}, + "east": {"uv": [0, 8, 2, 6], "texture": "#4"}, + "south": {"uv": [0, 2, 6, 0], "texture": "#4"}, + "west": {"uv": [0, 8, 2, 6], "texture": "#4"}, + "up": {"uv": [0, 2, 6, 0], "texture": "#missing"}, + "down": {"uv": [0, 5, 6, 3], "texture": "#4"} + } + } + ] +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/sky_compass_base.json b/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/sky_compass_base.json new file mode 100644 index 0000000..7cd9cfe --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/sky_compass_base.json @@ -0,0 +1,91 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "appliedenergistics2:block/sky_compass", + "particle": "appliedenergistics2:block/sky_compass" + }, + "elements": [ + { + "name": "Base", + "from": [6, 1, 5], + "to": [10, 2, 11], + "faces": { + "north": {"uv": [2, 0, 10, 2], "texture": "#0"}, + "east": {"uv": [2, 0, 4, 12], "rotation": 90, "texture": "#0"}, + "south": {"uv": [2, 0, 10, 2], "texture": "#0"}, + "west": {"uv": [2, 0, 4, 12], "rotation": 90, "texture": "#0"}, + "up": {"uv": [2, 0, 10, 12], "texture": "#0"}, + "down": {"uv": [2, 0, 10, 12], "texture": "#0"} + } + }, + { + "name": "Border", + "from": [10, 1, 6], + "to": [11, 2, 10], + "faces": { + "north": {"uv": [0, 2, 2, 4], "texture": "#0"}, + "east": {"uv": [2, 2, 10, 4], "texture": "#0"}, + "south": {"uv": [10, 2, 12, 4], "texture": "#0"}, + "up": {"uv": [10, 2, 12, 10], "texture": "#0"}, + "down": {"uv": [10, 2, 12, 10], "texture": "#0"} + } + }, + { + "name": "Border", + "from": [5, 1, 6], + "to": [6, 2, 10], + "faces": { + "north": {"uv": [10, 2, 12, 4], "texture": "#0"}, + "south": {"uv": [0, 2, 2, 4], "texture": "#0"}, + "west": {"uv": [2, 2, 10, 4], "texture": "#0"}, + "up": {"uv": [0, 2, 2, 10], "texture": "#0"}, + "down": {"uv": [0, 2, 2, 10], "texture": "#0"} + } + }, + { + "name": "Nibble", + "from": [7.5, 2, 7.5], + "to": [8.5, 3, 8.5], + "faces": { + "north": {"uv": [10, 2, 12, 4], "texture": "#0"}, + "east": {"uv": [10, 2, 12, 4], "texture": "#0"}, + "south": {"uv": [10, 2, 12, 4], "texture": "#0"}, + "west": {"uv": [10, 2, 12, 4], "rotation": 270, "texture": "#0"}, + "up": {"uv": [10, 2, 12, 4], "rotation": 270, "texture": "#0"}, + "down": {"uv": [10, 2, 12, 4], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 2], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [12, 0, 0], + "translation": [0.75, 9.25, -12], + "scale": [2, 2, 2] + }, + "firstperson_lefthand": { + "rotation": [10, 0, 0], + "translation": [0, 11, -12], + "scale": [2, 2, 2] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, 8, 0], + "scale": [1.5, 1.5, 1.5] + }, + "fixed": { + "rotation": [270, 0, 0], + "translation": [0, 0, -10.1], + "scale": [1.5, 1.5, 1.5] + } + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/sky_compass_pointer.json b/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/sky_compass_pointer.json new file mode 100644 index 0000000..0ee376f --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/models/block/sky_compass_pointer.json @@ -0,0 +1,118 @@ +{ + "credit": "Made with Blockbench", + "parent": "create:block/large_wheels", + "texture_size": [32, 32], + "textures": { + "0": "appliedenergistics2:block/sky_compass", + "particle": "create:block/cogwheel", + "1_2": "create:block/cogwheel" + }, + "elements": [ + { + "name": "Pointer", + "from": [7.625, 2, 5], + "to": [8.375, 2.5, 8], + "rotation": {"angle": 0, "axis": "y", "origin": [0, -0.5, 0]}, + "faces": { + "north": {"uv": [2, 13, 3, 14], "texture": "#0"}, + "east": {"uv": [2, 13, 8, 14], "rotation": 180, "texture": "#0"}, + "south": {"uv": [7, 13, 8, 14], "texture": "#0"}, + "west": {"uv": [2, 13, 8, 14], "texture": "#0"}, + "up": {"uv": [2, 13, 8, 14], "rotation": 90, "texture": "#0"}, + "down": {"uv": [2, 13, 8, 14], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "Pointer", + "from": [7.75, 1.95, 6.85], + "to": [8.25, 2.55, 9.35], + "rotation": {"angle": 0, "axis": "y", "origin": [7.95, 2.25, 8]}, + "faces": { + "north": {"uv": [1, 7, 2, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 4, 1, 10], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 9, 1, 10], "rotation": 90, "texture": "#0"}, + "west": {"uv": [0, 6, 1, 10], "rotation": 270, "texture": "#0"}, + "up": {"uv": [0, 5, 1, 10], "texture": "#0"}, + "down": {"uv": [0, 6, 1, 10], "rotation": 180, "texture": "#0"} + } + }, + { + "name": "Gear", + "from": [4.5, 0.25, 7.25], + "to": [11.5, 1, 8.75], + "rotation": {"angle": 0, "axis": "y", "origin": [4, -3.75, 4]}, + "faces": { + "north": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "east": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"}, + "south": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "west": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"} + } + }, + { + "name": "Gear2", + "from": [4.5, 0.25, 7.25], + "to": [11.5, 1, 8.75], + "rotation": {"angle": 45, "axis": "y", "origin": [8, 0.25, 8]}, + "faces": { + "north": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "east": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"}, + "south": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "west": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"} + } + }, + { + "name": "Gear3", + "from": [4.5, 0.25, 7.25], + "to": [11.5, 1, 8.75], + "rotation": {"angle": -45, "axis": "y", "origin": [8, 0.25, 8]}, + "faces": { + "north": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "east": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"}, + "south": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "west": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"} + } + }, + { + "name": "Gear4", + "from": [7.25, 0.25, 4.5], + "to": [8.75, 1, 11.5], + "rotation": {"angle": 0, "axis": "y", "origin": [4, -3.75, 4]}, + "faces": { + "north": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"}, + "east": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "south": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"}, + "west": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"}, + "up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"}, + "down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"} + } + }, + { + "name": "GearCaseOuter", + "from": [6, 0, 6], + "to": [10, 1.25, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [4, -3.75, 4]}, + "faces": { + "north": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "east": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "south": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "west": {"uv": [0, 4, 4, 6], "texture": "#1_2"}, + "up": {"uv": [0, 0, 4, 4], "texture": "#1_2"}, + "down": {"uv": [0, 0, 4, 4], "texture": "#1_2"} + } + } + ], + "groups": [0, 1, + { + "name": "cogwheel_shaftless", + "origin": [8, 8, 8], + "color": 0, + "children": [2, 3, 4, 5, 6] + } + ] +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/textures/block/charger.png b/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/textures/block/charger.png new file mode 100644 index 0000000000000000000000000000000000000000..e6205edfe9cf0263da9f71185e0a2376f8f5df0a GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|s0G|+7RfFgQ6Tbg%xPC2i{p~&frInriY^DMw%{)^s11XM@Aiv=M5WsM+ zd2b|8jI+QavY3H^?+^$xifVW@00kX9T^vI+g7@|w9j4dmDF@q^}90@Yj?+vH_B`_`$*QC1f{yFdbaV* zbkp6tGi!kyEx|EJhy!vC2reKL2?;A4xR3*p6FE{|ye?6EfLtOGDFO+iIFjY%?|FGv zjJ=x$L`ywA_19nD|ET{__1&522ltJAX{=Bv?3+4SnT7A2`Fs0k;r9so{2Y9CrLzxC z6fVAf@UJkqtu|gAFBE?DgFV;SZWxC%56>Ux0bhD*Y5hCTo;&~C`g7-2*IH+vJvX6! zVa7fym+>FX31Ep96m4I=+S%E zPU#Ex-~G+A&-~`f#;@PG{)<0cd*M$TKY458hp$}+X+M4Q#U=P0%4VnMHnw~U!O?F& z5A1iuCr_n?!k)YGcUR#@KR!?>>>mr~7qi9c!ybNg#lASKAT;IFo~E^0tzt_rMoCR0uIp-;YLp`2KG9un!i;%TX4k%h64oFqq!tiYyFnA~2uX#46k2O<41p0c-3{CX!`QG9N|t zehkg@byFrMl_QUbO%b)yqq*5Vc3EMWEUS4qA?zUH%v0j&u4g*;V(MYsWvxPh3YM|W z%sQDTre|W0l1IMcAQuj&V_t#eeVe1e(S<8GcP+vDXpbZzWIC%4qvl!(K=g3{qCqR&w*qjVL6A?Gi4jzp zE~cuIM~l~yKL-^I6tGNFH+%G%ur2G0l@Pp^b``OPXHIRN=~S4!+>|YWTz2)wlc zxmP#l8VJpcBg^EvrEiH53-d^^kWGQ(J9{USk{NvXVv0Q03Z=GlfjTp(q)a zI8aCVAIaV_KDSq3|9=}<((<#%a7`&`qsvdPDpk7PK9TQbr^9C zqGRdX)De)?d4nQ`j(qM&gl%DPNPOS%JC!a+i~i%jawFzSgRu1aZE74EXkM1nq2kp! z6;80)5NS}B9~j*!u}O$YBy>23QDhUtKz`s0Bn;@hKJ;F$Tivaxho1s=JC51`tU;Lt zwcke4)j6_s=<5!YRwR6fW81a35Mn2=mc=;Lb%b?;A?WEQY%3>7VuuJr7zSp12e20A zjvxVn1q{wPI+J(@ur}N}7@QUmVJ=`BhJ$=UEW{k!G;PC@IyH6x z>tL=2g!(9;lp|sr6nsl1NYS~4O~cV$|CX?y=Fl_(s7o4--jcR;*mqYAU12&w+NHw% z2u4sw`j@kOG`Qf&CbY=}u5Y4nVF9jw=cg*;^GD_yZ(rGeN!j}hJMh8f%dhXxns4$y zZ`||q-QWMpb^G_)Z8MdJ!e3sPzQ2erxCheG!tM_)KmYFZ%OAb`$*vP$#c$nt=`WLo zC&$|EXTJQx-rH+;yuWwPrSDxiclC4jrPuHI=O=%>Sk*2s|E%%#UFs_zzVzOs%D0~U s$H&M1{>1tlAFZA(y>ad1S6dbBovUAL{4Tz_n%_sKj!#!EPCUK-FN3%CJOBUy literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/textures/item/calculation_processor.png b/src/overrides/openloader/resources/simis_edits/assets/appliedenergistics2/textures/item/calculation_processor.png new file mode 100644 index 0000000000000000000000000000000000000000..67b209d0e5638648fb3312bff94c0bc301fcf0b8 GIT binary patch literal 4019 zcmcgv&1)pb6>niXtan*E!4RC_L(_Z62D_%Ks;fWIteKsWEWwT}qzRS|Hm(B6@HW9t-8h6PJxw zZawlTyxhCfXg3Vw)fdj)=J&z-!|PW%OMiTD;r6>X{_>+|3d6XScN+H@FRfmJ!I%E= zVFZse)yCT9=cAAD(NEso2HE}j%64fO=N{7E1>={$de|@?cscECRa@;Vk;r;AF0)wG z2E81#4P)`~LC(chRhhBcN&9u{pKrWnnW?N>Pq}T}&YNmCUAbPU&FgC&as8?YrS*vJ^-T@S<7}_0TVV0Xm0mu@?w8|uLFDWK z&uvn}+O?sg6jQx?ujmdfkiu47)l>bd1YI)Kg=n?gQ}rWZd%dZ4SuO2@MPmn#)Gj;M za%FF*GTSSJTH1#dFH8(8s||H0K66Y5_37k%H>)8Rv*sM6$^1@*`wRW(SD zQPm?;)jVnzidR|D$+GT*L+caU%x2TP_*B}L*+KbT?erfgo5;1&8Ig@E}?L<{6q9iMN9JVd(@f~I7{hi@z?RK=< zFDu>`YPD6jz|>lr$|zRMOJvMYLK#DT%mj*k;BDaeEOaFk!cQjiTbbC?l+yD@Stc_9 z7}LFoVmIVoz(eH4B0x^SI0`w&$PYb?aU3UHi3!@1MGBeDyR)d;DhY_p_mU)LAqxFO zA{DY2g^qF&@s#Iyf+fOtEc4E~&8(Xh?My<<56M@X&GjNn(k=|>GH0$XH9Zn~9-=j3 znVJ+4*a1FqorZO5BHYr9?(U6*J_X~kP4w@0()J1CcZR>$Phl^pWolYQLqj*A)PX^; z)=;*d4peuml|pFCkrCeP$oAopVHwgjX>pj#(MnnZJFiW}FWCW|f&U#ciHYN>!vY9GP8lYL59Ot$iXp=c~a-vhyq0#zk8nPG;-LqJ4Df z8CRs%DAvn*Cx=IX=%~6fFL&Wg5J8(cq4BuT9WV=+?prb9zHS(?#~{I_3k}HeW$f!r z&}iBJ+<5LVZgEP=Xwt_T&|!5+E@ukY@Yr~n@63p%CHd0Pt<({eDnbMj0(0aN@F>8{ zMN)diWquroij20Vn|=XU#yMsJI;&5hZcqXxgL?@>GQeDLkq{;LDPZS`|7l=(fIXLc zC{{7ir;`v0oa-W*c--R-3soGP0#*>}i&zoFBp?!^JYY*gk#w;urK2SG<5R#&*G&?S zc?c)Ik0gcN;!*$;C1#AqoC=@a750l9f93)TWZ*c&hue%~6vbSVh|2&$*Q22;xTM0F z3#ic|t-uf6C4!rTEIDDT>4nReeN2`c#BuJv2@|(~XbyFKiahGO5OIh-oHZGW6OhLw zj%nZ@Va-T1n>~y6$!Ry5HFL)rCdo(&7dUu>GB&wA>bL0)RP~`n7jVD)-OV@Ng1hPV zYOB$?xcT%83lF?)p1J2YzrOwXJ1;-_;-4;%B0aP9ufdJizklxcm%j0bU*vz=z4`pj z$G*05>*t@XefG)QFFyM-=hfCT&%OWGl`F4(@ci=q@BQ$`H!r;T`mL=eKYs1czy14y Yi|_r;PdE6t^bL4*X|46jmi~wT~+?F?4?7EAY&AL0{=3ub8s(QD{%yg%_ zcXyJD67(P_!GlPGc+r~>$U#ID^dh1{E~20yDCD3A^$-spg!p>?c2@UivTB-{>8V$* zUcL9~dq4H^?93Af_8r<+C=?D%PgUpOeRuxdyBmIwpu6VbwJV)_V!Uwq>fxVZuxGJc zD;Ek^F6{r4-45gXW{=k=-kCo7=jSi|@WQFLT>ENVe^Iw##(wqv2jO)`Ha9bWqw^FF zJ-K@lNO#6lC(}Y<|2_G4SK-o|4-^Uq-wo>v*+T8O$D?MEiO845b~6UkN+?R|GiD9f;)+}fr_LpE{@hHRpF7Q6p&mPWVBc8V0|`x;F{RyX zv{J8KQage@_@9$CRq3!~r%P%%-%(kp%_@~Bk&0Qg5GMvzY_~`(>{8<~g<@iB*w%=S zF!8YE>8{dyRM<{Y#u5>DbJfY-b}%ZbOIa3snzp*ST3pqOQL?BJ*L5{aHA)e1p!94j zV{Oz*ALL+ zcsXfwG!R^q4cU~fECpUN;015hY6JES#WtG*?lhZN0gZYFZpfY1&&E=llWDY^a5=F8 zJ3iD`EY0TRntw)E4(x-)@lupU=~A?b69&`kT#<#rCL886>sVzw+=Mls8L-A)C6O$P zl6n+1`WTw+>!wsH%8_TnmWWozE@E24}Zr72FG=q{-me!X{gkTHIRf>{hFJ)2%dPEiR|4B^6XH zhN18*BB-MS-UEk&u7SakZwC|^)HV&r;kNMg{`zXfmvczv>$_1VA`UVJXW{9b!v~BO zL13Z4HW>0LmWY}{_zrWh#Ii5#L=r-zv&OL0Tq^+*4ciI=-*Ay@2Legg@R6%a6A?>V zy2Xuv+o09jzLlsECACO^&)3nXE0x(K3c?0Vo~T&FwJb!7L{)N7c%TQ^#PTpK zseR%?j_Ag6muOQAk4Ey}-lCJ+%&$#9-3s9>sH)_!@;ZvnL#hLXV6P5sHf+nrLNx@} zrd=hh;hB@`XF6#p&q-sQSoWsE6wrBgK<*`%d3k1t)FU=Rr4!N~<6X;mj%_K_9y#0q zAfp{cSM2JN1RrjJ`Yu}<1=%V~WO)%BzgER5(dRuCTU3xlBlV$IBtZz6O!6WOY~~rAl#KK zQihV-D6SMT35PH;yyHL}<$v0HdvuPJgEvIyEjY$8EpJYS^U0XDaq8)1q-xjKlle(@ zS^#gOyfP|wp(pU5%xqJ5OsEdna17+=wvU*d7YyGrAi#ymFxH`r*?A=7(xQJ|c-9a% zHUOp9uVZDXuz5;OhZ0w(Z5(HdL!?1UKDt>crBo8a5$Bj8lYm7IHcTXhMNGr?eOHq1 z(KN!F5Nj}o4GxvnCW0eMAQLhxFpzLC&2|s$;w6 z1i=+TCUm!2vE0dV8GxdO{bJ{sIWWeZAl0{6?S^0WPLH(i*nmg`66pS`f_ z;3vx7-A|Tp+_?7j>&L%;?ST)BJ^1;LZu{}O^OsME4<0*jUfT2U3y1H0>8V#{e!BnK z#n~_QE7fOT{`&gVK{Se>8W$_rNS%G}f0G|-o*mhHXM~1rTY4&+yI#CRgPCyBU)&~i)K#IL2$S?Rm7%)hAGrIwW zI14-?iy0XB_Jc5^1#7ShP_Ww5#W6%9*tL(lkHvt)NigwTlHyWm2=Z(J8!V$4tce)e}3}~$Ma#!Cp$Bw9g4l1Qs~raoUim|M|^^? z+-moLi-IMpStsRQ<%v$)@c%_6n^KLG>DNZK!}^U!mH%-+zg~K6at%Y}O6G!P4;K9f PI)lN})z4*}Q$iB}B=%hN literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/biomesoplenty/textures/block/spanish_moss_plant.png b/src/overrides/openloader/resources/simis_edits/assets/biomesoplenty/textures/block/spanish_moss_plant.png new file mode 100644 index 0000000000000000000000000000000000000000..a4c310455fc18a5c2143efdbcadf80cde5d46e15 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G~10G|-opc*YH4~CN782valpjiEm2sI$ZS`y?J{2vGyesALg8N^xO5n0T@ zz_%ZS87)|YRe*vOo-U3d8o{=Gj9e^^Jcn}L{=Z*yQb$JTaF*$e(>c4WW#v+~N$#0_ z`re}LzgXfcHt$QHvtOzB$*t%9tJJ(tuZ~Q(T79nJ=`EQQE;iE>jtdxGtyytQ%u-ly zLz#T&X>OAhJ*g{YEv@s}S1Z(9aaVlV_1|pzqv`(Y-NS%LhP0G|-o@bK`Mn3#Zo02db*6B83dL&GOeo}4*zX49rk%a$$c>FJp=ZOV*U zGZrja@Z--PUtiyrmX?Z&ioC+SjGT<3;-ZFz1~W4=S69~^J9b!ES$TPREhIO{Kwhj&stJbV?c6N4jboBJ}G&ME#@$vEY_6`aPQkl4|2IwBn z0*}aI1_r*vAk26?e?G|72hZJ~NF64UmvMmZYxGm~^`QQKljYH1z z=%<&NF**cJNsW|D{&LmSKymKNo|{(c#m%gp7T*>|9-CmZ_ClFbl4a|S6#@OFY=w5M z8#)`=LX-~rBUFLk={l7c)+NISm%(mGtG|pRe`%`G7 z%-zCC63zd+o%E}MJuH_PWPTLbYu$besi>z1$C&{kHR6 TsT8aN1v!JKtDnm{r-UW|i{Yum literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/chisel/textures/block/tyrian/plate.png.mcmeta b/src/overrides/openloader/resources/simis_edits/assets/chisel/textures/block/tyrian/plate.png.mcmeta new file mode 100644 index 0000000..2bb4f32 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/chisel/textures/block/tyrian/plate.png.mcmeta @@ -0,0 +1,9 @@ +{ + "ctm": { + "ctm_version": 1, + "type": "ctm", + "textures": [ + "chisel:block/tyrian/plate-ctm" + ] + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/cofh_core/textures/gui/elements/scale_compact.png b/src/overrides/openloader/resources/simis_edits/assets/cofh_core/textures/gui/elements/scale_compact.png new file mode 100644 index 0000000000000000000000000000000000000000..baa8045d5235ce6bc7f7d3a7cbbe3d0f238a87e4 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%Amx6k~CayA#8@b22Z19F}xPUq=Rp zjs4tz5?O(K&H$ef*JHKoT>WA^3Xn4AIm&0vnX%W#7~W;f@vi}#Dtg7)~o**dlQS@o~8>5TGEFLAvz`|VZ; Pw2Q&h)z4*}Q$iB}HFQpP literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/create/lang/en_us.json b/src/overrides/openloader/resources/simis_edits/assets/create/lang/en_us.json new file mode 100644 index 0000000..f5c19f9 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/create/lang/en_us.json @@ -0,0 +1,3 @@ +{ + "item.create.brass_hand": "Golden Hand" +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/create/models/block/portable_storage_interface/block.json b/src/overrides/openloader/resources/simis_edits/assets/create/models/block/portable_storage_interface/block.json new file mode 100644 index 0000000..e20faff --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/create/models/block/portable_storage_interface/block.json @@ -0,0 +1,63 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/portable_storage_interface", + "1": "create:block/andesite_casing", + "particle": "create:block/andesite_casing" + }, + "elements": [ + { + "from": [0, 0, 0], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 10, 8, 16], "texture": "#0"}, + "east": {"uv": [0, 10, 8, 16], "texture": "#0"}, + "south": {"uv": [0, 10, 8, 16], "texture": "#0"}, + "west": {"uv": [0, 10, 8, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 12, 1.9], + "to": [2, 14.1, 14.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 10]}, + "faces": { + "north": {"uv": [7, 10, 8, 11], "texture": "#0"}, + "south": {"uv": [0, 10, 1, 11], "texture": "#0"}, + "west": {"uv": [1, 9, 7, 10], "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#1"} + } + }, + { + "from": [14, 12, 2], + "to": [16, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 6]}, + "faces": { + "north": {"uv": [0, 10, 1, 11], "texture": "#0"}, + "east": {"uv": [1, 9, 7, 10], "texture": "#0"}, + "south": {"uv": [7, 10, 8, 11], "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [2, 12, 0], + "to": [14, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 20, 8]}, + "faces": { + "north": {"uv": [1, 9, 7, 10], "texture": "#0"}, + "east": {"uv": [0, 10, 8, 11], "texture": "#0"}, + "south": {"uv": [1, 9, 7, 10], "texture": "#0"}, + "west": {"uv": [0, 10, 8, 11], "texture": "#0"}, + "up": {"uv": [2, 0, 14, 16], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "Base", + "origin": [10, 20, 8], + "children": [0, 1, 2, 3] + } + ] +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/create/models/block/portable_storage_interface/item.json b/src/overrides/openloader/resources/simis_edits/assets/create/models/block/portable_storage_interface/item.json new file mode 100644 index 0000000..6a8f482 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/create/models/block/portable_storage_interface/item.json @@ -0,0 +1,238 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/portable_storage_interface", + "1": "create:block/andesite_casing", + "particle": "create:block/portable_storage_interface" + }, + "elements": [ + { + "from": [2, 10, 2], + "to": [14, 19, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 18, 10]}, + "faces": { + "north": {"uv": [1, 3.5, 7, 8], "texture": "#0"}, + "east": {"uv": [1, 3.5, 7, 8], "texture": "#0"}, + "south": {"uv": [1, 3.5, 7, 8], "texture": "#0"}, + "west": {"uv": [1, 3.5, 7, 8], "texture": "#0"}, + "up": {"uv": [1.5, 3.5, 2, 4], "texture": "#0"} + } + }, + { + "from": [0, 0, 0], + "to": [16, 12, 16], + "faces": { + "north": {"uv": [0, 10, 8, 16], "texture": "#0"}, + "east": {"uv": [0, 10, 8, 16], "texture": "#0"}, + "south": {"uv": [0, 10, 8, 16], "texture": "#0"}, + "west": {"uv": [0, 10, 8, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#1"} + } + }, + { + "from": [0, 12, 1.9], + "to": [2, 14.1, 14.1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 10]}, + "faces": { + "north": {"uv": [7, 10, 8, 11], "texture": "#0"}, + "south": {"uv": [0, 10, 1, 11], "texture": "#0"}, + "west": {"uv": [1, 9, 7, 10], "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "texture": "#1"} + } + }, + { + "from": [14, 12, 2], + "to": [16, 14, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 6]}, + "faces": { + "north": {"uv": [0, 10, 1, 11], "texture": "#0"}, + "east": {"uv": [1, 9, 7, 10], "texture": "#0"}, + "south": {"uv": [7, 10, 8, 11], "texture": "#0"}, + "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#1"} + } + }, + { + "from": [2, 12, 0], + "to": [14, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [10, 20, 8]}, + "faces": { + "north": {"uv": [1, 9, 7, 10], "texture": "#0"}, + "east": {"uv": [0, 10, 8, 11], "texture": "#0"}, + "south": {"uv": [1, 9, 7, 10], "texture": "#0"}, + "west": {"uv": [0, 10, 8, 11], "texture": "#0"}, + "up": {"uv": [2, 0, 14, 16], "texture": "#1"} + } + }, + { + "from": [3, 16, 3], + "to": [13, 23.1, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [11, 24, 11]}, + "faces": { + "north": {"uv": [1.5, 0, 6.5, 3.5], "texture": "#0"}, + "east": {"uv": [1.5, 0, 6.5, 3.5], "texture": "#0"}, + "south": {"uv": [1.5, 0, 6.5, 3.5], "texture": "#0"}, + "west": {"uv": [1.5, 0, 6.5, 3.5], "texture": "#0"} + } + }, + { + "from": [1, 23, 1], + "to": [15, 25, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 24, 8]}, + "faces": { + "north": {"uv": [8.5, 15, 15.5, 16], "texture": "#0"}, + "east": {"uv": [8.5, 15, 15.5, 16], "texture": "#0"}, + "south": {"uv": [8.5, 15, 15.5, 16], "texture": "#0"}, + "west": {"uv": [8.5, 15, 15.5, 16], "texture": "#0"}, + "up": {"uv": [8.5, 8, 15.5, 15], "texture": "#0"}, + "down": {"uv": [8.5, 8, 15.5, 15], "texture": "#0"} + } + }, + { + "from": [4, 22.1, 13], + "to": [6, 24.1, 14], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 23, 13]}, + "faces": { + "east": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"}, + "south": {"uv": [10, 15, 11, 16], "texture": "#0"}, + "west": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"} + } + }, + { + "from": [10, 22.1, 2], + "to": [12, 24.1, 3], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 23, 3]}, + "faces": { + "north": {"uv": [10, 15, 11, 16], "texture": "#0"}, + "east": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"}, + "west": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"} + } + }, + { + "from": [2, 22.1, 4], + "to": [3, 24.1, 6], + "rotation": {"angle": 45, "axis": "z", "origin": [3, 23, 8]}, + "faces": { + "north": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"}, + "south": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"}, + "west": {"uv": [10, 15, 11, 16], "texture": "#0"} + } + }, + { + "from": [13, 22.1, 10], + "to": [14, 24.1, 12], + "rotation": {"angle": -45, "axis": "z", "origin": [13, 23, 8]}, + "faces": { + "north": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"}, + "east": {"uv": [10, 15, 11, 16], "texture": "#0"}, + "south": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"} + } + }, + { + "from": [10, 22.1, 13], + "to": [12, 24.1, 14], + "rotation": {"angle": 45, "axis": "x", "origin": [8, 23, 13]}, + "faces": { + "east": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"}, + "south": {"uv": [13, 15, 14, 16], "texture": "#0"}, + "west": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"} + } + }, + { + "from": [4, 22.1, 2], + "to": [6, 24.1, 3], + "rotation": {"angle": -45, "axis": "x", "origin": [8, 23, 3]}, + "faces": { + "north": {"uv": [13, 15, 14, 16], "texture": "#0"}, + "east": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"}, + "west": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"} + } + }, + { + "from": [2, 22.1, 10], + "to": [3, 24.1, 12], + "rotation": {"angle": 45, "axis": "z", "origin": [3, 23, 8]}, + "faces": { + "north": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"}, + "south": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"}, + "west": {"uv": [13, 15, 14, 16], "texture": "#0"} + } + }, + { + "from": [13, 22.1, 4], + "to": [14, 24.1, 6], + "rotation": {"angle": -45, "axis": "z", "origin": [13, 23, 8]}, + "faces": { + "north": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"}, + "east": {"uv": [13, 15, 14, 16], "texture": "#0"}, + "south": {"uv": [7.5, 10, 8, 10.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "translation": [0, -1.75, 0], + "scale": [0.45, 0.45, 0.45] + }, + "head": { + "rotation": [-180, 0, 0], + "translation": [0, 22.25, 0] + }, + "fixed": { + "translation": [0, -1.25, 0], + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "Middle", + "origin": [10, 22, 10], + "children": [0] + }, + { + "name": "block", + "origin": [8, 8, 8], + "children": [ + { + "name": "Base", + "origin": [10, 20, 8], + "children": [1, 2, 3, 4] + } + ] + }, + { + "name": "block_top", + "origin": [8, 8, 8], + "children": [ + { + "name": "Top", + "origin": [10, 22, 10], + "children": [5, 6, 7, 8, 9, 10, 11, 12, 13, 14] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/create/textures/block/portable_storage_interface.png b/src/overrides/openloader/resources/simis_edits/assets/create/textures/block/portable_storage_interface.png new file mode 100644 index 0000000000000000000000000000000000000000..3566b15cc1002fa5f8dafb315c8620a91a3183da GIT binary patch literal 825 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCik91o(uwx;VSq**f}odwaOMTUpxb>l>@7X+=gxhJ=Lp`}@~bS358=dNVRc zFfzI`GNmyvOlM$N$G~uwfng~FgOZYZL`1~x+qX|0Ig*@~92FbY*3n*5-_X?BQs2~6 zSyS26-d0vwUfd%|udko#sS)d>A}A;rYAs(CWzvyq*_3FNAE;d! zX)G%%+cjZAae1+xo}P+|il3Rx+LbGTjy*cj%{Jg^%{{$rq3@+7tqf(`%2v*~eX^jQYaN1_HVKQH{Ix@AJt zAzf9bv+GTQqhw8u+bu=m3WLuimy@4BLgv%7tWu^dnhSjtFF$Ql;uUmV5)_!2LGkCiC KxvXNS%Lhz0G|-oUR(Fi$JdpcI{bKe?Rrkqi}scjJZ*5ElM?*{(g;rxl#20-v__0c>$f^m8G!{NNJS>`33(c z7BCpC_z(ls#aZAHSL7d#&bJ1PUPvo0|jgR zuI^l?&vSO`+h6NS%LhJ0G|-oXnUQ~FvFRJj_qj<2PVa>sB-f$Q7N$1`~QDWN=CMuyGNX=Vn;_u zSyf$Yl*P)GD~(J{{{7#1WSU!!tRk8ia={|oyH*`i>0}XDNZ1EUK z$&>{71^>ql7{oU{x(-ywS>O>_%)r2R2!t6$HM|-?W_Y?dhG+!$o<7aTWXRzV_+ob1 ztwoECv;P0LU%KSjk*U*p=deiF|K(-SSbW>6cWMEn1^c}Prixk(&Mxow8qQeMaA#VP z!^{a?Ou1Ww79>Q^76^W~rBF3%`s;NL+wW;!FSGCCe0s*`%rtw0Q_6*tZUx(^b$C2q k{iaB}XVKZ*gWC=7HDn6zzFVS~33LmCr>mdKI;Vst0KWX4Q2+n{ literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/enderstorage/models/enderchest.png b/src/overrides/openloader/resources/simis_edits/assets/enderstorage/models/enderchest.png new file mode 100644 index 0000000000000000000000000000000000000000..11364b8f3044899e42d9a30d362a1f133e40827a GIT binary patch literal 1293 zcmV+o1@iidP)A!TyV(zu-OVP^CXv!Kq(lg`YQzeKibf=jVDP#Z_DawTQSrtKcMrBN)Y#bE>bxKqx~Um2ekue%hlUb_KQzRC=$pXCJlstF}hu5@0Z zxD{4Us?mGAy4|hLE5gmY)JONxpCWPcc@mcP1l#Uxl*%PsDrKRt;!fuguKjD#GolAW z=@Dl^jd}4pt?E1rhN`1F>)?$hX1ybR*U6g~Yz-F%%;@auf*z7w`t)0~!{O(iFzZI2 zbI-oSUeehbz=-PJd-yoHyh<_=tti(%oH2i&&#S!p+XcRkq|Jf+u2Y*BK!~0ZIW>E> z#-dOen_D-fKi>ZY3M*K3+01R!uRf^IcievrTTkb9Jg2&5kAP5;ebTPOUPsIQ zV{ZVrCyvFsTp3QicMR}PO3bw%01%6HnRO{Oqy$A#&@_n<5+M{+b&W_Qju0Ibi~3S^ zk`gmKv<@E8Q)wR2mH{+PBbRF)K&`Lm=8;wRN7EAt1iFtZ< z3z}9o>%K~fwI}az+_O|#2i&L9yrL}wNZHKOwxVwseoKk9X#nTWpp@I&O)Due@M%g6 zKv6av_l?JUfd5cROsAW8Ttf&!BoaqT4FDk&q|_*tij0p=a(Ur9U=3&^mF5w<9}L~I z^%blI)YAXsjixmery;A;0S!tpLFMR9(+It5;fe zt(13bJX-@ief~3`()()Ul5QTGHtUAYZj#11>*;oDJUha%;RzP!mTdp3V*N8iVyGK! zcmjaMxuu%p^)x_@Znwr;yLi^t01D`yS+xgdShAkCX1tV4$g`1_}dPO;$$ zM;|%;sPoE$3a zyS&(#7{J7kHc$)?4LnputhA-nR<>okP^ggIvlo_LY&kw`=k)CMY)dz$Rhi$*?D@`o zGyiX9zL`0zDDzht08XbymfOonEJBvsi(n)c0boe?0bqoDN=82UB}Q&hIr&emME8fe zb^HikEtiPik5|iOxS|Sx+pQPr4>V=&GevERGJln^x$bjH7ZjS64jnjz?hlhn{Mg|n zVY^Np;KHRo8n;ywkLtKQ8u6&k#*?-5bOz{t?=byAKgQ)V%DrXV4QH%9sh&VQi}Id% z72Ik*l9A6;wW&_0M(Kh=4whFYRZK0jH&x@*N*E0JDAZIQ`+6@2%PRqh=>0&BS)SZj zh0CMisHmc_v4v|u!PAcu`?ftXkSXn_;#j^2nltm6sy5ZSJggnrVXa%bppcX1jO1{x zqmhoQVV+yRh2fE$alVFOm@^mdI_U&{EAFDQ(M`KU- zX#nbf_yvD`6N4vek_XQEU~SN@gH&7|4VOpb{i8=Hn|;6XY}sPvTt_2n)&TLSp5)W} z*;nI&u*2oi==He^}fe6wCB*g0e zFz!*CSIY%*CmjSa@ZlR*Y<<$DsPM7V_Ti#cj zTgTNf@u)toy+jU9Jd@S{?R>1IH5j`T5!xn;$&uyu($g83R9I>Xh(U`-b@B>koAxDh z^UThzK3?t4X5Sj9olm-FtA4AtbgM;Za{xrzyUfPyMp<-XO#yLi-pMEf%zFOCNe5Zr z-mx=dAFDR2KD&4TRJ**MXfqUCxYTF9PogWk%}ES;e_+d?vdG zxGjANZRujL{#Fw=q7Arr>@*t@m!NEtm;TVun1G4W=61A=I52G41aG%q949E<(H5*b zo3W2o+eG`C(53=h`SeSiT8Zt|@p@xqEckd3fQWkq1(wEA5d-5c&Lh~m0_dPW&;&*0 zWLGRov~lb(UQIKvwb`4h(Tej3)}2k%g^YZx+9p~xLYr!Yd^g5=WCWS`ShY>GYJ@fwp#I|} zM%lW#{Mi@a+8>Fl!R9wQ6p^b*XKmMcMFb^|DX*5x-ezn&@eobGxhBu?&dUS4UIh{@(Y2TO*rm9T=&^|e1 ztl0Jt&1=`wyKjirnod@qBJB!L@=Fq*oN4wA^OJLQ-wyp=@;QV(=jFEuzrACey+QkqHLWG4edfZ*90$PB-F~{i2@?D5b$T0$IQ~xJ za1i$SEAO+lmz0uZmq;WM$$tz5U};mWQN8$48U}R&em?+h zxv^NIVNj=SrW8#xDnRd#h3uX?K=axy^zIv?qNbDjnN~JUr~vcU^s&`FhpjEg@i{eK zS=IpMRWq$^S};?frt=&{#l=Z4<;T!nz+L|_1i!>lUcluh zLBZ<&;11>UlvjAW&ey7GI!_1MaDrS-?*EXJ7z@0DS%_-*H zEuq6aoTBEQ#h^)$X+aizf2+}!+^<&s&icE@F57;asgS|v{&vzQnr?>&Pk(7t;4xh_5&?3fUfiH^$kFTl#;&n{`-?yF) zraKz)DWp0b>CKPr?DClN`xIF?j+idYlX@x|yJ4c5yDttVoYnSC-BS^A4Ls7aVt2k& z!(Kxicso|glTHMvE<^Y!bxOh*%llZN2`O*VhD|`N#n@l8AAB^_^Z%9?oiO!XzV1h} zr%atNTX?1+rbDE(qj#tzXqg2k3H{Dj$bjw>1;Oa>6{(!(L05Y!7qCxNt77rRc(pMx ziG(qh0|>|8&*LnwNJtDxr8238wD~pxT{lV;LN<`x|0B;yJP1T%N5*bQ{uaU1qRl@? zPOEc$j^-Hg(1MCv2l9Xdt0S&TF&1yK%>9AHKc3)r%@hH1WACD*1ChH6DeA?p3$Yop zP9=>9QhG6=b-FD;*J%20(}0**Zii2J*KkV3*H%2O;X312rzuTp(2k#Qen4OJEIR4u zCu-BUw@oZ43Z6cCVqUE7vTYz~7v)$Y-7;UG*a9Gscysv>f8#`1gH|j4HwXb@=B`ZT z6sG@7v2ReB8J6$@WssUl`}9zn-v)TOxu(=C$(+4?XV4klM*NmKEGWa z3Ecf4!ON8YqV6N#r_xUhE8xd;VUk_opOkwqU~576suTT4l}q(#(jM(h@B`LuYM}(t zUhr+Pirl~~JOZC>C|b*0pAxGl_gJJkJ1i}%P*p$DBwGlV6_OUlD{^=Z zNK!*fS8uypDqC|CjjT5Gw#9#-cPiPfdytG4u>1GD@&}&{dJoTjDa+%l5>k>a;*d?W zGrnoY^9FOT^8IHY8ra~mSiQ-!ypdtq+@P0hU)Tm)2N&}q#Le?VbIkLW#FiwlEJ&(e zRfB3WtD0O_Dtkw){#eadp{k%JFXS=R)Y5+>DJ2_hHEQM>RjXg4)+=5%*i;4U_~;kD z*{&&h?bHydAMTh~>CxD0D|uI~?%<`INoZyDgftFwL%bd0mfr%mnbr?a@cb z0|n0OqFm}+-rQ}R8C;WTk?9BN>gi=XzMKYJdy2b|%Lg9r*&b65o-El6OwTJVy`Mh{ zh1`PVIi!D=4QfGmo>Csl9dZmG{7JM^?Rzh|D~Z9g5IolyRMoV+vrWM`vfBYhaVGre5^{|Amd z4kp+W$c~YWwTz}olu6i(KN)^lFxE)ixmvUuX*OPZr{r{OXY5c;S#HZ|3@zNi-vDhO z^H=n*@SpL2u`sj1x^Qm+c1uQM_G!tXUc_10?g8(<)qzL&jfl~w_re&HuHwbXTr|6&2ofrJ538zo@CUH#XnDbDA7X1XHJuBW*5Ue2B1jZX>`dGMFxGIRL zf=>+bTcF>WQ<;Pc^@`q!GKImW&8A;Xr-9$_E%-_5wd4@yZ^CTC=qzW;xtgY$H#O*7 zf9b!dlH|5zxio&4DvVUbOzsSAowZ$gMpl~pKuIzb`wYvU5;cAVQ +O_&{&D%i^ zg+amm4B%=JMV?s6HPeCl{``J(u{p7AvjVeVLzH33N=INFT0UDN=TG*poQoVLu^3|- zb03rbs)09U>x200aE#B8&v&1A+!-zrhxGNE-FAQs|6NhJugz7b*grVT6woE zcIVf8U0aNd2Zyt)vSfoqv}>;v`Yau%lDic7gSp4^)pSenmDz~d&#@I}#!kk3qx_A$ z^u6QxMN2bzd8wFIaqscm)cb595i}8r5eCvx(w((RwQxI3qZz8(dClpoU7dX=1|BUC zu{05ly{Hc{4(SisV+>?kc>A|z@4>{w8r5XAf^fW%r@iM=ds;wo@wKAVVolyvKJHt* z!5`Yc*P>68SF@(rKS1Xcqm<4z)AyWuwjSQ_s}Df7vI&r36R>5`0)z|vG%a5Gl%~_l*f!tN9eHAY(f=Xlvxx^e%@I#r2p5@U|m{W={K3i zkfVD??N?s=)&#_cHa4Vg%UJ~#5X>YepaEG|2)=x?HEPn{(lM2dI#c!u!6*-N6w>$m_nTM>#I$_TQsIF8aO3RWv@yAtt;guGLxJd^^ZFQN5BMs@Re$x8 ziOW!r#?iy?b!BJ-+MvSt$g%+kZ(6jy4-;=r|d@58ThO`QINmxYNvL(8Uz$W9PaQp_nOC(=( z+RtH2kccb=8}9^K^!FTm^6W6}XjL#bR%W#M>gr0SrqOt3k|)BKRak_S@ftNXJqX0f z#Kg|XNIV=gG>lA493T)cF_3|Qje&uMk&%UlhS=FaAU6DgS2ykIOI_L_1BOp+gV=F!ufn5;h5A1OSj)8tLiS*c4kjx%oy{63QYgn!qR5lK8F=mLA13-Q*Zn6P z7J5acX29+1!G-@UlyFmJnP(BPuUlZeE1D5ZwsfC5NPAaQbCTg)frHoQm-ymG`Jhi( z-q8YAbC2Jz?eDE=5$S-lo)@3bLa99E1$BWr*GpYZq$?>q;z2Bo>w@Luh8#sDns4rV z=#j{)JgsDwtqTCm9!?HF=DRS8y11A2+d~ z6>IN-1GW3CVP%sq_TpUqIBiu4@3=0gGiSikeT{9A`Y|0ZT{CXDF@R7cz6dvlz+J6@ XaCHb;D!+;N;s7J4nO?(fx48cSRXw(e literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/enderstorage/textures/endertank.png b/src/overrides/openloader/resources/simis_edits/assets/enderstorage/textures/endertank.png new file mode 100644 index 0000000000000000000000000000000000000000..94b181800c3bc2a30d15a1de33a43cb49341cd00 GIT binary patch literal 4111 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 N002ovPDHLkV1lSh)QkWC literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/extcaves/blockstates/brokenstone.json b/src/overrides/openloader/resources/simis_edits/assets/extcaves/blockstates/brokenstone.json new file mode 100644 index 0000000..38bf396 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/extcaves/blockstates/brokenstone.json @@ -0,0 +1,9 @@ +{ + "variants": + { + "": + { + "model": "extcaves:block/brokenstone" + } + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/extcaves/models/block/brokenstone.json b/src/overrides/openloader/resources/simis_edits/assets/extcaves/models/block/brokenstone.json new file mode 100644 index 0000000..2c6506d --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/extcaves/models/block/brokenstone.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": + { + "all": "extcaves:block/brokenstone" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/extcaves/textures/block/brokenstone.png b/src/overrides/openloader/resources/simis_edits/assets/extcaves/textures/block/brokenstone.png new file mode 100644 index 0000000000000000000000000000000000000000..99b0f886039631c62d0f7e457e2be621f09edac0 GIT binary patch literal 835 zcmV-J1HAl+P)KX`1r(_QvVyDX!}xiXytMBg-=D^_nzI3B!;)&ncJ7NKq8wx-R?uo>HlVVHi}a zRi2-pX*3$xwoR60n5IdsRzp=)USD5nx7!qpMI?ZelM}))L=;8#`#qYb(eL-MZJX=s zYXE+Sw%aX|B;or$0FvvvNRmXoUZ+y2uv{*gPNz7I!(cGLaU49)qfjVtczB4e>)5u< z_xCsLb{nButzuagVHlDm36sf$X0yrJ*%^W$psFfC5YX%OkR*x6$43mqz%)&K-$xJx z0o%4o)09%FM5ohXHk;x5KANVHBneknS3EpCFquqfwORn=dCu|iF+vnYq-lyQ%Zx@N zG)<#kuk-KUKSrYwd7kt1^hCSe{%fHq3aYA-=Q%>J*Q3+vkfte@mzS*9YZi+IK@f0r zbHmry7Z(>71VKQpR-@5q&}=qwT^Gl3kQR#tk|Ys^A&R1~-EOfgi$bA*>$-pbwOWm8 zwTk07BuT=rp7inYLATpwFc=^R0-`8#e}9jvsuYVwJkR^<6Gaiat}~m>Fin%mWP)&h ze$HyOLJ$Ntn+2yk# zWr(8qbNB0dbaVuOrfJBs%xbj)KomvtJO>~QLv&qdx7#ruk7+a-{0A-+Z68ixsVo2h N002ovPDHLkV1nTddlLWv literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/libvulpes/lang/en_us.json b/src/overrides/openloader/resources/simis_edits/assets/libvulpes/lang/en_us.json new file mode 100644 index 0000000..6757f28 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/libvulpes/lang/en_us.json @@ -0,0 +1,3 @@ +{ + "item.libvulpes.linker": "Rocket Linking Device" +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/libvulpes/models/item/linker.json b/src/overrides/openloader/resources/simis_edits/assets/libvulpes/models/item/linker.json new file mode 100644 index 0000000..fe33d56 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/libvulpes/models/item/linker.json @@ -0,0 +1,8 @@ +{ + "parent": "create:item/linked_controller", + "textures": { + "redstone_antenna": "create:block/redstone_antenna", + "particle": "libvulpes:item/linker", + "redstone_bridge": "libvulpes:item/linker" + } +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/libvulpes/textures/item/linker.png b/src/overrides/openloader/resources/simis_edits/assets/libvulpes/textures/item/linker.png new file mode 100644 index 0000000000000000000000000000000000000000..3f7c72c7b4b2bd9c824ba02c65809d3c8db4cfb8 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%LiU0G|-o|NsBrx%JT9&BNK*B{(SL?YsAVGZs`-Rz)YJADbfMV0L3Dq&*uxs}6H{a_HUrtB=lZ19t=qh0$;#Vz?{D98KvPr8(!vU8cI}6t zoj^*qB*-rqXa!Ed5ZU%T3#gE@z$3Dlfr0NZ2s0kfUy%Y7Z1Hq)4ABVA?d|3}tia*A z_R_7UP3vCA>Hhyecem8$BdP8ld44Q&q-!+#4_WvXnu#~5$Dd+n*tlVdkEbTLzIeyf zU?s=Yr(d}?ZuFYuqjl&uZ&Lat6|b&|fA8rZjp8s5dAvVe-v7@*NBOw-C(p$66f-a6 rC}BTRxGkp9qJNt9f48c-mYeL>M+FkjujrlxbPt24tDnm{r-UW|5J8}c literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/lang/en_us.json b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/lang/en_us.json new file mode 100644 index 0000000..dfbda32 --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/lang/en_us.json @@ -0,0 +1,14 @@ +{ + "block.metalbarrels.copper_barrel": "Tinker's Bronze Barrel", + "item.metalbarrels.copper_barrel": "Tinker's Bronze Barrel", + "block.metalbarrels.silver_barrel": "Arcane Barrel", + "item.metalbarrels.silver_barrel": "Arcane Barrel", + "block.metalbarrels.gold_barrel": "Cobalt Barrel", + "item.metalbarrels.gold_barrel": "Cobalt Barrel", + "block.metalbarrels.iron_barrel": "Silica Steel Barrel", + "item.metalbarrels.iron_barrel": "Silica Steel Barrel", + "item.metalbarrels.wood_to_copper": "Tinker's Bronze Barrel Upgrade", + "item.metalbarrels.wood_to_iron": "Silica Steel Barrel Upgrade", + "item.metalbarrels.wood_to_silver": "Arcane Barrel Upgrade", + "item.metalbarrels.wood_to_gold": "Cobalt Barrel Upgrade" +} \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/copper_barrel_bottom.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/copper_barrel_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..856fa74ba2cb36f47de97121e9e69172aae6ae9e GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFO>_%)r2R7=#&*=dVZs z3Kn^~IEF}E7Cqz0cUXbP<)Y%j>bADpCJTq4E8HP62Ry$1T_5!L>WkMW89WRGc5d%4 z-Tgsn@^k6R9;>LYi#pcHd0d*$rls;BLFni=+1Gk+cG(p!ny^U8oJ(MjMp5qBvz>Eo q1P*^mEZk&s3s!tjVP+$Y86&Wvs|? zdXmfM8}l6U6%~LQISV`@iy0XB4ude`@%$AjK*35+7sn8Z%gG5XPHc*994Q86W@d(k zg=UEbyxu^->zk^f|6YTgu`P0QIpf1+H+h_zHnYrR*{No9f}!+-$0wf@fk#sk=N#5l zJ)v+^_pk-`nHjd;0bS7^6Au2^v~g|c>C_dC{?7B2c;={R9^p8|vpLOgmSy&{H8UAb YK2sI@cj@|Spd%POUHx3vIVCg!0H+&Y1poj5 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/copper_barrel_top.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/copper_barrel_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9c169fcf7ec1ea0932c1573ad6a9ec89ff716eb5 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFGDkqy^K4nYEJxWE^k_%+`4F<-^Z51 rebVa>tbTMrciXm{kAL<*{Ki_bl>bfFruAEaRx^0I`njxgN@xNAY{^%| literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/copper_barrel_top_open.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/copper_barrel_top_open.png new file mode 100644 index 0000000000000000000000000000000000000000..24dfe4e745ba8078c92e9ae8e2d8a9c51f74759e GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF8skH}&M2EM}} z%y>M1MG8MB;LCLP!vcBP&~~c)FN4bGkB{sQBdz7ZSwX*#w_o__8TLSe;Gu z@|RDaHYF%1Z;|0}>Xn#s*r6xHjjgdjV6lh>Yr4adhAf4y#;gao9r(^b literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/gold_barrel_bottom.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/gold_barrel_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..e233b4fe1b9c1512d51149445db455c248d60954 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF;LXS;AugrQE2tr-YUS~8Vi{1Dv%n*=n1O-sFbFdq&tH)O z6fE*|aSV~TEPBR~@2~=o%SFY5)opFHO%@J8SGYrD4tRY1yFTdg)fcZ%GI$sW?A+d8 zy8DCD+Y^SCshO-toNg3!@#vaj{t?6NCdG+~jFIhVj5jiTJMXFKQG q2ps;BSh&gN#+iF}-<0e$`M@5ylE3cS{wP(T?F^o-elF{r5}E*FI9Klg literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/gold_barrel_side.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/gold_barrel_side.png new file mode 100644 index 0000000000000000000000000000000000000000..8a4e075f7cc5fbd203a17f9812f88053aab1598a GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF*q7o z0o8LBctjR6Fz_7)VaDV6D^h@h#hxyXArhBudp7d67znU@KOpE*u2yXNLuTfU`v-Tk z>|?#m=r`ZZkZIvXui0lB;B9CT&MT-PE~OtD8ft88Y$ViZ4OGBc;1OBOz`%DHgc*cP8<5D8%h}AG>55bFt{cZ!B-mt;B9CT&MT-PE~U@FzyXvw6?`ECNO2Z;L>4nJ@ErzW#^d=b zQh)5XM@)0Npo#V=pDkRa~PCiwiqmMsCo>TIHyO%yoT zjGP>M0+iXF8VD#)o#@DLh{0>2VMCTeS7X+LTMyZs))XWOlo_TO8k8BfSUCqWGR&({ Vk`}0_X9QZs;OXk;vd$@?2>@PgJ$(QG literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/iron_barrel_bottom.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/iron_barrel_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..0bfca3bf5c8fa3c132bf850cd731dcb4d21ed614 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFW~}dEV|m^9l@Cysv%n*=n1O-sFbFdq&tH)O z6fE*|aSV~TEPBR~@2~=o%SFY5)opFHO%@J8SGYrD4tRY1yFTdg)fcZ%GI$sW?A+d8 zy8DCD+Y^SCshO-toNg3!@#vaj{t?6NCdG+~jFIhVj5jiTJMXFKQG q2ps;BSh&gN#+iF}-<0e$`M@5ylE3cS{wP(T?F^o-elF{r5}E*WAX$U} literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/iron_barrel_side.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/iron_barrel_side.png new file mode 100644 index 0000000000000000000000000000000000000000..6affd82fc59a8d253ed9f7447bad37f4f5c6c4bf GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFM1MG8pvWo|Ng@vPf#9y8TF4+JXUEbxddW?!977~7>-Jp~JmkRP@;z@|1M^pTGff3G-XkqcItTx)o?y&ppWk*|PveVW zo8~#O(>s&+Iuzn|ypLV7jk#EK;Ww7I=T>Q}nJ(X?(95{9s^-M6=JKZH$*qg#`F(6D r+$X*M!0JZ_bhmBG`S@r5!*8q=OZne)ZCbw-Xf=bUtDnm{r-UW|GWJ{q literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/iron_barrel_top_open.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/iron_barrel_top_open.png new file mode 100644 index 0000000000000000000000000000000000000000..e7603b377997b6f06115c460a1522e7c06c44a61 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFpvWp1LZC?_K&E-orunP`v%RKr=|5n0T@z;_sg z8IR|$NC66_db&7cUp55@tFwt- z{_^S5rUV7$EixQVy%JLnJM@IOu{9P5EEdsVO?Oz*kfqSonDyY+LpG;11xW&BhG~Wd gWri(Q&Vh^!4pUTOdA3B)23pAA>FVdQ&MBb@0Pb=`(EtDd literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/silver_barrel_bottom.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/silver_barrel_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..c03c31b0a263b372c80bd750d6ff7b084564bc20 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF=Wnm08)9$gXK5be;(9*M?k7-|v%n*=n1O-sFbFdq&tH)O z6fE*|aSV~TEPBR~@2~=o%SFY5)opFHO%@J8SGYrD4tRY1yFTdg)fcZ%GI$sW?A+d8 zy8DCD+Y^SCshO-toNg3!@#vaj{t?6NCdG+~jFIhVj5jiTJMXFKQG q2ps;BSh&gN#+iF}-<0e$`M@5ylE3cS{wP(T?F^o-elF{r5}E)NS%G}B0G|-o(vXlWKYtHh%T!1ISX*yDOY=nDICDomcBgEb=#>G{16JrO^1kM7F$YKTtzQZ8Qcszea3Q(}h)5S4FBRI9Mk?XJn zhja33+r4?yZ~y=Q=1WB47N-su1Ac)!Tiz~`4#~ZKtI*_oy`oLk_l|ezSNQU6^_NEU zmCdeM^{J}+-LfvnMxTxdF+asLR<^JcGwoEG8_#nc)Bm7;d?wG)jTK_YC;t8WsIurn jOK7#Fg-6t?nhEjJX>3>a*_E6Dx`M&e)z4*}Q$iB}1h8j% literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/silver_barrel_top.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/block/silver_barrel_top.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d7c8f9963e62101518e293ab6dd6543457b192 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPF=U*BU;%8|dVsDqo8)wex_@rmg7oY;p0*}aI1_r*vAk26? ze?=U*BU;%8|dVsB@nsHh<&sU#w@lS?E3sD`t^BeIx*f$uN~ zGak=hkpdJ<^>lFzk+__k5E8`V$jX)~o-QWNoUY6!Dt`IGg#>YTHo@l?zHAB*R%a8v z{N>Z9O$iFhTVyz#dL^bDcIXLlV{0rBSS+H!n(nZqAxojFG3&vthip!33X%lM4ATq^ g$_!hqoC6sd9Hywm@@$Eo4YZKK)78&qol`;+0DwA0ssI20 literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/item/wood_to_copper.png b/src/overrides/openloader/resources/simis_edits/assets/metalbarrels/textures/item/wood_to_copper.png new file mode 100644 index 0000000000000000000000000000000000000000..2bb3d0ace29f20b53bd50d8c1e5c7342f999f6c8 GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%Lg50X`wF?J)))ugy(&R(NxueI#icf6nKoVN*6k@)b+M+Cb8K4@E%HN+%Oi{@=h{_A8rQ{`)I^)b zI4F0g+f+pw>uahO2kS@KE9C{~mxSuq$C@_An`QcI#yKkk9bWcH#sEm!lmz(&|0f?X z?CyBI9B2+_fk$L90|Vay5N6D}*2xJJobT!47@`sEdiFX~lK~Iwg_0&_SIMvf|Ck-> z|NqA?yO1R}>CWc~4j)%%{bd%2>N84URP^a)oonfC$k1YVtaXW)2J4wASp|2Z_CDNk zV9AO+lf7ZL-zNS%Lg50X`wF3>rBROWrU@IxCmnVh`HJU^bD#X>nhs&9r>`DS38H3Fg!C?5m@U zCuQ5TC0WKeDD`LBRz@04&b2kx)iBl9vM|=OGBq?a(AH5`DhbiAi8iT>FpIQRtd2G- z2sCI+u$Yi-+nH*e>ZRVBY15T%-JW7q7i&5>$F?QWB0to)Ji>T#u3dGcab1i_O|)5z zgK~GeO;x0^zNTt%uzr-iQeJ?5NvM8(tZ8GsS*E{coU<~};Tdx_=>jR6k|4j}|KtOP z-5sx&1I^(q@Q5sCVBp&i!i*NI!74z(`JOJ0AsWH1XRk9g8St=PC~0DLl?*HJkJ+LA z|9||l3t4iL?tGr$@Nsq4UuJ=*KBELiMW1fgxt8vR3@wJoT9=4vu%4NcRd6S2@53Dj zmaND#*&BBIeMw_9$03b(nyfJrFVtTqSa>NS%Lg50X`wFnl|RQ-#iwR6x(s@#N@@Z?A%-H3@x>(c6Ikqi{7WtvZTYh5Cy!Fpy&R>7U9y$^RB zSh6C|WN+B*_a%+d9EUXCX|l#hyik9cVBzKPYO>U^$uD#EMKo>L5S1=nznfW+_YMEg zk0sw2>cbXNS%LhG0X`wFiM(;IckMCfbbOjHYn@?jw_-tGrp>f``zd*LO$p}H^6aalj3;H= zv?W=_I4JdJ+EzvyP0qD7*3~f8*Rn9yvobX_GtkyiS1Jk7uZcFPj4+F|RjiISD+n}b zOt6@cZQGe@o$96Dn`zUPZrz?@RTpbIImfmo(IP+8xIDsma;{xR_?p ze#Wo0WfxvHZ4q!QyyVQn$@VMLOrkHS;Du+?#}upC`qLQ1!d}-1=ajGFeZznBW68Id z{=6N9MVx}lA)W=ko1+Vtr#|>tv$uGw-Of{+{xEqkDa8meh`#_jl)=;0&t;ucLK6UA CR@@f= literal 0 HcmV?d00001 diff --git a/src/overrides/openloader/resources/simis_edits/assets/minecraft/texts/splashes.txt b/src/overrides/openloader/resources/simis_edits/assets/minecraft/texts/splashes.txt new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/src/overrides/openloader/resources/simis_edits/assets/minecraft/texts/splashes.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/overrides/openloader/resources/simis_edits/assets/minecraft/textures/gui/title/background/panorama_0.png b/src/overrides/openloader/resources/simis_edits/assets/minecraft/textures/gui/title/background/panorama_0.png new file mode 100644 index 0000000000000000000000000000000000000000..043075e01e3b041fadd1e3d2ca0cfcfc77637bf6 GIT binary patch literal 312060 zcmWifXFL_&AIHxf_TDpl6SB8!kF1Dn*QOs)_Pp1MB4m$@ibyicmWznYj0kb9$lja# z@BiSu&N)xcqjO%L_xJPpo@XXTI%LGm!~g&?JzY&x0O0?Ya6kzAH|ciI*8YFzu4bqP zKy3=il_TE2J;cvcM;%lRv;GAD222d@YcbLiNwbm&b20Id6H-tS^3xOZveJuS-) z>o7ggrFmq)U?3snVQuLlM)fH-Jl;)5TH&q~DG{>}nU4Zrb4kJrQxQRCzDz$;Mke7; z1Ah6(GRDx#LoK_ofwAyli(IP3TBg2S0GJ zSOf@rJo9087qm?Alp0NtjrDXZ33KLUb$c!qWb0^}li(+G&$BB(cF0e()K-oC7P2-? zApV2t?%w^e0}Bf#Q@PvEmR`tdvM9LRBDp+&{v!F_*D%c-$*05ZWsB{3@%yHgTIq7` z^kQy-x#}_O>dv+GRi(1&W+DcG-nYZk^!h7Aotf?Pqu2y>EmAX5wzKXTdNcia@BJtl{&So*Z*;!G418*x2*U!EbLyoQgrHDLaaSiJhYw7I?E7R2!e`WcS z+x{)@jO(}0eKK1UJ}CoIrb)NF;@Rf90>^ZFWA9k?OelU=#jNCdR<(7-{kr!8mHcaI zxkUB$*!&{)(P*l{W2L7##<%@iv4(H6OCR1z`ur%dR+%xHfyOx?Q;WqFkywB^it5~d zc;7av+B~3n!bC&8H2nA7@SK+QOxBje$0+N!IsYC8k*}_m9{}Xt{~wTVKIJX|-Vvv# zsdhhjW~KdZ)=E>FNJ5ecHz{)7BhWC^#D{=&qGZY>My@t-X2Hgpr5J^$%RQv*(7toh zCfn8hdu~qUepIBU=J?@>jyLir8X%5Zqpudr8>P%t3 zZmm{DT`{Xfw%vqXr|d-e?7c;O@-a|Z+J&I!ZcevQ9V+$?`e(IO+q3?y((N}LU%p(# z&Z(MyKk95mU0+|Ep9FQhJt?@^KJnaG=CW41w(X%x*3vF@MAv6P|ta@FP82+)o6>5vFD-xQmMz2nP`;u{I+>A7zX}7&M=$7oicN zwULWIimrEWG{SEm#wmsk7!HCP^(aVl zmo1o`x3>d;>k26K??27`>5i70+0yHHk6zy|vP&GcB^`84tiroD+D@+{RtnSWEnb$CO^)C~ny-705Lt~I zMBZU_Lv}Ij{f4i{wG* zoirn@7pKJcJ^Kr4C_q8xDU<=<`ud~nl$bnl3{Ese-G3V5z2+oqaHaxxAg5WDDmY@{m5KsF@ zsjx_(r^E)T9dH+0#~JoGw5k>}c3iX`AMj8@K+6+}lEa$cPPAlP=A+D(8Wx+@t&e;NkN z&CvWmw_9WPzU(^afxrizM{eC=2<9*_V0vCg5gB~WOG%jrRPg~4ex`;R-az-j5F6Fn zt@wK($2ckl}gZ@(+fi;^QwJ1Y>Be>iS& zNENb;ChdiD%nAqKQSdt}R-OWJ!AuD?2uHI>_IT_{E0~~--G8w6cJM@Nf}r3iDn?%V zz1>R!ut(H%eOp~Bv*?|9a@LeFeJcIoEvF^jm*<>eh_>eWsbPiPa{SA z7bb3AXFHc?aw$Ikkhvr`yBt2+NMEN|if4T_iTSJb!D3;mH?tuQ zOrS=ZbDv!zoCfzC^w?Hy<3m@%?Fea0yoPzOMXMQdY6g%ipN85f0;|>=(;aWWaVSu} zXNbCe1PFmwvzKWQ6Rip4@`C*23P}$5Vg<8hb*f0)dG^ene~e146d!bC&eWi=u&!{O ziIx@P&PjW|An1K7BW76@g9t?7fpz1if3PX*;W_>f2uQc(S%JuVD} zz9POMYd8t%ZVdEq&x26oGPWqXecQYER`0msUO~!U>v-kCWEL|Q+}_Ra5C$|qP7xWG zScYWN9}wR@Jlh2z&&bb|iqHQ^r}~?BsQ5Y}KpRT0yr!!)kZRhbkyASVx~+$nuls|g z`Uve7saj~XJdfLfud4?}Ak|y1Y_~TqR`qyvgc-*>vHKkaSN0zrY2b?oW)Rj#Bw|#y z$Lb~{(BOJ4avDB&T)Z3gbLTA?9uwO}<5yhzT1XJ*swwO-(*|0eYCYQmcN{d|s~$A?v@oiIVh;y}LQe%mJdCoeF8_S)NUuqOr0N zUd#)>Rg}|2%g+{<+Vt<7L8ts^aSpJL7i#U?d%Qe|eKP6OrOE+ZTuqL3cg04#{Y_^E zRyfTm@IxK>!D#&ZYE^;4qWDaVNv;`5@y{}u+4nX&AJK(ls6nV4l<++y>vYj!AqdjT z1D3;wVd9XHZN$x5G!sGxv_Zp2kefu9&AjOvlF?<=Nqamb@n{IbSan5`2}2@d;4Qcv zc1z)#Kw6~i^@uBY>W_I4L~@(FETcDZE)BZuAAK>aauZ=EL`Hne3@R(sS$g}wvD%J* zTIEZH&!NX;qNLwUiq6Xte3Cy`+}(>}H5n_WtlyPNK_T^D7LG@+ufo6{VJbHi(B1uj zC`GL<@gn(S&z!Gc$a+$co7txXlvPHs`=LEa?5)6ScQF*TlC8?8W|;4^N?R680Jhf) ze(*z7BZnk_{1qw~V5=RC5defj_r9MiQhHfJO^iW@H&wAAX?m_pu2l1N1_wGH8=jK=4ju+-(7Yyxzg89LAzjTJxCXn=>C- zqqJAnSpz?<bUhH7r)S+oao*5rWXJ>p?5*FW{(te3! zOhT-dS>M&OE1uy7aR{(Zk-Aj3-Yxo_hDRWW^^Cxm!-}l@J7!H;(DbkS>9oz6?NOsG zvYqaxj29H(5>l9;u$t@orpKiwyhB?^t&3P+KBfogUiA3MwHiGK6S_S>nh6o$^;%IG zE&Dc_ME<&~vGP~~h2ev!4$@*yfNifT51dErAt3_Pd~RB>{zH*Nyk+jJSLm-l_yO$j zFu@U5CUvd+Wiy2%;&b?f_Yu0?SF$z=HMc(bDb9Vy&yW{i1L{ersRf$8&;oOMAVTxx zb3IDb29K=ieK{4U`~ZR`JpI5~NQCv-*+jLM)5t?q?QU_7Qbmk z9Jo>~)V>*h5H%y%M*~ucb3%msM=tGNu|okX;h(MD-Nm+w*b%m-{-CQS4{0!ZFjpC% zT(*7dJuxGF%8@Cxfz5)|e7uO^&_15hg}BZa#cL|SK?3GVZ;q(3092m5hl4#{bI3jW zdv382(epV1j}ABumJxf2R5oRrn2$SQ1%dMs6=+XPDKWO$;n5CzT!(JrW+^%Lo}_QC z2P880JL-JV2o(*y)H%SXM#s(D2-++CD>F11C?5CMWyZbNcNG86!?XLl*|R;iBw7m= zo5ItFhnh9+b)3h|-TrSD7is(qeN@D69z<#j9h9zZR{zJR?kgrfem^S3uUD=Uiu`Ls z74@e2e4E7bRiEBU=lyZbu_sJ|Xnb%bCpPl-k{YmbpgA3zNs*u1I8q<#R>#=$e$)<> z@9C!HYLMMCGJE{)dehTq6HXJHxwB0sZvyX`DhoT7BN)y4`myu%Hrzl0?Z8FQKv;7n z-VEyxCj!>{53j8NU{;Qq-2cqV_5Dz@l$4UOmX zw{6u15RC5zRG7bjJx?a(Pe_K*RNS+K8MRW%y?~DZsNe2gYjCPB0L9n=@lt+@D~9x@ zn(AopH=~IaNnN&|PWiQB8*b7o&JTOWBUSMF{DdgKsBnW|;+l6jEgOi0Qh56g?^+Nj zhBaUFkW8PZqdzX5h|tY13~h;0kPWv+CBFG#r(O5-AO~VeU2{HA{1gV9UaOUEDw*9$ zeZh^d>|A18>dQGMP9+10(<2{%)88xFpd1MN%0zl}z`MgDKsTN0-PBl^`EXb7^T~n4 zuR|M9tjTr+d5lWaQzqg{wA6{No~GEyI;t=G5;I1auue21W#YxcK=s0?XWnt&CB}^b#kBl|0!}eu6wfD!XN^|0znD0uIj#S*>Q*WdH zl_@~GOzP!*))e(Fytw5;Ig=3qNlyaL4hU3k&P(y6&*WZRt}1n@751WP@wB`q@qwis zK3dGE){IUOVmYpNWlX9TNOfsMh33Qm{2ye&G(lMJGQ~Zb2io+qwkQy~Cp+&28TC0O z+~dvyg~XU!XewYU|GV192)uI2lt6z6#i0&tcfE}=s~Hhe5yi%yb*e8ba)#e*^N#jZ znsO*E80$*{X%6QLw)lq-3+j4>Ams#<&iUV$UYW){v|@Ua7SH<0f%sLvuRtQ!L_US9)?^jD`8VN4^ z;N>6Ng=>=uzsl<%B1F6O>M|iV>yqLydgC6xuT5&7>Vb0}#FDp$1u|2j1~B_RdtC0I z=5O6L#A8FWE#es}5ik!IC*QvlS1|sCj&eopGKv!D!i zn*O}{=x$=yswa@qo%Te$dx{2)w(YuXTVMUQg7Do62JkTFk?1z6VFvJ3gVN?Nudx7> zLFmSJEDYqxK=45@Ruj+R3BAVPK#g=e5e_E5=QZIY8SClS(Gt_qB3Ad`v`SCroCxeofT9`=XgZnek-fTSOtz*-c+n zytX>~C@_8%%m2QUUkiQn70GbY{Q}}dM+vaaAaLX*-L%TAJv*h5jVk_Jt9Q=ns*&## zx|Am!g6DBW+mWfM)S7Ob>|smNLcg_ll0ET@8(jGT<)7F%zA@#eQPj8c%Tva`2*eJ(PN8{M4G7Al$3&_alyn@Z2{HYnuu(Y@K|8%PG6@~#J+;l zd4+a(2*2Pahvw4ImH{yt%92zNoF3r>3*(|phjbPV_##}*L#`=t-B%>%erzCZsw*m) zGj4-;>9J#rW2zyld*pVj3Z44Rg5KY!t|>nTz4$9urwSohiVygdxbV@G44IScYIk!9 zk7?LTsM|k0y&}+gG8loT;Q>>(`_db`hK)z~QEF>u`YI6KTQ#WsaTcAJaXp5yXjWNpt4OF<0qu`Cf9_*iAdPKO={iC1;81|qH7*7K7+S+xq6n~2*-|FpNS zD%7o@xg~Ag=RToP3it*m-;yqaB-T{^L)R){tPtOx6U;7DvYy}r!jWVfK-o`=?3*mv zi(_&|wkhJF@8q76Ma(X!K7uw?8%v;H&ad2JFp~(Ox&ttBsL>P#T{og0?t;;fiWZd8 zw;wlBsK{kOd-qr9>%&y#Jod=jcnF6(%6lk0S&&XWC;^~o{T?fCfYCRQ#WS&@)Qc{t z_0ye5@!XydW1kq&caMFPlUi3KgdT62R_~NU!Kp?F0THr>MAm~t<9#71t=~=c*l_w; z_GS(!4vU3sB6D%?0H_FHG^cPL)SYJdPz5%r-^sB?6$8flV!e~1h%2+lMcr+?w?GmT z82s+J%VjVoU!?Jy&Ii(eRGY=gTCDaLUKK9LS=QONVLU`yH%XI+Vp)U*u5N zHJVt5LK2=h!qN4jb1B2IW#ynaVi&;CuyMiYJK(qN`P4BrbNhmnG_LtWOR}d{yuVV-$;J zc$;R6GVgg5df$^o!KdKRs+ z)-9F(#kl>VN+M`22Di9**{Ho6gzP#P5W4Z_nO1ISU9{zOoGQkCm2=L&eR{)3Jv}^~*CtijBAmnZ7?#W*7>G zyHwq9lCKv$iBn-f+(j#M&ui|lW@gTpT1kM@yFZ@k6RMqDP_t3pay21bcBJ}LWa^ZN zeVs^-Cm)Z41?Y`tWd+fLNs0?V#I-G|RbW*hRX-md^4H5oolbaE7MgIyQ z=FGUQQ2Pa+24};*XJqkZp?s;x@C{mQugCH`zJ5?9h7CZ9}VcSTW5_vuO^CN`C`<=#K*Mp)>LKw$kC6JTBa z!ElM2+G_gJa{p|PvtyPjoDMp{?om6?mCfFuhLi-1mhYcQqIDHnzM=cSwMZ8P-OrdF zkZ4EV^0bdY|J9s}1swvnww&kM^c}Lo($>Dj}0;Ud~ySToHR=NJ@yCfBGhP$ z-5a7>dh7lP{<%1jWl}96KMgVD-PyM-+_w|~{EhetvkGwn@Ta>kiU<;(MczOve)&!V zhH{H^KmBb)6w?{a=vFVmxBfxEB>O(nHe*ZSuJ|j_$L0c0c=~UN94{?E!OZNX5sc+= z-;3w0dmNyq#lHLP0_LKqtI5rIy@_1+-dBgaW^A5}8TBgmkstO8%+OB+UF|pN8mmT? zDyidPj^t*8PiSjI$@R4IWb-!^t**Cy-d~JdpAWBnVB3aYD&6d()<+w|Qxyy%6S9*V zjnM9RV!d>_HsDz>=Gys#`0uvK7hSa;Ae_$2@{w8_L1%w&p0%;XWhls@ewwk-EyR<+ zgkImSa~I6oyH9MhFaO3&1e`hYav$j-0XhlIDRSW^Y(VbELrp0QMy@7vD83}9zmW52 zbWNTd5=hadd0qTRnv+S65VtsRxTjiv?I$m2{ffSLZ+H>f?JF+v>Ej_}3fJTil?##0 zj@dD1RXGVVM2j9M)BRc3PxXmLUrf>>Lxz8*cv53;M=@x?IRGM@4q!?VJ87`r%m%7J zfpC4ndjO81ydl?&5@m{goc(oF2yH^)!s67O@N0dWPg1ho48=vaOuj@~`CHxYxrZH8 z;JZT@Crj^4#RNi#SArYu-tlMt(x?nznrq*mj^~gVH1Iyz6kts4Hg7bGb}g^ykN z#cC{H^Y#;!3Oc8}`}&dWSLHpCPxqhwnF!MGdazJ)-A;@37c#bqEiCGTP+X8}leO8- zaM3QKa&JiaAtODPQH*yfA3_7Q&&?pk1P!Y1W&H{-4A|!Vai$SGMJGBfcw8j8$>RQ@$2nSKcYbIAz=rTe1~$o zp9`{N?_+2&lG~-bYf2B+U>$;ggY?00ednSlRJ<~f!f@IX6|+`DNgWUE?n;0OVmK4s z-3>=t?bs~A#33;<+uW&Wi;n#=`6nr|`4;ZsZIxyG%@g!IF5A4597se}5P*b18hnu2 zpYv#AXI3+mx@Ps1og)ZasoM20xaQr3TQge~*uNV#nAvFUUEoA=ySIB%u2}EA0$qdO z*$=BP!Y={r(Y^fPhbTBmdTBxq(B0lomnlQy+9(&57m1_u`(Dx)m?#|chIJ0IZ z)b~-kfzkY$l;c|-Pa#4qk$+JNanjp;r)gjA5ua&a`#m`m2Be8b0|4|@HVhX(+XcY(xHSY3dKGu#J)8%rn$ z;OPg*FbU5Aqs>{_hk1P=m%?MisN==lvv9*-;lPm=JJ+$K%MthcOO@thApYaWlBj_q zcfB%s+m}x*YkWwiVuL2!77Sx7?=R#1j{)dIf{+cjH2mom$SSB40a~CbV`?N8_i7~n z1y+{b`&_~9#(WrpY5zs^$517vc%D*|IdWc((C8T=zF+wTIN31TlXXF-f9$9b-coBt z&5<1m!zz;D*PZ@#Tv4Ns`+LHtHb%p-;AiWtKM zOz!wXo1%xNsyc_vy$x$1Na%hoLgZ#os{%8r2i|y1Rq%ox+Qznz6RKp3Hv`9tW&+QY zn|_eLrP}y@<+#U$$)%_gs*9d{WAwWo)w!j}(NHMSEXl@k?$MJiNgU$0@-LS%O?tzE z)<4*1x1dSS_%O}RL?9J(7p!f4W)Ho#qg?ga!F~EES40OjH;&M_Q!z3kf#!ZdrAnUa zg>eO>KnibtGpZ<3Kz4SGcRxiCFRgEznl{i&ws#E zA4Y3XQN@a9LQ>5(AKsL`?)UT~s0Uwfs?M4TzYo`^z-tDl4Q(HsHa?0v zSzV(kVv11t6cIK`f8O&3Gr5JDCl^TH<~K4GY-jnId0L2rXbIm&MWV)F!7atVRsUkQ zS5$15E%zkDiaUuk_c_wSRK(z3VyVvm9u=L-l01$J|4ej;3d*xnWAt;g^D(~o+v}+P zMCgACq9uXHARd#P?V_;NeXQNppPU!V{*TDg{vJlMjl zAWpp;p+b4UK_An6TzWy4i@Wp2NkwT5q2&mU5?6WMzl=qFxx5^X=RG&6a6o<$bCI4O z?tesLAPLS6Hx=Ni{AczWyr?-6xpBN*jf=fIw~MF%G41gasF5C});LF{$4j?lkZ(!HkLJu8r{73Fs z-4j*%^_IeTM@$JpWA-1lz^rI_Qb@O`m%hJR)^oo91Y9KEr7H=3h{!oMasE-wnB?1* zq$pihsq*qBj%CGW(ZQ%&)k`f30xTBoF1{M&rlnJ3GvOjr5Tw-c%OBYGvo$X#1&=Ec zZ`E8+(dnMcme&{woCydPJ(&494@Cf985*J_Xdhlx9{e)&H{Zp*{%STxq%onmM(5J) z=wAl5gKn(Q;A|uX2u?}@CQ#tpP0{x&AD=>8mrX6m@_<7OPw+7uo!KbBGeq>}&UzGS zg0o(9bkBH0kdW(8<@M5p0x!Wr2WR13(Zd2%W0ylAz1)J9**ff!6@`ygbkv|p>i9Th`<@EeR=8dR`%56mSOHymm@v&7$vO*_je2K7nt;D+`k0XVD=6fw(UA>;;9A` z2iT(p#gR7?oe#`0&gX?(Kr^JM^tW+k5Jv1v&>*7mL8@h|0iNja1@Y$JPTl`(ukn68 z8sdoGPk;pAJ0%r2ZSTIi@Qoblry4zt1-*{Gdr6zsi- zdp-3q)afXa0shZ19tSL7!rNkd+=-I$dyx2tt|Zs(iAn7tY0QftwM)lZXWOJ&vIK>Z zM#$ilyC|*WVYZi&5M^H6cPc*q;+3^s%5OjW7o)C~W*s>{GI0Fs_(Q)+^CP^K_tx39 z(@?^&GU?(T`t_@l4axJ46NtX(g6|az|I_}iqN*r^M}*>`_;sTfKi;S^?G_J-?nTN{ z6=&fhyQt+vu-*SE-O45B>Qn}~tss5$>4Ne)-n=oX)J`^%unQm(AKyNds!+;A&~HHsmWB<4HZa>{nf5c{r!9s zU^xb#;+#KMkleF3h<|;(Rc0&zn+{2x(pYJuEI)oho9eHA`I#Q`_vvfvYM=8DyQfj+ z-_{H6g{wrP|D`4cLlvYFgU*8W*d-RzTsxc=V# zax8+BFM_hY+jeUR;tVU3UMUNGQ$=+pv%DK>a1dc%O_qgbPJ%cQcA=h+8~ea_M(!0+ zn3bhwNeupZN)Ur+=)RXvkd%|LRe^>pDarywRV3dwLFMgntdz_BaGrm)#OtUAa-MvA z+8Mr_IZul5UW@1&B}RYh*DGAC;$zkSO@%`4jPTxc-T{3dUWUu3^MQXj#St9T)U)vF zlm(o<+cQocUu8m5kmKUnk3S+UZ>en@7pHgqeZ04BAIa_)q>Hy#Wfbhg`cwfMMEWKx zdu!nbK4UkEN$;kJ2O?!F4r=@zIE>=KCi;s2kA2bz6HT!qq1Q}9_O_kb&#M1wh~VYy zO^Y;$qZ_Km5PV<+nO2bwy-Rt)98{=c=!BJA@EMdxX-$dXR$1ZnWhzF{#>+d(w(vxn=Cgo+c5|D$z z_XXaGzfI}3H|$dXw0cAiW)izWw3&oJ=-7vqD>Y)?SbQ$Je&<5Px4iVXPjv*_te8?7 zrpuZg<%?h~v>f?%9IH;RMjm;(YPzWdH0N$-Yh+$^=o{q!QO?A^F z8?o0;i6hmJo9~MbcEmN7$=D~=FeC@o69Pg&>|`bU>93t?GA0jQ`U*c@W?mutXHbVG}=4F^6Zw9g_tNL0*FIv8)K3)}1 zi>V~yQ}iMOCZr(gh2k@m*AL!ZF{40#e=Fw3hbF=F>x|4;cL~Nno59vrEaiRJ6|edkMB#V16DUbLCx>PEh_Dj%^3? zx$Zvln5VRk4+yu`>MyNcr~E07-$#WAVjZbXRBZ_DGwFQSVS#VSeL-pl7V31tAf~(C z-B}2}KF)Uo^X#fox@9H zC4|cP@4>3LQJQL*)C#B*wN}xgn**Rn>j}(YXJL&Zitkj_wZZB7jaeKf-Yt5P zf6sxBaQqfe<)ubf9HVMgY#Pe1`nYl7M^GyVh=B!HCKhOUv6Tz`Lq z<~8LD_{sH*eX$kILiS~})ah=2(TVcKsn|!lGp~5vuhejA;gCB3A$Kh0ulgNe6MS2= zBya8z>v!Z>-jWsl<%@B&8XMq75>i@Nw&Zxj~pmS zb}(6ZdzrLnC>WRiHhusQi&1!=HW9(aFX@*DjW+HH#3mOvQq1*#70ZLzSy1*6uQ*e1 z=C`BLHB+--DHcV~{$ta)@?=7UDR8gN?GXCQ<0y%pioVU*qhE>uufZs#!bv=fx(Nva z@L^Tph&hjn=aL91F&^|@L^;!ELvJmN)sqkMoH;=p;%Exl-K6EbddPZr=s#Myr|aIs z*QRXQBw)o4G)ax%n1R0~QL_b-=r6hXs(S`Uxqt=*hEQ_WZ2s|G^H#J~T$!Jmyicpi zx&?(V;dpI1Dl*V`Ib(0&^<^nNx`dj@4aUE6z5GFN%7<5Z^bipsL0(I7g|@B5dWm&X zcfQoz9FnYY`*n*VJ+w!(?@@O}i7#0q%f8j;AoXM9ut>**&4A z_k40A=PJ7;T+94bb$^O2BVKyzxb;f{#c#1J|8+l-sQLIuA}7c4b`b=0?Z;8zxjl^;P)f_;xNqq z3xU->2d$4*vwn3p>ISn!0U(Fs+iwS(%bTD$z3YXY-UnatX;gXejgo`8Ig)z-t zn*v=@Xl>~5TD>_@HST2h*{nGA*-_-l#dbfgEE-Ti>Sc5cK8bZ)Wv{rm`X_0VQf#>|<2hqmXD5s!E#GXljKCs4=$be#% zB~h3MYMT|mY9V>Q!;yDyZDeYxW5;0*=0T^mK(lvDLP{HkFXkH`13!XV!Ca#8Pc7h~hFp2pK36BiNB;onMfEvgW9<^8zD-oUPJA zo*UP`u2R%2WE}!#ihkjZg|Bww3IeU&+X--{%Y z_>cJ}OcI@S^hvYaV?c|l26)Shd`DZq2s?NvfqrcpUTMvsi(g#StGf>*M-zLvVVHGcexysFW+;SO@ns7ej;c>IFRSA)PYgSg2)U-7d4j>q)b=71M{i@O69+s5)#8e6_>?B-s)P|)K( zxY_kXYrOrDWe;!aZhRwU=1cn3Ftp4~yXzh$uE*!dO-EDVhV28b#5VnFxPX&gWzlpl zI8~3M(8_y%@TecFN(gvFYi=XPQ>osgXCHmFiLyBSArCZ`rpsgWX-dg6P^^=hU7}!g z1#vCONf2QTp>@ zQ@B>)zp?Tj-1}=t#SttX=6u#83L^xg#F6u`e??p0(CMKF+8|*z*RUvDmvBzY_-s-8 zhpbtjFm>mufj;e*;T}XfUf@5;b>RsA)#&@atoY4g*`nJinL=g~%ZH9&qV zSAOnE#Nota`9PA-;n%}n{2vvy53QE2 za<#s9hk#QrA`IX6BV3@Kw3r+HR(nViEpa4xW|wM!1*+=!;y+4`^%0VQim1-d#0PJV zg`|!JDXsAO!jS+$zI{=PIy>jW3d7KA5+bx!G~zFNksWe9#DrxiF`gX$qZqBAKut)& z&};?sgD)$FQ`q<3ZMnw`Fz}=w=^$4AP^)Em%EWp0g~uo1H5fTCaC6E&Q}}4+M)g%95%tg>(5ZP<+Xrz>T-NVHE0} z{AR%=i|U~ch2^djLB!KzZt|kkf*5K_P7W5VNK!1v33@U-FdgiXIcD8KOm#Rj;=yTJ57qyJ9kZ@DnD-?-XYZl z$7Gz+WJXUf___QJ|8+%N8rqmFu^%OOMUT0RquPVXisBy7WFlx}FjjJ$0wSB{Uuqy| z>1STk4LXTYFR2aU?}?Nx#(_O-&`OvDy2*H51XgVByos3(XuT0_5SUo@9|WS@Xpbn5 z=&1tOCBj4-T9%LZ_md8`y#CdVf*4xjX{d0SYB8>$QY=JtcN1I%9Gk)r-T9ag(FYzM zwI5Xo+;0Gpb!3YHH4jJbz{*8miLlb2ij3cFFw<&WN>P?=I!%eDDQs}P1kdd#xX2>k z9!ol-x#n(FqtYi`C-`5#$2aXH)~P z&z?N2oF%7bKgH6y3sGBZ5ODk=<;cJ7#I$5deo`5sxhtS@O9Bkd&mG5*~*gy9XzfuIi;+mBy+ETLP zlZwm4VwiTn=uOm}tFSVSK*_xS7DFLO`7Z5=`T_lyhF2ZNeQG{|(4YT(oxdL1={$TJ zk-G^--iHrp!YU6tNOI^P9H&EQNtS!{1d;0S>9){rkI>={qNe@NcaqYa^n5dowfT05 z>VI{R9zT~A$swGxwgvc;3_0=lv=mzJ_5+>(i&`iWR-Ad~=6} zeoT`QB;Fxuduxxkmvzt(?*+74=Uv1GSS;f`*L4V~k96Vmw=M3KeGcJ}_EUK=z$)@J zuGEgXwetv*?Vk)KTB|y`r$M5NvUwJrr^DAL)$#BjiW7H&8_|mi7~*BP?Y&56_@j_U zn<7#`rF6eM+j33j;-h9am1X2&a)YnzaSFS^2TRmTtzGpmZvVb~atyLHh;;?29AA#8 zf-WvMTc|6}*?blBE2A;sLJ#xR7L$KsCLmz8XbS_j$Aocaes*vlRiw`1v7;%~-^r26 z25jc0)r>aXRqwRRczJ@CbxEiMpDxLcWfpV ztCZp;uiE^6Q|JF0NHz6#U$>k6^Tp)%5J`sJw3=;~G#Sq~+S8|+Q^&8qB6YlL`9b4D zgHH9`K00>r1+BS3>hTZuV$Qt6;sB3Wyt&_7BlWF|X1$_g+V1KDmYyD~7ik^8Tswc8e6u!&_dO4#ERv{K6K|28 z;P1N<ug4ijCAwxY2^oq-F%j*8t`)O z=5&Zy5MeOjuR`UPMEq9Jd9H(89zY`3>Fj?z+CsyEF{I8q(&z5LAtN`olEtSk6L(hf zzV<#1*jQNix%#z8fk@n*Lx|8T!#o$Uwa&!(=?15>}# z_Kbuzf*NMu_?(hR9zRHhv>rErmUL8L^(ZB6;+_IlCTd<%zC z$Z)+9JiCBDXi_tJ=pw65H2=U#A>~?fd|?@I^9UHLM2cGM+g^YC+5batN#Ca%L^y#b zdJq_&NbpjU&A~$yIIr{of?X>eV)du}!I1*jrFL(TK6~#+9Tj*f(z>KR(4sknVpiP< zIyg|VfW4@|GJv=DZ~(1rK>Vw!RuvhTO~kfu>k(ZH>fP-FML4A&;_P1W=HhIquX$C8 z#;ot2^!jc_?a50>jIL)){_^p@rt(;z7zTCqm^UTUsx6-hkADR7tSa#jZMHs0;pH?w z%Hb3wKI)azBPw|y*};(Q75G~@Mhd=S;687GPVdeXG7WD!W-t3kRHyf1KGL-Kg-R8V zGgW0dO?G%SM)aA?EqWc$75*2|rgqEGoCzgI;PSX&7(`h5I2tcrd1OP zCNshQm{eBKcjg3wWf%kRxVZCJtjxs*CD9CkGuX&b(;9Cl*zNr%zkW6}_|P{}DqO*L zJL<~U9>WTD7LZc(;|3?^tdGnA>rYq$*=fBgOogiap?#VhGb>!pGZ z7jS-uVPl??FF_pyj{KhggWr@{qZyj3D!BA26{VLx^sd-U_{0&b^CPf4VD0^X4! z_%yJb_KJ@e`?*DlhXhrSXwDzyx`Umcx?Zsx-zrtA54;R_qYs{@edFWws_y>3?Lk_e z7&=W@_H85mwhn5G09NR~IbH0e8h}GyDW!Ng;WOJxEYuL7lGVp>Ok5ak93%71qpgyq z2Ej|6eWsTmM4%`qAdhx-YH1b5J^(ElAamsoH-qREFJ+mqX~vjBnP?>Nq}S5d;s=CV ziaa%LQIA8DJu(v8=oC2$yC0mPD)LS99C<&)oj+W7-1-8cG6VOo`9ddb%`wi++l zgL~XG0$F{j_$Ov=517^Z@0$50xE9;tDwQDclv#(Ii6O2ZDUgsULG;-CfaR~Fyle*6 zdS~rcC_YHHQkq3o`aj>=fT0lF4G?eTl;0z12ydJMgSznVdb1|z<3s1yMEP~#@3g(y zFmF>jN5loE2wJ@Ia*doL;Zx!HOpvn;c)-sWo<8Wq3E@N=D(JL+1o}F|1k`C63r`=K zF_@lvyhecda7q593ZS`L}c9BnwdCI$^y*?W?t&I4~yT>Y`cD2CRkZrm2co% z`{cfLd^OP@ro3=f^@GXGr0pS#AKpy4;_1HEt}H@{nYWhUvaJ}Sbud^N;w?_}v8_v+1--6^M+@3^-iY$A( z-8z`iwjoRXMQMxPH7+#!mI^sCyPt5XS>Ogj{8AM+ag;fy^L)pu!exZhsDG4Eh>)>zG0v)R`b=b{?jM0{#m*n`b({`DQSpH7-O$pO8z2~i!S-ZZ*)}b`eD)jaT4>BFv6y_rd`mpv5+37sc|(-=ramR&#)Kf zv}kyec%P8{OQwVte2}DqPQMQT&)#5WYg+}`HXGaqqReE_Y~u9isy_>X?z&zp%e!l+ zmyT`+yALh_qJ$c;KJD28{^I+mH7Uys3xQXDqmG1NKj2!God!yjr%AXHn|B!8?!_1u zwY(=TR}a_O!HECM4u;=w^??S9P~de`Fv_vgLzv{f1m8V87K0h9{IpV5&rv;l{PC0F zaqv!k)M-u55_U@Uf86vV?d3#tdOu;mSjLw#CWhhb8pHaWie;DSK zt;imcIehZxuZE<2BIGDo@xn!w2ezC%<5D;^xNxQT11*#RKCD|Nc#=LGNp0igjCq~& zuNZ~?LhlVF;-ac}zza^c69d*IM(0lTv8E!7uBDVSYAmEwFU}H*6QqPCL!W~9UMJCz zenwJ*iW{W=dbTzqpH&N!Gy(oWWiLUV1&zG?v#2Z}nkv`Pelg*KXzRx*l#{E-@4R%rr zUbp0Qd7DFsoIqrG06}}rlJY_C25}~k`&*96aKZ0>v(Oc`U0Z!dju6&0WWJIMI79Dt zwkE@l)c-(LABCY4ecW)-&TEWn@~bE#gw5;VuN_!0-#uarz_@Z--2M?F9Vh*uqM_%o zc2d;{WE-Pp(=}^G;HTLcEjw=iZ4~*J%W)c<@Wt{)is9XDu>f%Gg(&S}4fHt!XTdO! zdaVRsep1VK7tWpH89Yt1ebjrubX+TR-4)_UQe8gh@%|hs1M%tFm{c5Dq#}EbNp0a@ z0-N8f;_F}W_I=pf+k6psEpBW|+ic0rqE|$j|0LXmU2f1bze9i(Ge#epI~mTLWq3Xz z^^q~APPBYyeto71_CtMehk#;)!O+FuT~xHKm)zF;TTSd~)c4D8>O8+}9fJxT3o6mg z{?ld;=EOjv0l?M@gB_rQAjr8tpr&`Zx>tJp_Pt1a1kqb;8<#DP&vn6?f~08pL9)>& z%Mjp%9qwC?`Ou{JCPJbiP-0I8y!b-pT@a}(S0+$B`6A)J5}85WQS4+5 z@SB+Td$hN$&6l6G$Op!lW6!fvn# z(@`{?p*QZlwt3`bJ0n<9p~d6sxvlf&xZWLiwtnTMFaRe$nN+eZ=T!0%AI`~^g_DmD zA76PUuRCp4prOl>GnB*UeP_x{Bx}ddyTNe3=h-(#Lb8;J9q?7A_uNhV`VI5xijRQ{+693F zqrAHD>xqZ*M-9rn!+#?Ho-^2FMX7{mk*g-$_Rgmn8SBvzyxDIC>JW>K?!_Rp7gEc0jxJ)xFDf3a&7H zA7~3h1h}|=uY@R8>N=zsJOHy792X9=+23QRTj5}dd`hrsoOCcsJhVae8>|>W*=bhZ zXe@@5bo#3uprp&N%<5<6{Lt#o-MPJ&avfgq1~lZIapSU~62(r|u(HvT337A|Mo*1vz?q;yfYsH1Ts4=lj{O}^twq4u{d1Io+^ncBA< z(!+ua%6H|@UnzS+)DFJqgwd%e#|b~FXEcRJdA3UJSI*0evNTCtUqs@%LYD?K*5V%W zF2*CW1XIN2tnO?+C@B3%d-q?8EMfBrJ-8(Z+s9yeAzbG-Ot(v}5<$Sv%t5oo=?%>A zMkFgSBaJdfV(lk1RnWMo;?{+$mouJ584u8A#UU1R^kqYC(zYJ%l6>C%UT5a&Wg=bW zH_Yr*{UlZSE#&)1I9Kc)&Y^psL$+s2B$qjx@Go0sFm(lThHt2aCD7*eh|F-!4oK*2 zn>w~YE!&%!<>+WwhD%VS^iL2@0JbUi%bz=aiTCcPVtk(dS?0G@VlDJ}Lc>_PGNx!V zlv~~R$27p_6{JhDN!?FU8bzIJSQLa2#slA7Ii1yzWjMo(25FddrgYs%dvo;tuz44wS*%iHR+KMBNlsK-`eG&bhi_PUlTN$-jil zblAyEhP-zr!eYCE_1U+>Ti%TC<*DddbWKq+2Y&Q^T|D#gBG#^+ znO5vpqaz|=1oheU%Xf`=9%~w>u5kUxtMN_b~kzb)S8_v;kff7bF(hs z-`{J5r3ITBDe(ue<~8kn62y=``OMD2LQn{h8pBzmW4|9p41J7i9sXQ>|Hq zsl2|dg>-Xrs~^8|u_W~m8RGo+^FQb5ATeHK_g9Y0nJyb-&W$4bi3>R*KoET&Ya#Obj*X=GMOrxgpg-^kO|2kvMeF zhhO~y%l~6{TEcuA@I~BH?V4*N+QOoI3C~eQg%gl&_n` z^QXa$&IefUF;y+3{%)&D;1HGA+226+pO0x$Yo;aJx*X^UZfG~V?+0hQFwfwbV8W_3&X zK_+#HAzZ43((O>f9|4>EHZ=LZ2%4?EONAAAGs{ zaoRR1`Bb0SA4;YN=5iS6Yv3Za_{co09T25TF1#WtY6xz^#RWd57gN`B(om|>Teh8@fY`vlxCewA3{(cWYj){A=n(YKRZ8B#}xIpd+31A%k+A2brK zO@V;G@z>ICX>{$4IYRW{CCFXBL%+(^6A~uQ;G&6>(KVMtXn&Q(IiF`X$n{FKKOK6B zJ_^|R+mt^OCDr!8;m0iZCl1({rlHfAZOqL(l2H@+~&JGTk<`WdM9kP_Sc&4x(tLP#55|uW&2m`YGHVg!N!A{ z!0xLst9mD?3+LJ`2ezSkW1Od`onPNQ6fs{Y)(64fG^faA1UOj?#q_G>vh%5k=fgx?`vM` zOW*T!izAv2blK4x^+vqhJ2vlrbB5-Kt=_ne95lEE{zIAbqvIZdIMA^=g3({coF<=(;(;k(yceRJ?r7pB4L0|l=EDK&GBx^f*LUmQs@j4dgf)|OJ0J>=Yo zGQH1k(3_Ea7Dp%ZezO?PIFfAAM#o2z1r?az7*ahpyUq!a#uKgO48w_1u~fthIx`-( zOJ;s9Z9SQ?vSkyGd@lfA!%`o!GZ?=@+5W<~%6*H7f$(oxCnf-nvsCTNAM76you+p^ z_fRWUPoNj8!Q6LJ#_@;0bE@}of!)9@&z#Lwjt}Nha`}hVC1qF!vRZYJaF%4BHO>q2 zsTZ|z?y;7Rm+#6bh!vmLH06ETnA$196W;M3FPpr1RXGp0)3ip~PY?~6mobJdh%)|( z3%wuQm7Vm7X7h&6B^dATn}mPiQbdQkvnOZSI}r$l**ht*_x=PUex7VHPSRi94pQPn zf|5@n&y`}JCAB-x8SPKPVTngSr0$D`=$wmX+p2*uVO; z&>uf!|4lv4M7KIcwY()zMk-S(?hJh||LHb@sP3Puj924xpFDp#lK4_rFnRg~V5R)} zd(u|#v(m#9RhRi7Qk*j@_`cPrcM%F0OlwE5pY~o+MqGb#p`W3LwLceSM3PhX8X#Vu zN2VoJED-_mKUsnlj6kWB2U)_xrUc;ASCf3IdYs-g+r^BFeTNd<(?)RU#7)=m@Y>9bII=s2?GTWb#UA&DZ*%BZ0MX)VDN-6HQWT5Z0nbWzBzX-sf z@dA^7r1id}bj*bdv5}J>N-&D5-h#OSfu7&zU23)5M7#huL9tzBopC(A{WlFXNOyRH z*bxbq`eK~w501^aw9qff{;WYe(JbU*a$N_^1w;2)5Gp)Nh%tD|PrDnKHZR4dU$V=Z z2Nsu9ZD_yz3x6N7>Y6hfk~B+rlkm>gYv*0z&kAEd`qrX%HZCC1^EjwI(0%5DEZ++_ z)0wT)AXqa?2sa_}2^;Ys5`~E8=&qKHIjYaV zISa4y0HRrPr7~9nS>Z4X1xkiR(ufWYf0dWoUjJ$m7g^JMvccFb!U`>(!M%NdKV}?7 z`|4o^af`CRTW&ECb&fj3#ba5IuzFsYGn}9F1Yz`ziVnI@qv~Zj`VyNSi4|RGdfQQz z#}bq`!AX%WTARs!fZghT%X>TzdvDpXhK$c4oZXMOB3*u@S9yw+J6q9#g&x<01k)B(MTjsQ=HmNf z?;`d&f=dWLRxv+GFAKKvO}bP^4WE{*ze4$6x1}7r9vt+YQRRF5Vc-m6CQwA>>2u~; zD%T&uN4cwvcv)~@O9MGji^y1&RDyMh%Q4I3elG>zOm4>>1r zlFHBaGQWrEhDpFqGpUa!a!jh0qA33K`+jrr+gdFR*ya|yTh-Om7pQ;av^-Mn= z8EL*gb0qZQ0X?tD{kym05(8w10aKWuocsVf-XV4EoGo3@wL|sCK&pj@Vpl>p zr&kA+xsa|V0xh)ohxQV+K)M7Jp+Q*XlzM|pJf=r1lw#lP2ygo6_Q zx}N@%B0b#t-ffiOs^rBbDvy?RHQFb;!A*i(mM^!p>^A6(5|>WBuTS6l4F5aI1?1pp z1*XVlhp7fk1%bh?HK{$2)!;bU#28hfMCT~3eyve|jX1W-ah18xyVpdT>$My&3O6v^ zW$Dfli0HFD>}XQyysCPzQb;2TxfYrd5Uuuy@vXYu@hKWSO6CW3Mq{k7KYI@H+c??^ zUE)o49Qhq}s>pdT$z%VsVTK`<5lep$)&j?0m-d5p!>}eF)+r#XY4Ny05}aqpznXB?5JAu~()Dm+h<7 z5=6$t_cjBmy6EO`=2SmAD6H3{wN&(z>26cw75#eY6Ti$?eDB-g`v*X!=INBMVX_1z zAw+Fod&2AhuBW6nrQ!>n(nG1OjqEgp4vK)dliS`LMBHWiNR|2sWk`O>Lo7tN>0;GS zY7ZdNO3-_NRUVV*E+|D*PUbKZ=C|L{eE)Q@>IvFAbnTG?d!!wXS7YcA zi^yhL63&5fWoN4>I4LRI>LCyvcc@9HNHvNfBueTC`1wj2bzl(_3p zQ&EGkQkDewzD=BG_0szTt8<%?*C}s=cFfJEqa$ORV)Uogt@@J-YY1D$9L*1VLMt z@JM|&)6sQG0v&G>{3W17SHlbGrx~xPT9+=0m>8n8%TLP}N}M3 zJN5n>Uk2+Wy&Z~Rp^JDbOkI5qwyqaq&sf6FEqyOy+KM~xvkPlkcmD3)w@GJUT&wwR z;vwMLp`RRu*V!<<^`!02JY7OF&TsQkohn~IaXa;W~%!msv9 zyAK786A4h&x;V9WmE zz_3`xX2pq_S>Qd}rnDv6x&i8Khm%xwP{iC+gS*tG+LeTU@|KWBSKsJ$>_P9&LkiUA z|Fcc`yV=a~qVnT!lNzdg*84V-v_pzmt>7TD1*DH$6ul`XfSRPfXjedVQ)o zmi&Pg)J*e5Ho&0a`aSm1dJKt3tX?Gw$RH<}3yWR< zEUANj+N7@8v0&H_4A;L{H@%&O>~t6N=7yG&*e6T>nNhR zg!C=pBjcwHtTq2#^S|?JM1hI{yH}LF6~afeKlH`p<(rS|qxGBC-O$P>zH(ZFEN?N! z%9yh=g(K@pCE>NvIu`nSHwp6Wg!ho+Z`=oBGPAYo`khalF`-9eKJV+}0yhz}=Ybs< z#~9|QE~@_75!j2rY;mrW@jvRlWlvlsgR~~$ks7^@W)GM+Uu|=Tut!U|@_27#FDjNd zB02?)kbPI3tjcA_F{@B1-e7Ryq}=Ld)0kFO7;AUEcG|-3qk&A9ZfMkxW2Ii3MdQZo z_?yA!eil*|55A@TjEV^uh4HS>>}6kWNb9%~kt;rwqb{FgfTjZRygfJ0(2{x^nE~*u zHGNf@YbxRWoaM2REWsZMJfbcH9#@52(^};0oH`ZZ?X~8f`Mc4$M*rv6_JrmL7n}-B z=sPgVxMH>h60WMLCrk3%Ue7+t^>mH>lW-oP^t6o8^n$fB zD*Y?GhrhlGJ{jtMO^)xQLlI$4%y4_(D!iNYhD;O=N`xXWp#-bK7}9`m#R^s)o|)e-xfM-k|9RZk&HB(%Ns+L0m2Z6qu9YY0 z7^LQ#p9%>|s+s<{aBd6G_F=Aq*;k*FKx?FLzS6S=n0+B`=WB{Y;rzha;{CnLpJfcG zJ!3J_3v{E$pH5CI(339;pv2_!Lk1VI-ZQul{0z$}fAxW3#&JWd{B0P$sA_^7wp9-Q z*ywy3@@XX|l{3mF;&E2r-b5bwGGy~YK~B`trJIuCF0`4pmZb+fHapZMEqR-dQ*l3( zvc5`Py-WygB7Zas5rr?_e9m`+gQwm}rWR57ku8tLdfGs5Hz(|oJkqYbDIWn!n*HVb zsru(`2XQdt7<+CwZi!}&QkR`vHeHPH5zDd9l;Cb$U zwstq}Iv@&;-G`P0fZP4yU0(7pWu9o;O$=~0`Zxk^T$D$7e^jsuh7oocyTkeY+o}r4JRYpp&JpE56N=KvGf%-X^ z{E`$FXgxI+50U>P_wF3iaUpigjX!X)F z+Hwa?iRhn22|gJ%xS;$g)EnRVH}s}YAd27c%B3Tv(?wA^vi;ED`e6Wn^!ES}YWf@g z`%V*ytNbJcRfXzC-P`TG$-t+WyNPHGV0dNXs(gI!^B7r**c;-f|6oYad2&y-o2O|k z%F59VlYzrcAAA*O9(i-uQ8TCi@qw(fb63QAWeNsPjByBBeB|%Re{drEP$w?k>?YdE=ON3u0 zo_E5b0tHS~25yy2A055$`~2(9yE9!Q{nsb50j>-FD(6VNbH4x$iUVyz3=g3?0fI{i zQ)5BMVQicpOHkD(;K4F7cnfi&wteR2L8I+q24|4s5#ykdWSvUiEAO8|sUipGbkQ^S zr{-8VH^aQtyH(KCO|?|L2TJ9l25+4rS~F{k;YrB1?p-y_Y$Gp^pKo zR>iYSHT}@!-lHZgd!NmxKhgFV!TBM_xjR` z>n_tt;1sFBmFN4sg$$P)^1&7Ydn?&`H&ubUC$RJND;VJ+Tbc*U1^PPec9wP(~2jaHatPUER9FXw)&QBIbhSDAw z*g+HkAbB*)M@p`u9SaeqLyr@JH!1(5d`c0_S5~(avL7RS>NlKn85f`v=LX#IIFp_v z{pP&!3E_Ry(n<`UMHMfsw0zjQ-?*q0_o@2V9?6+$e{qwouI@tuz71*yj6r7P$TX z9eZ?C#IWQjq?A&`v)FVft;0WUnC%I?>i{VXFfetQSe!5W>pS($;9Uge`X~=|z_Ts4 zKugMq0QI_EZK+*NG>G1$bxP3`r21PKQ8&=tu!&?Uu83(HQ+v3ny^dDm1`1OABbc{< z^gB>h=H@X9fz4^yTnx{-O)|}Kzo29wTJm`e`yXnZQF@Fr7ZN3h?ex1#!~g1)c>;g7TgAmfA7xM*qYw)d>nw-%G*ychRZp9;chAma@G zS8(yC%xDI=NYLjvs{Xg3Rx8y<#Tmi2>+#0_y$%aLH;g}7x7*?Ge}Kps%u?NB)~u#d z%Z)H6(;L;#zoX?Eb}@>ydWg@p_1Hh!Nqyo)v-I-R^J)v*x{pPIsg3Nx zCC{fZ%z}u`Q_hL_UyCq^N5bz5^~(miTr{GalF}t!_JZ=5xqkbt$%q^G5hTyPfp9+Q zbt-UxM-g4+JM2Z_j;p|v*+s8=lCtxcg+eS2$o{c@Fu9!*o0bay{>z#^)>(MT`@+2_ z^N+|#PW4K$U844f>xElY<xD+9A)gkD!dJ)l39t&HUu9;!Om zc>Vg#u!kf2e<$wTr&|Wue_(`}aO}^(h~!B$h#H$TVz6Bz-(ew4ukge|q_Bu!h`||c z3=t&g`;(X)Zw6WVq+tNn?ljX?IH4_&?30e_@57oo`RwnN-?}9Jyye-9P)Kp!g9haa zCbAg9|KYj*GJnsRFhSVpoC_-W53I5UtL3sFnMUi*k!w!s{LHIuW0hWU5^QNI5Lfw@ zxDsGV^-1R%f%*>a$&>RsXLhMCKQ7#O%n*ETj4F@{v_2BD^~*Im?%pV%2a=T#J-|;K z=2kPH2@B~~%pTaqw2|N@(aha0zWuve6X6xeQA&R!DfcCOWeBIpNs7X^Q+-7EQX3*q zXZhVTL7P*`mZ1MDy^7*VVA^#`xZy9d_b`Tl1(z-j(z6DWCiK)#oic|=7Wa1sCkMgY z!`%BN@|KyW4y`V>@Rhk{8M@ECj)lTgu*w|O0Sr!NjroE9CFbT8mq$PREKsvb_0a?L zeO2(QK51w#2Z?~xvoLPXSxy0_?+~u>vgYqo3vS22*JPE~v5$Mstejd+BxU=gCSqhC zLK_X;QlVVzjk4jq7&qxw%(26pOWZtxm%#p!6$Wl{0zSEgD;`woQ2JgV<)^4tSJSE! zQW})%9-Qd9>P2LQ2*nFgrzA!&gvP)|{F1k*FrBma%{t(I;~F->vD*Z$ah}T&rl^39JjYQ1SQjP*vU9;eS(n zM!NGZA5Y1-4PO*^-@&g9@;gz=>pAsUUdE)zDyVnpdw`v-#{|2h-UxA}>vi}&$!O2HIi)Xw;4aE=KDXHc9dOHWARLB8(d<@@bWNMa5?|C!{^rq+0bnaW<;x1e}NWU7a2RnixNva zIA~^)<5)m{5Y-%g5%p>|AGm;H&0U;4#V12TVL^?m~3?-zq)EK z^rVvUWXq~SDi+~8R3;n$2T8cPc&sdem>|!p<{1`Ucg#JeR%9G&tSf@w-(8=LJs}yO zZL~3}!G%=wfOz|8kZ$+Z<#GR&kLQ>!B-d!C%CR197O&kIDP-MM=Q~Hi^HR+pIUxvb zEA4F!aKbMbP@&tU^{>DX%w|=D4i|uQC!y1SJ`jP@Y%hJAtvJdcOm2_(w!?gt3bYY^ z`~W{${j*o@=n@p*q}J(>2)1Gl4fQ^Da6Fz5PW}X{63Zm182dj*4&2SbF&8IGlAYF6UvW)Q&xN^Sf!Eh3WhL-Krh(U zV}<=fqvVa~cd%Sgwj9uUa^-Fa0eK;4h*7Rf{j2%T$Jch@<%af*zwE z`Bbuo4{1&P5u$=3uvkw0>$Q2ubnH#vUk?3Yj?HNDmHwA#nr#bSr|sEZ9#DUz2NIqU z7XLhyP>Ys@-;BK#N>%ha=#o=olUc`+0$)Lsd>lJrj!9u%6@B`M(H+FPb2zM}dvN8!bqtg-};S5WtRu%LPT%sgL_nb<_PQ z<+r+V^~e5}p3k*Y#3fh6w~2S(Y)>j0b@ z!Cb9EzdxRELg>HNHYb$=v4#=8yoXe-ivkqjSpf0TiR~Kn9t(%sXQeIp{oPA9&V5&x zH+$CQzTq^0r3lTx7+Qui5@4}j3|9TKp_np7%~ymHQ@Y}x2P>ua?ncuW1h$z>@;(y< zq1xFODZvBV&F^$e{l700wLm;0Wcl($mRmXU-0kTBkgbh!w|pN;uqbTF11mD9f=(Gjj(Vgt>H9lzcojtIMlfX4FQo2kK-bZKR z&IwahhnsbElZfId_YgmUMT57?1N7#PNA!CeE{xRS?h|Bc)Sth2C_C({d|Rc&B(SFX z9^M+x-+;vM#`gg<$0(&{P6WGg$Q`QRQmO5TnJA~wg95(Jg@0#(hx745+*=g}z?fHO z>dw9N>^)6R30vspm&eW;b((NO7L^yxWffkE$D2muhos_H)-&v6IbWz;;*U~t!*e8{ zlxhTa=w!R0TbeFpA{bUid)mEzPCW10%ow8K|tMBtXMcj*e5E z0T2hn_tCYx)LF9`_c#fsQmr5E+p#z?O#aidbI^dMh76EhSQ|vGz%-UAHD!fiGUN(g~OOd+!hXq zMrdRYvp*b)_cy%Hy}`_Dcld7`eacjdGghL_gKd7+kvbzTmcvkF>NK;Zo@(cDcN-KH$4%(xBvAGqYz{00dX?%@aUDkp)Ama zcm#W*BpRK0bW6Wlub@pgX+>@lq*W(JmJ*EBk3q7rupW^B74h~@^Axv6pJI=1LSkqM zF?2d(ztvUT0v%wce=|^|m+O81T!>HGF!$-lf=_oa7a0E&fnJ9GGy!-qJOJC7NY{%q zw0@Q-Q{hb9@CUQ&Rn4oxg2dK$R!iMC%p4+r$Oo7F z8)^%*wwxd`=T}^Ho*N`%Z&ZwQ7ARX^TM$mp#vm|o^opn1HIx$S^;Smsv({U$+~7Iq zPxCb$m96t4cT0CB$zm4VD+X)jr)N5cr~I};s2=)rm?Et_VNbC^HpDCyp+!X?xI}$; zBa}t79!uJpq>w)1mQO0h@^PmPUt_*bM1-1dX{0(M+m1%`E6A%GECVdxe!}A66HbyPlS?iPSj;8 zPZ7YBTERCEPH2er1-;~&3PC~=p-pv_4LGVGhVJe>6zX!ktHH4Si@~`E4AT4GIB4iT zQ&{0)_mZiViX(@`GgSmyK@(S-=cW&XJ`3u|Q2t`f2GK%ZRL|WV-u!!5a@2hO+0;j( zm_*I*w2FUkFTPz9wDG5UhQ@r``1zVBNB)>9I=}xLgEu+7%sHdtE7Tp`bvPMEUc3P! z*>SH;$yD6i52FGd8Pnqck@{=Vbv5!V{3iHJVS)lGKjV*XIc?@;x%UL!IZusJs%9p2 zG}I(V@`|nzBjFoQm)MEUG@v2i${y9eK+KOp zvD1MnIrJ9SV-I6~hO`Pn22@bj5B)xl&8ep5U!Lhb{%#hy<&L_Js$bkMY+Og={qF4hLQd!~oIq*7SyxVhB_r0?4`{P3H*~PtS-T z9OXRn!RE-_3lPqro{k~=*o32ARPPO;k8-eH97nO?qVeRxm9iPeI&ryFKiI5}zES!~ zi%|LeT2>X8M#Fixzb6VR14xNcq5j;=570(pUvWF-w${~d4pua0bvk$Ga zfTUx`Nj{#*s@azM0W(k0`5l|33w3(No_h%GO@G4~!z&9Lvd9vvzhC3F5S-5p<*xI= z=B%7*`D8*_c8?8tLko}TLG3$moH{l?H&;Bu3dmc(PyZN&>@>l+!f5!}7676s1Rb^BL@Bwh9j>35kD93k$?rhUfD@mKXD(pR8dT{TECRHe(_ROtq|D@TQ# zx);u&Pm0V<7{0IZGj_wmX^0Ax!s+!6K={^_F|-chPZ-WoxWVB$o~TzaTNvvb>e2ag zafk0C0t4jx6Rz_L4Ptyu!7Lo0h5D)Jh&aS_T-M39D{sd(g7@bQ+s(c@f!4mPq(?$V zG{e-@XsT4m_$GYOls2xxo*frJUI;v$n_MJvh<+3 z^iJdy|8ZWL|XDm<*0-H|3aF^)Z`5jod4RA+OKB#^LSSdo(UU*|a@Pl6(PtB_fH~W?TWU5r{1@rLOzBBIBDhW*w{bUjw zp34jwJGcqr`!&QBN*6WM;EWnCVQ+m?K+1iOyqG6Q#~iE1B66d+{kV$bT9rk)L*IBv zH}hbx?hWa0f0|FmZT2$#)@oQTlNi}aR#LY`U*Y+Hd2CDmFTN zNWs*{v@=)+RyZzV&%skCga7`w#?G3N8RR#OqZIWn-T0rO^KgXv599dfdw0&^aQ5az zD6+|RMp1+$=_h+jR`&ebO0q{1N>P-oqKHFAnH43%nb|9Q-S7T`Ti<&=pXYf$ub0CW zhRPAqpuns9`F^a+{=CY_fhb#QFf`P6F=jR7hFv5YHZwX70k#P@Rkjq6-X+dh@H7pY zxgWs*l^lmnsQ=)8mRoyUfcy_@yS79&esiqOJ{XwC)q=_Y zzp3K;Y)j4dp<4EqJ`lFCLYw^Q4M~TDbI?VBCPv7I*AZ``Ci%{BjF*Mt={Sfz|F)bE z4cjgj3F@u49kU!la$RX%M&o!FT*`+WO-Q<6c%v^>0SQa6(bX#CAA*=g&lajKfInP! z8U=&YhbtTmyk-s$>aL!P(x)O`3ah2ht+MmHs(eIMw{Y#2<7~cYx(p*i|6UQ2LK7JK zi!E|tfF)n1$-!7K=>t-^U(A22p+MCO7vJFv>A@S-pTF_F;J~kTqAzxmx#Hna`^rlD z$|Dizrf5(6r{FXU5@Z4^H0*}~_dBm7jJ|RsezxslJ&8r!Vp`_EEqJzDPr!c8V0MF`}j&t8UPTL+Od1hLd|Fgs?9}%k zl`Ul?kj}G6;c5+YsNLS8`tjQC?hnP-u&=|)v7PZW2>w-pw61Fr|ISpmTzism~aU6yyv!d;IPc)&}bQ+8R`l8QH>fS;GS>Uth8LuV&{4g8y zQm|Z^`#9z8R?5977d0r94?!DrBqStF4%$5LhK7N+5API%543|#kIaCPYi2*uR1Fl&}gb(tEEQ|$J>pJYfepdo}7wd5h$RA+IRXE zme?UmxR z!xu(rV8UF80rpjyX6C!w)!lm}fA#wjr3D;JA{hkRH93$?mI3;-(!TowTb({P?TiIJkAK$Xa3Fo7yc>@8rdGzr ztVpIXd*GcrvZ>8HUpfY^=o97<*4EaASvy~|ewX#px^WM%)0DB z-4_&7@Cl>vH;CeFl9BY1q?#{ni_G}e^xnLP?AAsm8hXniF?UYcKQih9`j=4jvFEV) z1X4}SV939XX-feA^0HZT8;wU$jw3sk-Piqg13A^XqueQgw=^C$>E}2x3RL?@;uRTR3kV_(=hB7p+znU#x8e zaQdF*ZyI);`|axllal1{AP+H0A+ah9R-b_uSb~ZI~M&rGO^Cydg%up_1tPDMYIn34+H3D zBk?v1L3N#b)F7xKGQ3psxP;o-h59V?v5Zcdw54KC{9X1{VZ?(-n;fh2&S@idPjobu zH*ZTO6RTk%a4-%nwy}*%Tsx`y;uL5e5@# z=`S4Bb(#B{p-Z5<#%;VHbm>y>zKAm^&078k=e)|Mi86JDD{Cz3~?g8Kp?>pO~Kx}A$HnqD<_Pt0Y-xAbMf%|z=O z54D4=5+wxGn|e!tM|95Va&Il^T1Rq1`me`#sW$Hy4#my_Jc5n&as( zIQs_;8p}dOkOQ-YZ<nIb6-k|06cqDVF10=^+X^UO`gc^S@#<+|sJuB1YcN424|R}Nj1L9 z(q1~eE@b=HXeFi(uWI$?Cw6@@WBX!xt5uN^O=Bcs<76@M3tnCL)UwOM_jB76;$&jb_$a-RUZ?o^TxxH*#k6_i=eg)+vEE&1@WQciqZ>zjQ1<@o9F^ z7&t~z1INtsh0s>G&-Y(Eb&n_4sQfjx*85S1ZlDtPsb5Hq=8qSv>su)eF{xj9gGHFZk@O@r&5xF*M?KKOJi`-Y1A)-nzYo!GH<1t@)L^@gUl9J zzQdDDHLY1g<4@PPofpW(@=w2nl>Lhw@@D(*mwN2`ZcO0uefe9zc48G0$S;dSKirlY z`IO(BQggnvf35deX#b}DG;0RKj$<)pY5Dp0Snhvt#p+EbeA6KY`9o2dpMe&T+CK=QaooC` z>r}v2WIaHDU~>Nskq8D9=(Q@_Q0(JN%pkMI^#|oRX~ACPKi%?Av!rPqclrb3g65?d zF*ay4wKH*lR4`Qc@O)Il(87k7QIx3R!Iekw_HT-`Sv~c?@VL|!vR)m#{46u^$+!lw zC;jo?m1y3kryOHm^4P8t{Ks$Qfe#Di=^uOi1Q*b&*LQ9~st8A0Z~ug*A2*}Ee`}&N zql+Oz^){hJ?P!tV+9D4N6y9>Uo6Hr}Kew-$gOcX}?eIeIXn&pPKAlqtfNgIdI{kW_ z2-fpb!XfyV8QoFmXq_$x0|LY`5GUxICm(NeIawIFNmeXrMa77;zKGK?M`P15q{?;A z&WlqFhyXowLhy(A=_#8t(HYD!G4Vy^Eb-_Y84K_$-YzHLH&?zUB?=teT4vcXA2U9h zPo~Uz;2VJ7)jG>1Zo3?Weq>!8TjZtcB>A7>U-w5g1kS8$`p**JQ0Zu<>0xEhmtBAt zSg37Xx#0bSUpFZ%0rQId=QFu<5h2mY)@6S|(KgxMsUr_wV1htU;B6zqTRakz2mQH8 z17p?&BEum!P#yLk!fz~JbT}Xvz&g=F;adFM8W>21?AM67n|RFtR?u!RJr$-+s9v0` zn$`>!tWr%&$XNAs)sMW9Kz!zoQ|yVS0e>Qli)TqqN5VD*!>>Fj=d!OYM8ieF!`7>! z*_3>xWZ;60%9=vnfrc?-0;>d4pFXrQgd-@9*O}qLY*T@jjN7IOl2|Ra@}ri;=oEO;L&Mf!EmYz26`vv*f(VCqS*eNtkzzi)+s?68<9&@CNk3F z-n}K?ptrL7c|b?i^_BOtzA?t+S4u3hnQF~^Zm*d@SJL^NFRWJBD)OR~??pwL0Dx9>Ih4{FkdGO=P0pbdFKoST6_U}{g&J)n^_cSz+reEJ+j;A6>&3qEdyWOIW%6t}w zkeVukTXgTVyvC^wv!oVsbYFV<h+wU5DWDZUmzXn$yYpLM-xC9ol}CHt|*Ss#L#0M3p>ou5#UILS(T)-hV9zd+dua#I6_*iQ~wMB0xchqeEDkr<+>%W$rInsseSry zkdx44`{LXl7M+`eTL8?zDB7o8o*?ut7QCegt0>Tsg6A0dQ{n9qR4JF24fralMGog? z_K0e#l^=LZvIzXFm{I~kUBZ>y&XaB+#4c0$q*o%syzn47MTRMlhlUgPB-CkBK7tD* z;!>-Q5#Yf=%KMKUvM?uQZU6fPUr&EaJzb|v$MmADJ-;6K-9fLq*ujp~o=vZv+p6r=;UY}r2vGdR2hG1MgJ|piiJ)I|e`?87EiN+S13n8%ywPTO z1mQd*@LCJ9#(dJr?{v{qkMeE|q+F`&7JudBG_Z4#FfAWNQ~z^>c`j~!1$o>hPenM{ z!nV)D;49KRg?>&*PJ1ZlP^}2!GeuYc_jWAfomwHqwP{}-!sh1`(}TILCn@C2beq2! z<&nR?lzJj$7`Z=EIjGYyKR@du<@%vgZ4YVPY7@yNM73O&{o?bNi_s!L`Zv>nKKO3N zyBElFg85^-|C0#!Eg|!Mx|oll6c{8R+dRmX23&^%Xa%XkNRhF1Yj=2y0}dw(Ufa3? zH1$+ZB@Wx(lNkHsOaYWmg;f)Wx6ro4xf7qKM+@0n<$3}K*@JH%c19)x1@PRxPKrAw zHfsi{SY9{A4oF+-yic!B*i36SPw@k>h=n&%N`d3kX1>pRi3; zkmme;rRuO~wtb5rmS#d4)hV^~jDz$skH`mmbx{!_sLveue?BL!^xtdmcHl?if5o)D z!J31jZmreCx(ro>%;SUK=S@G@38%TUS#EeWMYTABlCFE%x8}>33%K+8!NXI;iNHl0 zLu5cSRK3UZxXGWpa_~WO2RJ>?6yAWRJC8;KN_JOK7NFr??mLk7oz>HRguEwwpyKV=zvl;nz!d$k76u6iiYa>Y45YB^~8bVO<1e8qi|Wd{y%}y<8S$b zXT7u_+ZA7D5tQESKST<037dNR-|p91z3#c|1mQ)iC*#?dTQ>s=xVW8~y%rCoN9L+L zOl0Fd)Htp7sJF$jW^E}$7oIylv!J5B+nDVua)AZPP#Si2RHydl1Si(Nn}nu`WBWrt z%FF+WyMv;4fgPZiHo7324gC@%s687BjkFk>!;)5nkwJ$6saRWaz8o`!l`>P?Jj4CS z1l7w35#6Hjhi4H3}0oaf3eNPlOARO#?Y8N&U^j{C=E3IE+r{UkC zb6-c5mz=g3sL<>XRs@6JIMoI|)$4p!Mw;iNby zbS8`d;p^=#bhDl{IGhm}un;6zUlF_86WW8@VE~`+pWwie7t_`SSBsl5oJ9bKLS|b9 z(+wfE^5-j=Qvr+>3MfM2L82TNkSvOb<035InY1}ucOw0OBRT7X4KfHGdg2IPZKs>q zc)!aNV9Q%!{A?x2plt-W!}6)r8dX9v*W%UIYE(Cl0vm=BI(Hd)GBp2nv{2)1i}=s^ zoCJi>f!tpy9bTK=giPma(bhN6C>HAA%A5_vV*zPusRBrvI&GP5j+5#@6-h7@WVg7M zzU>)!@AadfLAt7ElRMbxaZ0=LpX|5Q zy)Nkmr0)&y@=486P`bn^p8y&;V2IF~CkHeq zU4Y37iQ9@sn%zL>?uEiXI|IVfQ?a2(r#GME-4p|RRRzmBBg0hLLm%E3^avZ445Ta? zX5T7J<3O!-8qb20Ca+n0+)1d9zkeJp2>V^A-k>DJVetnUa~K-a34a|<3{%I5?M1)% z)KK>t^}vaPbY~9OJ2DUrsXh<6e8upKu0~-VT#Jhg|5%*mU4hb8@wd0wy_b3ycMl5G z_qX@-e$D*y#&bodSe>jBMi#nB$!GCc#q^rDbbINM8ji=f! z$o(Aadn>}Fqu6SNz$&l7djT<_n8nE!Ae|gZO>rMRc_-pnl>0I5E8piM%-vl(O-a#! zn|dyek>4#3jA>2~fRYudg7>g$ZKLh+Z}mUoqLC2&V`f0gPL^Hs3gtzAd`xLtBZawO zf3BEIyCN?LQ4pI~UBtVKr@XCyO)KQJ>^%4@C&mYX`E2&Xw)}T#7KsJ9SxKSC5cS}$S=krp`6gRniur8#zDZsv2Tn_+M0{*$(itU&}0I@p{}9QpR^ zd!*SzsT@#zjQ!==14yzAH_xWm27F6D?HsM2fX;b@)IZ07KlY-Ad@du$iYx2lv8GD`A zi#4S?>5S6hGvKu^#}&W&m|x4Y?<{|E*fM#F|14E1I(U*P2Yb+c?Tul*f6=;!S@PRn z=(DQYk&VOqzXR%xd(@pn?H{{jw-=oQ7CVuaV2`5Sb(|6WgGPcZ%1G+2hKRxPaK6O@ivDPwyp(mmkmQNW_c1VAcQ8M_RV~6!XR25Lsg1 z!o{fNa+=pvNlk{=QIhM_@uU`>m`$7KGf?IvsM2#WIJ7{YPbcA#SBL~Kv~y56?=V;( zYz{c-Y#3>z)7IbWH6u)-)2|#~l1x3o;(`M#4kI*Jx=ry_OL@-hXEL80Rh5Rfh1-P1 z#6_-A6^p3oU%Jy%KX0s3lWLKiAM`$Luk)HLOkQ3m_YW~sRc%?H1rjP$@NMrMg4b#{ zo%DfCb0~STEyYWM5z{1<>LJsWN@U$acu=fgFfx&Qe{vfI&mAA>V&R>6RpcIRXRBr zsK0yG+tahBi(#L-K+CH;^Qw5UKi|VdAi{_U+;5WKEf0{V7ZyX(yscpA4X?@XISk=WXOuBrBv zUh%4~>zoj#QsQ&{Ty%_CxzVnbiUpp3zd`_UtF8CGw$do&uXv9G>pBBf(19Q(6AUWt z)CWzauM_RR_7umts0jc#9+)5rg>h47)X&m$meJalb>6!3tb6st!uTw^Ps2g^M$bTf32?gdY%Bi+dE}ATTk1-0rT3k{PEX@TOhXZYfj&L*6rfJb0nrp zY46-#kb2jAW{cKf!}t9q+LD4+>&w(%8S@uhe1WY1PkW$rAU!?sRcYlSTDZojiqHio zate6;WsjugD%x*3`mQQNBQ6JaTIv*97S>8piF!w5XU%>tVlYn?We#LfYeTt(RAL23q_&0nVmvr9zg$Hw^y{Wkl1{DjX#GEo@I$ zAfO^iI{zo1SkpW)ur@ZT;3}hFc6MG`wkBRJ*T3+YmJhEB4Pl?k!5MlM%X>41Ml>f~ zdG{XX%nLI$_!E{c)AAyU)AZ$ij1)EJZ|BSj{-Sa1KEQ4LJF;AabdQ(V!e;BU^DiHg zFrjHwqDIZXrVk3I$pNqDM~m=@6h1Af?T~Rz!-Ss@Mz{y1B5YZU#3I!jKMqYP|4H`R zHK8TQttF`M(z5wl!hiMm;vKL>SaKKM}nF87~t*y;$vi(9TOmNE47)D*b)Ch z;2OLuFs`FV>J*q<3ylcLVJ6peP^6(mE{4aW3Ibj8W#Ea1qU!X_&6o)C zhtV$fzs?VB#OXxL29M?`tG`~8K;pwN`A{nUj6J)_HYyzezE8S{@v%>^nFwV*z+K4_ zj^C&1GOyBe_0JE+Q}3=4`=YcgnxnchCaad(1w!c>2gFB?jG0dKA?&uD@zt@wVxeOv zZx?r3&+hj2FylSwd{uweXEAy>_T#Oaz;Lk;-4p;V^9^VTy z91l=pM+ejU;pAM(+2(3PZ--cjXX!+r^UG8** zrE4U0vzDJ2Ch`m0d{$V#5^2N!ltvES{V{vSdFT&LNqIRY^KnzBjoFH4Sx$m)&q*CO zSHMc6QC+YbnwX&ZZta2RvU`g0?ein7-(to6TGE186S*;8=CZ_)`uR}oi*%R@9G%1A z`2v~Lt3eUdaTOXUBCXB>uo3vd+64qrM)nP%jj0i$V12Gl)o_w8K?K0EvW+U|>vkVN zX$7}(-~N$16V%B|*YRuYZmHW*Hilq~7{!*t4;l7p%kz-~~M9Bn?u8DDei-KZ2_@%2j;hg6-)r_fAi!!;eC^~5g#uaB{`Y^7u)ZhtuYhBWf4}8k;-2*JtY{WKl|>?lCHbDMBb@WskLfHisJEP76> z2J{|Ef1SSkdqWPOp-7jv&6L0e zxK{y5Y*UqlG#aCJ1w3sc4pkkIBnL+CAcnynA&SbPJZY2;$4C;5@48kK4XsP8q5FWe zC;HN(y5%|VVV3&8+a|7BocFgi->BhxYXhf0NnSiOl64qt9K zc|!?loe%h}+@%HHvZ+oU{k522&m0-GGON*cT4%#}P>xGM{+g$v&MJ`4uM`T#8179b_2jWp0l(jjucD zy5iuo>RrCAVFV+NM-Q?ozdfbPZf*_GcNd6Qd>MB3iVShDQ0M-w8M&|mhvkZ=Z@ag}> zGK_PCaifKAieQZ*Dzi# zkOfP{_=VvB2>>%jxX2;6pdj_uvLVnjr8%N+=tivU<7MYKB>oKPha@%wAJ{$;lF2(m}5}N#I9SK^%fO#Ksb(RguXJ#FofAjRHfWxtz_ffY> z^_apDysxU+>!Qc`#7}!6=YcZ-54>etn znitk4iDq2p-Mo#Jo=}ZdWo3y60L2=tP z;{d^mGVgYlwluh1CV|g6y12|Tp#O(%GT{;Pol~+;CW~4H!lV?9l4(#gPX+C<32(v; z?VcJU&`A+HP`{uVMBsb8grh?Zj74m_zJ30bLgg+Euwymi&mTJWvqOgpuNBcpd~}t* zHtxRGMssPEHYBiBO-Swj)h>&L2QO&M0HM$Tj`+B;_Cq!7xKVD!p#daU5DYszqEyj9 zZ`J%( zRKmN5gCqHG>s%CKuP#+_`HkB_WG=nd5eu@}qR zs(R;0PYv`RFFu6eOK?Mj)z<4j!ZhogmE9vY8QZJ!?V=WVy3MDYxT$8Vt4cR8naWLk zyEE=Ubbh*<@91SvpIR&f zQ2#x}O^9}H&Q@KZ`HyD6e}5Yt$~bmx$K6t~ex&dh*O)UD^0y%JK(?dMGSGpG@msE{ zkrTZ5HyT~NcYK=>ytSENJ<}Ora>oRT@cmQO@bY)u$LUamNF}+Pqsa3fDgE&`zmW72 z&^DNP36rZBi;h$$j+R5G?+T&^MBGTYxx)2 zUEDmpB{=9V%qM74?kb)sT2U4P=b?E`<-|Sln}w4y#AR(x;LAtdpt-3?x``B2UPfpy{#_yU4>QPA6$i7ml`IE6;-@g@XZC)KfN)OFr(xX&CBviSBiZ=hsU4y~hj z7V)8P%$?W5-{pJMec80zUxQk^PlJ%j3}*Fzo#}% zpq~{OqBguMLHI{CaiR-~xOlEB3D1gZ*gnmqOe5={)$Ni`&F2x|w9NKNaZ=)jKbnd#i6uJ|0YHy2NuZ(br8w|^H0wWz&i zEb;MA^=Q(@&)MJs3u@P$<}>7FMd;p%W0*1j{Lq7?M1wkk2jO!Y zq`Ji(lvwie?Rt%6zUT)BP28V{u4=rNW;sAO+P6FJI`LJm(7k&UvDTJt?_c)IYYZW6 z4E!Gcld@piIZS4=+`uPoh-iJuy z##?<_fI2YvheDxjIcVy4!qKS^%naqA@Mu>2`a^xKJ|s!I$)%O>52hTspC0hb!gPZq z&vKrhh*1rp=oJR6+NT-`fX^`ktVvaE6-3z>xK8qQnM7#c{?)Pfp0@#fqn-g9x4Z85 zG**x@ANHg7r2Z?=gQ@I24JVT?t>5M*O5=;uRbQvxufg*-%qf-Ji#T_xISNsQAuo5t zQ~SPrFaGjO=}V~HO5B%0I*5z*{G_TIM#atKMZZ&=$-l6--^rYpLj}LI-WeE@4EhgS z*3&%I(9rqZ((sxY@|o=j$pn|KarhDx)kTK012bq%a%Sd3RL8H*YYe*?80{kO#4*aa zZq^_4ApV< z&8NVG{NU0$?GC4Ou*TRz<&$2DQ|D*u^Uvq558qxE^q?@B!w)uM$7VNO z#4i|)gL#XH3rLM^H@?a2$it~>B`t32i~D_@AIY2xa`BwUgRze!C3M0yTRirW$-%ni zLP?qOb8Vk$nJ^9?en_!pKB=APzVQ5}JxSx?AyrrabGYHUyRF*Ti;R|J?GAx_Dt-CA zQWd39w0y{4Ela*-2=6^R;faj+i0gWCW%hltu^EG=JuRWbt_WCUgG!58s_*HLBY^pT z@9eZ-q5?U`n_X~0Vo4A?=4f20?fh%ukEOXCy(Esh^}>;^owJwSg1C zCB*YH3EC=?7o7Hf_nzZHYh4}Y?*RiJ@~Z>orAGx>&A@sHE$Exee7Nzbg5=Y1hcoIjc!Sn0#e3c(PMulQko8~{f>k_Y);lt z88VvcElgghkVWcS8%UHw{fPEcNL$M^`>R(y*S=Z3_^bdM#8@s}KAWONb5utEQh3nV zcGOZB9A5%BV?#dZQsrQodtDQq5i`c$HMEpygz;A#5Oq;3oJS5ExzUiZ|tUjb^H9xiprTY`h zDz{N!URU3(d8T0{{J~v;B4f!Lm$Cu`=e1>Xd~M?zGksuln)PcBP#m${luN82EXc=A z>v+>VU4@*;01hZQkiW8w56mlFP{4&2Fq(B3bgjK#+a3#TY!z(j=UjJ=hR8-6Qr6nf z#F|RaObxBHyQjV{EYCc|Qn08B2;3YwK4%6%= z4HHDsH^HjF-9eNz2znw1ue99rC}5IRH)DMhmyD!ktIsG9pkrE^wqbnCQe)(K$~&(= zjd7n&Q7-W3sh25{e?NGj=*xZ;%)n(a@4PnJ>tDK={TaOsTvu(?yCObJ)r-6SC43ny7b&aL}$Fs^A2 zv4g}}Ff0onFHt7?Gc_rR8Te4Ijs=EN)upG=|@@NhQR8gdKZ^l$s|m>QTbUV#XO z8TIIziKV5a|E#Hg(Y_JKSPijB>%I^W{d>p@UdE7*)n|cs=%LC-Y|&Ljt+C_1$eZy= zDZcA;QGvJ4bJ1=6&<~LktX>53Fp6c1$)9oBDu)mX7*gH@+WLJGS_e>VK^{3 zR{?@=taBrC8;O-ia~0qD0@JetO~3xKMmlIImAuvz+hyw@={&30J9jk6{VD)oTFI!$ zMDbN@(a?~Ek$bNI-Wb|V07T}erN;dnf=J>AYVe&>nep3XWVdS|*)yNytb_DbZ3lv= zag+D>jL3ATF~mReaAhqPTd()yrZ01zBVYhOKj(f4i=YR2X;TY~bPv?Pa19OT`plOM zwud-2PFs(t+~__8JiIN3z@Qq>8NkO$$8P!Jr_Xct>138Ed`X#GEcBqF{=zm_{crE( zZOO~E8FyI7S%njB8--Tp*>>iBsb*Izc;QnV5bNPZkL z00q`2#yqXZA`VyT1USJdBc3Vu0XsB!j|HPx@G6(8vebKfBjheRpqUEH__94f7UaKG zIWP14@Bu5Z=clHW^>0q9Prf=z(A;>Vvy+?U=;tvsrB(& zFpN^1r}=L(WxVTcI^Ey#iFtFx74%|EPfWm1E8_icMzx(8*t5YjT-V$`dOkl;G!-thS*%(v?72 zd<>w%A+s5f(lr^Mz&wW1*;kd@X9e|MPQVgDLFIBLa{=*h^{3fRx8ZLW$)5b^SxHMb zP7ZyAn46l&d}~Cj7U(tG*Yx!L(N^yfsWv9uEZB(ot&uE!k5RZ^zwc&9ijfb>;Nu@v z=hJp}7}?87-(=&8uIcC&u}a)Ye>@n>cw?HpwSc`WNE7abm9klXUDkk&vhXY6crQIgQE09)kzD?&JFvs4^%A5eOV z%8lWYD84(Yd0_cf1)guUp^RpWH;&4w4j}}Wcb_&u!BWjfn{+4&FGJgc0%f?tJHGat z>o0{3zHq=N6Q_-7)H20Q+q{Vdz@=k2)`sc@MP`D?K-8nF7~3C+?bKk7znoJ^+BI8vR&=# zF7h%g+e?{J!RfqPY%^{=ZAs(7Zrt)#BANfFWSfrf=x9FgFIf~2b+z{vcnQL^KMjDw z&KOUmV=NYz2@xOl<0=RCs88Ek=o|@w*R`nn0M5#|8S*6MrdrRoB$WVB-uB%Y3irnu zxVC&KiE^|&Hz!^6cZ2i*bB02EOkUX@X`ZlksoMUvQt~HJ@RjC?9y@~bsI#@OKLQrL(trssuws2l#L*JxHWdlYnwdZdP zgcy)yl@&F^H2`lODEJ#*{EPY~QSUD5K?&+Xle(CW$$FXE={aL*c*34!fQBy-+ZFs! z6~`-qXHkt!?QaBmHa0jP^gCc}wMpR&kuIklSz7PyG9^>?lL<2~@@eT^ENA zxA}fT7iQ{RB#q7DhkheO;w?^I-e5C4-9&rm3^=xr$%1;Zq<7iCKGgRCYKE3Dv3cuk z>CR}!OkqDIjj3T1GE#QJhxHQ$um}{PDs`c1j+757gDV;BC8v^nG?&Euo&r#YuEtYl zi!bUBlN+RmV%M&D46@yT4q$g1oEEa)3CmSBO8~&C&hAI)UGPE9?HhKD8(_ z&d2t1Os49XN{MXb7w+`aOsCY6O%Q~;=DVUHKKJFwI3Bq>2;pKxjof^#=*w)+=7WRF zUN%m^B7EcYSQ7zT^bJl*qAc#Jb*V1S%mO?IvLR4K^Jq1>AIPUX&$W>Tgf=5-+uL^t zECZLOBVK``e(K+|5L4wsQq|8dBcHNkmJv;Nk+1!K-bQSfzr93DX}1_eEeto;6R-pXkhV>Z(R!mx zX{f(oC-Z}Pe0^k)&@($l*1LdkHOm|eT&xx`6w$0LHt{+dUlS3O>}O;MWyIa~z2wF4 zK1+5-O$rr9)J_MfJsnw|GJrKm>;*BVSG3iXDT0kLvwIcs zVdm)V1r?QY0gXCTm*u&Va`v2~Ouv`m^r9zfw?B5zN1k;IFq-CJn2g4GcIQLOdR%8J z`2?<#Q?$f7B#x4+9dDgjRU+e|*ygW1B6VWk9=+1{N!BAP$7g`;m!njDx>RHG{PSknJ&x#7GAq#Nj}v+O z&Y-21e4Pe}sWO6BPqDmr&v~8|80{T>ca{>!NCuefEHCsjL93E>V#T@@ysPLvenLQKRBZ^b}@G12&vov1@x!(Y^H($SS zb;WR8RVHu)}W)FQpQF#{48(p=4t_^`t%xZH-Hd^>&c`kTOk?rJG zW1!C?IoNONs=3h`^%Y<*H<&azI={1*j3q=p(mXKMQB;kYQH0xldP?AjsD6gnzGRca zAMO^?36Z|MMC-d!n@`pnwK(@<^1Gnt#uWo!MTiTVYeA{P(z_Sko~G?>1AX*1wOGK4pA;8DUZM^`^`5msfYcOu)uk(j(`gC zZ8CXf1c7cW_;UWEop0ch0T{WHwyUIYW(Zt?ijeg(n8|ZBz7qXx29?*-egV`TGfW|U z&#)i9zl12cjK*&_U!mGo0MatJL7L=@Xdog=!?2EPvIQaw#;0a2^!H0qe9(m zx)#p&Ig$edBvAf`dio4%&jJsYdU4X(E7DF}#mDIq)SRWdx>IRFumAI=b931ppOq-- z2Dpbgps-p~X-VobxhxncePu8L;O|v?G|)b|`vpjR$-<}T z57USHJYaRb(Qg0o&9ixf?TImMjqJZmoL+L*iy9LJo%I+iQ4i=D!0)IN6dPcPAgE%5 zR#I-xdcPobpWOOz+E$nJm!Hf9_GaE*gzD)z{}Z}Rb)OxFv%qtfW&~VI5%A)0Z_vEY z7L|)$rrPMhf|lR+?vteqj?%diqMci!QUZxBc6?>`J3Re}GjyE~L&2utWm6UYtLe&a zj3B{bJ!9abUxR#Wz(q7JE-w!BXIJS@SIM=AX zT1+V!cXNFgWWMH=Mc+mm$h;lb(3+;j%ry%+UR3J=`o-erW8USICzv8OxaJ7tv%YE< zvC?fe1MuO`8)}jn5DecjT69N9&z4Wf!UJMZ$)mxU7F&!SW3su zN#f*Q;cn&3rn;*V;?W zEHQ0eS5Kq0yRh3@+ZJNGG$ohsFYBUNOErGnDUT$Gr?j@--C<)4%d6pQQW?ES4O$qc zXS8~pAqo-xd4>THJ-3O;h`ukJGl<6e`&w?7mT;UeSzFwR$-miuJ1+CuT6g1P7BGfh ze)EAOv)rzwe@><5hpV-^h;&{ZvvBy?U=vvI)OA+fTG9HY*7*;|N4iQ0U_-Eo$?lu5 z1$sb02x80zHG64#ST-tWh*&7$UnrpW_JETv2DcirpMyP=+@cO|*?Tn4j)j`zq6wFR zC7_?}eK#S{LxlpZ6ewVTG`9r;glj!_((Qq4uWLT3{#=Z6-=caWPOA81aqJ&lQrF0y z^hAmatOx9;iFLnXeW-!p>2$N!{|-iI5X>z%iu~p-S-oHUZI2#ktFrM0t{m1zBLZFE z+0e7T@8&M@vdTHyVh}zDRoD(?_Fhmxe8a*W~XYh9!w;SG}=N;a=H5j{5 zzCdRB>SZYvbI+c`3*x~0;Hj9qkPMfE`JImw6+O_VT%%)oy7Z9M$A`^GI1RGJ=0RI$ z_$oFTdujW+F{b8Z_jO}^0^9MDrf5U!lc|Z0NWalfIt=c2t3@sf8y{IpRTM-VmroD{ zTWd_VqGe^zj}b*l z$tdfrqOwcFIzl!fE92~umA&ux`TYxbpZDkUe!ZU0=i})Jh-yS5<7TT^6k+~%@;eTw z?DbaH1V}qBE`batgFDo~ccGrApN_k?_~O-8|A6j4eA+XZON#bvj+{WCC8waK`L1FY z6Asy(+rMXvNUpuJHWKxhW_pX-{B^FLGPAhvb{_8xR6`e!w7?XEo(0pi0yAfcht^qY zhS$bFN~;VpV`_g$pn)@#UiBfF3aKXtwR`)2=LWgRrFET2HoDV#vG}tn3~FGF@s39t zOLuk_4Op9SEdcNhxay9`x52)*!O^dAr^^r5Gu4=y2Yf@0Rd0#Dz|k`ZqJpY?Z0@L0x2tVO<&sf{tdl}}Yg0DoY^YHnq z(#J?~9_!DS8Nc#;py4x{CZ!@XR6@`bWb@Kcnw)ds`L?xN_M*5?-u?H<#s@#+9cy0V z&w$(-htA-8dfBy0M|;yml_0AtPW)wR4ku=Z?@X z*n_X()5rbgN1f>X-OLjqNyXh{16;nbz$W%78%v(7B;$+pUXE?AN-IHT`oC3o+pq!i z#atkzC^luA8{~%f7=DNkSp7=)3~oVVi(i`H{_c+(4=_8Vzp))NH)`HpZKr46^Yf`u zx&F`fgqJx-b4jd0P#@%p#g920PF*?Tw?M6hUNi?UDI5n~EJe40&h)bCu;aHvMD-<)`Q2+2#aP8#Azznf5fhF}p_4mLJ)~3_DZ@yuj_wxAo zKfe{QUQGVl_8;5vuaKSwRLRrO2da^3XtU^&IDTISu#n&dmpj&0_*H!h`)B|=iSpaG zst6{u_}*?#@0qVCV_PIl0yXucWKP;88d>YLzwgxKF_tvyTSYf5%m|1NQ5ZU?`fcb5 ztYWW0@bTLlh+=NqUMy2{xbDm@Xu9?AzI2I+otantDTW!F&^IREjcucOy`X;IQWM$M z)yJ|j!i>7PCv87C%6J^9^I)?%0Tv`Lgp^$S) zQrb^UJ3-7%4r-8rQE|614n5EBJfl^oi*+efQqJb{q7@6xy#nTU&3$OXlsRV|A?JkT$U+2EYd|QS_%-MfU*{>iY;V%y4o-EF5;vg-FubCt636ht+!I8k$ z=-EA{L@m4a2y?d0o%Vmr3zX&rtxE&pEfxTRbuSbCfNwLbDF>a-f!j^5-vEVZv$UfS z90`Lym5T9w(?otZv3D&bN^G!>z3`*)!zj54P+_fB5rCH0{23>CH%lP(#Co{{CpR^{zO>s%{zP{(sHjdU^JgUS*85J)__`mg%PTH=rA$w}2Uwn^z+>H>6>mGwcUAD5P5}{LN9M_`c*7@O?>hGW*3W55B0o04Y@Gj|O$MMNO$(F3YteVto}lgRIvSrZv%hz`64mD; zH*|yV#kP@K?E);@T;uu{{SgCz zJ9F0ZHU`A6buk(@N`khK(SqV37YInwf@Ri;_W}=7w%dVCj z;c<=ertaI5^q|co0X59{67Bh^s762BdtQ@$76qb}LIXIw0^t!g=3Q!TBywREn4^$G z%z173=H@*{_WycmiKf3v#e4g_51%Cd68ANoq&a;9rfSmOMQKy^V=&4=B?oIVW`G$& zIM=F&{%_=nIbo0qg*por@BrJ#Nm82XF~R~3fvdpI#%33)T{I+0s%opV2WH+Hm_+Yq z;~vW^s;~$N{(wTFl=-!7GpWu{pKox4wVCz~nc7gbIC@uHA1xYRFcS^(hP!|(*3$=4?Y z7zrmx-y)1uVX22;?G(E)BW!aiGni*}MgD&0O`y+`k=7C+WgT&IJy!wuQTZCvstuY2 zNE5`@{yChw%Khvud~1FyN*1Pt(`BHQl!J0!^3SNS-8XAR%Ui!*Z|y|`vfOki8qn?< zUO-8YBBmP;{^w}GhHefh)XHmhXNpMm`~FJP-*6pYGksg;AlyD9UHaNh8pR*+=LBSU zFEtXXuN-l25l9J^5Sw}{ZClUL@r9tezP6zDzfZ2HbwatrPi`xr^^a_@q|nCrKYrKg z|E4%7>?e*+dAYQq?pWTxkY~`q!lD3l;SV3?0I>RFcceUnVY9d?Q~jXI=3H#!m2Vz_ zCF*vAOF>a^)+N+rv0S?|xOX3A9zkz&Iyr!;-D=ZBgykRdjp9}N znu#fIr$O?l;52){GrCCqlV1aQW0_&359lO-j~2p>?kEDHsp{x+DS&H~B#EKm82Ywd zQ^ViT6XufhGH)*eK#$7T=029alzp-MuyVr3E=Ep~A^bZx3S=<|*){(f2~Roc)b?vW z!))qIj@$H%cf`T>-htE1YguFDYC5pi_2TI*e@|?@=;d)ysMm%jzG1hUj!&*c?*mz; zFZ2#~x;)NX{qQi)_Uq-9R2A@be>Qb)ZeQyrDVsb<`lVof(i@nxMJoz9!4xh;5v+XH;hiF8|2(xuR!wCZt*7%1RtG)>7 z@0yx3xK0J<7?V8DDO3n(BsNk`0GBi#F^D9LwtCNxrzupM1W9o!8e#V(Z|UjelGyC4 ziw;|XY)?E}g1PYq;GwCJ>om=f{QTEGn#o((xO(S%{7P-am%HP;PU8-5)FR^*T5LJN zZT@X6xN%;NKk8`q?eiFv{)|ehMt)~&Iz8x+Bb5~GK>Dpu9)Zv43W?UqS2_Qz3 z8ny@mZo#c4X$7pDTl^5`(Y#S{BiRu8$IRVoLW;!PN5MZEwvxv+E3Y4*MgDs!_3rtk z3EotiOYCdfU%FTCtnYj~vxMHwbY0m;0VQrO2JAqBKEkab{ry4|51`|OQ6yKyf@yEZ z^$FoLWwDipOz!%BcJ6M9brOU7gLkow($97?GQ&*051(82UfmCM+)}){z-65Gj0lnV z?s;HA*{7#N(yx?{^;h_++eh!CShablZ;6yiU|(v_6dR|({YA=KB9{o z<^A;ivMbjDMfQj?!bdD^KZZXtJ+yvex(qhIaEN)JzBBq8;Es^xI)GBB1q^^{*qlaK zdF~P&Usr9=m(v!_3kd^|l;7B|T-b=_G*x#dEof|atU6q|_Vl-z=}?-1tw?i29cPzh zVsMx_Klwfz*IGS4Ecov4=l4{BR6qb_#`+aKE?_3HG+q@QD&87_24y=896YQc?jv)w-8mnPtBzz;C{NNEq zrUyEUVaSSx?*;TK=hwpy5oPhIRr`XWgxjF-%onH9+m$f#=ewBx49;FT8hrlfLGiQW z@5Vpso}h%YKl_oTVi9neJaE#+%h@g%9{)02u2M9w*(s98nK-ajyi>eo_FtUxea^v5 z3=p%57^b&5^+Nv2Ehgl~K`mMsR=|fp0DA3=gwKx=l%35s>M8)&NDn75W=#6y`|P;T z??*eK*X~T|vx%iYG{lEzJgQ^A=Z(MP3kCd#rUhxf+W}{#`{=UDt6xM=eyNR29OeZ)+YscDG-cB_H-$a_~h z!P@rZ!78O5xAu>4SRJ0%v1SuE4C0HI|J=X83JW}nPNchOXMhZi|l-b^ij9&9VC+ZJ&@kQ_6a3CM8@VPAYT zL>tgi;J#jFAv5>j%kh12cgJ-CsmO#hzXST)^Ay9byAB~@_ zr0uzGtMmu%fqvdYW%|5f#CsCIM@c083QF0fk1GrnGmmo`~G#RMggQ;zKFyV9x;Yopaja<;{c0jYt27 ztRlN^H5t{gcZNTy#|vu?+Ux|6DXZFr4t5aXB0!u^CRiJr`tK%b_^NmR5g5Q)FH8&G zM~!APFdfEs+(ou{Z!CIqKc~)<4==d;;0d7*FVh*y*>l8meFhNNi@I+FpVNuXn4$-% zN5_hXH^Csm;tI>nT)+Qmj*u^`472ww*)|oeHuI|HZ2ZUS9gq>oU1kFp) z0d$3^!5IxXCp|kW>0$=B57^ZVfwi8mq+PQxVY*_JZeT{ZKOUX#gIgDp)-Y z5xi?fJ`B^${XEdG3{ZP4tmAnkSsFJaW7+}CM-SaXo+wB%OXq*!O}uyELRs@?t#1J$ z5{AwG+us*boX$Pj>@1xN^_JEZpbx>qa~RNexMX{noGD1X_O~{KKc%h_FusHcG_taw zBwE~Q9Rv8sLjCmU!jMp!`r{FY>(sDYg-cUuSx(Ax2{eqiUP&TGu{qe5LT?tLa1Gn%h(ZXMG>41PI}FDU#k6x!acfLq9|qWL&w4Xen00+z`k||CkzpSbm>WUwo5z6 z;;=_GiBID;uxAqItA`RFmauQ4i!l*-_B*RcvTcR1fGh_yFUe_t+`5)CZ^x{dxBz?U zFV<6*T&Bpn8*ttimIp?*Oey|V)(0+ObG^X63Qc)FFuqI!#%wc|@wBe4O~<=u?ax-f zQ5%Tj0uHCp;!|G8MHsnUQ_Id$k9muL$n5cCt}6@F8q^JJ?HpUAz!RJ-Ho$teqbATV zZG^PA#jREPE6nk^HHqM3qpaM@=hMVHY1nGcyCC@o7A#;=jHYqC_unP4Y!V5N&gITx zx`oW7Zpx31=>V)Lg}cT9@)dU-aj!27zyI~7_4nPq7VdJ_Y+DEm;F#;FTgi%dDx?b) zADA0N8OzLx0=CyD{X+gr0v-s_6^s`S`ssA_ij=ydKo<^37iAq^^a}9X`F|Q;0#l^} z>|ek;XbwZ*zBH!9-^;Pl^6Fk2@kCWf#S;bVFS_DiyQPzPeQsQ)73bD7j8gLV6}<&u z#A$`6935{xa{|Sy{TMKpb0?$XVJrWJW7|WHtkXJ^+Hkw_=HJ8GEPR4=fh;@O zX`bgSS?(!+>F4rs_>VNv_3?mVAyi5tjNdOJ>^T4pn2=snvEGs>nKZqQqc&4E|J#`m zb=O>i<(+&#kbL}v7MLsT3A}h!Wa@lkT8XiAnUO60ZJI%6Nt1_8OIr-=Vq;y-Ks6C4 ze+o*4MA^6NuSOveLY551{?-S=t@> z-#BYeAfSu~xLDt1bS zD&;j*{6o9%$Ho9xwOY{$%;|vchfNJBcByn(1-hor?prh@hOxI{jS_eD(6GtAU-sKk zQ;0bAn;0m#D}eUPQm!J51^5>=$`kvUG?Pk4v#CVbZ3o!9pUjXNoaC*G`$_CAM2 z{FVIyVIR9@iUku=>|rs8yG4dcLB3#NG}ocvZtS&IHnCs?%e|g-j_+i5y`A7q0%Wgw z#~dQWBtc$$7&dbzn;QjqmnWt(jlS;Nl>N4H_7t>D{8=*qxUe`D6%|t+l43ta=FXk& zh+a(?xf?S0IT4z-3#gfWr2Ub$`>dr;m>{r+S9knf z+=~zYFrh%;=q6HLjW?1`(%N!QN0$wx-)iemZtWO8rZyK@Z4}9rCzgK&!&ICo$ zne5KqQ_FGG$fK8Zm6`pUGBlQfbj~TLc25BHnKS9^S2Dlz^i?^(I=PN|LUc4f31pe2 zO=gd)^4=ihI0ak$mYr7Z_8IFM%PjKu3!(xufaZ=qcGEHuI$AI_z1nW7S+((js+9%@ zoHz&yfDA%|^pHZJ9XBm~k+tJ(=EH9^m?(VG)@Zbmu;S8DkJEyT&&rB)hJWRF|B}E> z(vZ*w^lIn32C=OFR`cz0bQTO!o@{Psl}4sP;fAvWUor1V)%d4q7D&eei+#;Ydu{MK8`Zk|S7uVw z?%ua9?UMhyVh?VZjmO$&r+iQ;0`7A@FD25A4sW5yQ}!jmRY#}lq8ILxFg4=i$3fxa zJVFYQD~oh@X+&>@DxAb$1jFk-8mBy0$Z7=po-&~d!^2Ne0Nt;5_w04dYBi$jF@Iu?mq4-qD|iL<{6MN0 zZfq)RTRbr~V1(Ize4naSXk=(3P#&ED&&r`k+i^1$kxf}at9SJRySi2%eVygMNPa;N^S zO4n#h_A+A27v%{| zC`Cwe#fnu<>&iqiuFxLtG!iemiroLfl151eiXMAu@h%(pZv?BL9bOnP1-yrPpV27YlAZed*qW z0xdEYXCK(7jk3+YeBwUi6W$JkZxKI_`9qFkSEaG;Z6MBPR2|G?K(~=YcVpH|NQ1C% z3f7{T5G(TG=yF>!K-6pZAKwnP)be=N+AaunbB#&Q?Y-G>{cosy;6Eryy20mVxxZCZ zHd~2TG7{qoLcvE2jX`GtY(eHz1+VBORmrL)HHy87r$%e*yAJzTxUvWFstW$jPgM#8ZW1*+)o*}uRwShQ# z(DTLj%7XWEng5&%RPY7y`F}Oe#PK|!LO3(P?vP*_Ds1<&DXCy zDV<8ZAX0lU(pC^O&vql2V#?a`7a7VLqgUN4Xyi12t#CogmV(Yih6_X*XtBJk#>y=f zT|66btKaBv4~?i-*&kRx!NIjVPQx2xUBHaDeJ+p2sdJbNO`__0SXGihck=7dH3^-k zSm5y&hNm#fE+G6?svwvE=|F~&y*Vakis2{CU#)81HGDV+W z5ncRkLllUj*>ym{aSUn`z3Uwx|6Vt#et!YkQEc!<23|h$n(7lwsl^mcA^x%0)EZs| zm=S`9``f(wPBwUixC*@IxRI-NBmg2ydtUx2t1Xm)P>Js^MH?O7COcqn)FQU@Vlq~s z`xYHJoYv;$12e0P^qbzH|H?ym8)c+rA_gF$%-rwZha>&xe}r;^BL1;zIbPBinXDsU z(xHc9wq=U_EelrR`}eMgrgyrtBtPltiiITVC1m`=ly?~)H>UERJ0tXD z{~67+?ttRbVHr_Le1bIS(fg$7ZAMwkgU6|7=zU3PsqEVLJ(}#QVGJqgXW}UDy8Mb$t9Izj>1?w@1qF`viSaLN(JcIQcF4z!fjZ#x zKvmzP369^AjThamPBiY6%TOjVLrZjZM$AbEY#~#%es6rgF=fqcE1|$o? zcDnRmK5`ndU2KjX90l5mrkI}GiSsy8Pj$z4D$oLvW>2+JW!#8Ffk~3#505$3ZQ+r2 zGigNqbe-6po9lu|jF}#;(1jMzkX`0}^iiBJz+#Uy!+lqT2)MwQEa@6>njM?G9 zS;ipgPrLHFWdzeJ=&)FsM`fbC$RqW#lb(+v*7Q^X4uoLk9!ls=r!z=ScK#tSX|aF# z6y4Tzw{n)pz+&Ib?~ISXBhKgD-Q_n|T~4P$v-4}~a`yh|)Z5LH)5W^`2M79lVEqpX zOwD_^3CeX@szeWRG=f}nrw8A`7@N)K(9ev2eulai3qyn?igEPsvj@toq@efX-DbZ* z$*cA8E`wy@`?9>*Va&y(1Hct(OPpiRSONY6{XgFtzdF!8Dw%@h zf9FvV1hIB_d`b0ocrP#Is*#KGqY`1J!{K!lHPAj>+oYaXL)z*rNC0jLCH|a%?8nw* zQeGDf90qLYpy8+h;ZOQitvaH7Q2abwSR#AY$i{}-;P0J#qv$w8n0>}m_7YZna!~Vj zu#cd%w*{R|DUBs<6hM$HpbCP>ff-Z*6u#qLdI4m8ohlnywM1*z{a-TY-i3Qauf45- zZ!Nxs=cls>A>Jw5(Ps&@nGitm&xaS-ll7-g#4hY18FM)_X%?~xBVxY(0|0Mt+iY?) zuIz7>Zp9Rwh_DBZdP1crdX}zo`qU=`jPt~Y_nB0G(c}rHh}eg0bVxQBr9ZfbEUDX! z=|TBl01Q16%K6g%RwnE(*_e^3AQFR2rWq)Ckd?+7&!W=1$6`2k#q3Q`&==L$9AbCX zsesd`3=|+Ru1!XNNY%^*=`g3p%{3MB=uBCvUh^2w!Pi04YURJI_Zno?fXiFP8@#=@ zu<;IZF0-1KkG?n!xo_0e7iTy!lD^D!v7$4yHSJi`f4pWASa{eqwd?5-7aJ zg&rWL^!$TM4CgpVx&rM0+XkvyyWW^-sY`9Z(pL@mQ$HB=Z=`-4NSZ@`G?3OFV+FDR z|G>q^<2>W-uk=BKMZtRat$tWWTE0T|)+5ifs|Z)@slet938ZNBvjY`SqDx5+b1y4@ zeatQ7CD_N!M29A^@mlWw5@`c|0(Xbhjvn#4$KDj%JHC&W+_BouTf99jrw+mF!r$eJ z?2G-?lyP3a+QS!tBvcY)4+PXrOwK&k>K3Yhu=CqP4Fhx6@fd0}v$8a5IX=@cGBMw^ zD?Pu$=$lHYUj-d2h)98x>Q1S+KTI~)h%Xc3>+7Br&6Pg z^-Ahhhzx+j-g&6e@n!BlePpP>Kf!&|C8X7otaZyn&6}}AH6{c03Xun93?;#Y$<^Zy zJqYC%ayYtmIvE`G5mnWDWxq#CoRa0`S{n_kx;20%am7&##W;i+Wo>OT!n|J8#U`aX zh?KmwhUxFQE8scP8P7BWB>;+dWNcxPlz7-0wHDVcWJouIB`iZl3d@FMwejMMV-h=Xa;x;R3u?3HWMPpxM!VO z;_QleKzBXr)*oh<`bv@i7U#6==^fnLH{e^l*YAY`fq=jBx=!ZxI@jFZPVUlB0|L{L z8w=H%FJc0?*Mh}i!mlkY9vlu+kMi}@SYC! z=(N5IHG>o(!c!76S#iAqfUg{wzS`hvdV$$pnVZT<_2XYF@}HZOu{uazq%;&+gai-# zPD|SeHaJ@1Yn_H*8<5;qWKHY(o=$i3)|-8)q>RMiQvd4H;AO=w8MP|H`w$2yFDeWE zodWi&X`>KuCEcdocV`4@CQFr_zKm6GE+Dmk)IU>$j#rJtFt2|1zFWKDUZf5Nr-JWc zx|0v#bD%2k;-lKG#|9*m!5CN0H`mNqy8^u4wW1WUvxHLxD4Rv{A@lur*W|7SG~elA zezY(~Rt3A6lzpTL5rwie^;c*fc+C=DCL4P(i54ZVAd~?!>)=O{WoQ5&J+P0vO}8q9 ztD+zS7h30Y{lMoMi%)wBPRXZT%^sPHU46bW?7jL^G2ras_)=4wb5}s^T>*Of?*_pH_6rn>Ju%7pzda2)_V*e*QtpVq{ARzxdo@_!Y z2HB3J<^1Fd64t@k?j@-gDVY@b4e>I7b0fs1ZGA+*QxU`{!0nc{)UA6I!*=b)1l7IF zN1Fm-buXbc^=6D2wp;G~Lhwp*)-_zC9z&SJf8Xh)ZoScp>K=1i`s2Hhvh3w~H*@f> zsQovVcL$Nja}=5{^eA1N4GpbU7ypf~tTzSchr2&X0()bra7A&fbS;quo}?US0Q<^n z%2YJ}6K21Q4+vDiP5nOsa3k(RBL8K>k*w2yA`*v{|Dd)*>YumA)U9neV!`1a$Kr>Z z!5vev2#TV?X2h1@_QG5DD?d+i#KheaO%yVe;(%Li=&!m@vM=Bw7RSlYn@7_Bfy2hr z?2i-eHJpM2Re?(7xfN1=$myB+w*G}oZhTE``c_1ugudJs95q<}q4KfZsHhT|XXYX4q`1@L3YqkfTx%5`%1&qIp z0r^2eWIQ_OPZ=v5RTr~9UN0mNa{ z%R(F*ni1F9(0*YoVLoTt<*Ln{QX8#=i2?DoUiG_Mx3c4>Km1n6)nT6eu~<}dyzIt` z4mtQxoT*KjZQ&ftz;W-loe{o}k#kW+Q=P7b??K+#Um)$WR5Q)y(tY%Sw;&qab2kEG zzbz& zlr;(x7?raUl=uogoMPBg8rU4}xho67UwWv64vv^=ZFFeyz9~?C4fPY9o&A0waNRSA zku-PFvq}4I>cg}3{Aj>e7u#c3QYGxP9{K#egw4ZWvCr=Q#NNO~zIb0qlC^Ly^;;sS z+M-}8q)>XFOPG>Yk=(R#7m!`=5Tl)=#%46)(ct~QAt)J~vjLEO5XzkN2!Ip#gG<$L5Fy)K-^(mtMp%OYwb$O_pN$O-jYYoc&m#2V$ z)(EY~!L8%PHELq?yEA)xiF(axG$qm`CG>GC7X^D%;(pxPlTQV;LLdbBeA6;-77$zMv@`45?`j{ zf`##F54kRcOw3Z(WR#w%Llz5(#aBt<^g-H7UQ{kkAu)m)VS9afHGht|!mc=3)!(v73Lo z-t@i_5_Aw)yFBv~5o#zV2EZi=31QN}NVmo4R8ol)1Bh35uY4`?vBrcyWaj(_K^7%c z$N9;EpKpIy+n87B;{nX`)b_hJ4!pwN*FQynQQK#~zhV6$b}dyN4JY4!_ivmIfRRmq z5670)+5f;0Up#fAbxWv$!fb8GTzd;3y-vN4GOl|NP~_YHu7+@Vj=3l&?9qRZ6Ho_o z+6puB$}$51(KdINSU|oc`9)CAlo`K!=+xo2mQ42A^6UB=_HuE2z=|#HrD~kPu%Itu z(f{FT_y1Dx$B)fu;a}A1VZ!QgrU7g7ZXZkMdaA+ib4FKJ-`;zo!qXN@>62FTzjG=f#Fc3l zMuLKL0Qku11BI*_03)PaW_s^+?r(xuY^_3VUR&fuT*&d}oN4D#v**0Q1>#5Sd@#?@ zMc2?9C_*l>qk@x}4>re_w?3l?0$1GK<*C}%^1)gvVx$aeX(k4D6cRA-jiRcNNQ(*7 z3V=Vu!Rs@>CniIiw%%nrquW%8BC*%b7q4L7{%Nn_-_2~rf4C}GBAl6C-u}VYj%(CW z_$G%m2Z&^|2Si+hX-Mdg2fotC2Y37MMVvZqY@^keP9C}wx)p$kA+Y}Jn+`1kBrahr zh&g^_f~g|9tO{>&WM**B;{fK%slFi{5#{n!4IoZIs-+7$*rP_q)M@^vZ>|Y|5^8Z4 zM0-v-rc7!7TF%TodP;y#hnE-QK#fr0)z>tb-JLzlB#2ysJhol3kCk@rVc{`(;58tr z00;efYa$W0{^o6n`Ofcf!-jG(?a=+rCvIF)NABETu=|$+Gk%nikPbTp}1jt_Brg&9}( zduG2=_=mQ{&yQMhCJ0b7B9&kK0D3vq;N^+1L~`g!f@$%uxMZFbvjTw-%HZ2FEt(+_*Fu4q8bxtVFK8jD;8d@mol^5?mVM<8!At$xw8Y z;Zdo#rm7j;p^c+ALaNCFfI1OHc=yrX`NtP5cm+)hH1z+W!@{c`0%r5|^gv_s9VZDn zTo%!D7M|6#;-h#*1~nva5zqgI#%QtYm9yZ;0wg@C;6TU+_)AcuOk zQ-P1;Dj+#?576d}Que-~!xs7oh3s)F=q$(6o{d>u$`Tk^v`XbD{XG+4`+!{h`{?^= zXr+mr=Sba&ri9hLhR&oi&%)TExH0}&s#B5r$RpjV-Tdk+GuYwR)niH+jx-PRZ#5y( zq53C1?AvH$uVG0qGc_-(pRG}56I%;G6gSrCUvR(9cr&Y9bC4I z7E>5*QIBf-#?P~Li;>*wE#j(Ai3KI@0PH-Qqt`+qos!m^3$5>i4&SA%J+c9P!t|*I z`M##+-&|(wuP$;s1EMwxEHQOw>Y}7?itZxKq-*y^-uwPrYO})w8yo%SnZ}_nxDRRb zRjg|zaBIIOKO{n+4|H)rB+j(|v!pseE?r3>M4s^VsvP}@!FV1f1HxTTqy7xGMuMj9 z$o9zwWqls{+=DanaPshpphp(92pYKjz>K_`a_>SZD z&2kKIn|RCq<3@fA<>zwxnbiD3|6p2*q~v-(idyo5Xh+lZLikk(+?htxQCzp1+P-#k z-^vz4lM+ql>^U4JiUDB?=6OS?Z~0&f2m%DYQ?Z?&Id(7rb+_)@vn50F1U+n8eE7N= zIl9jRYuo`Wdy1j?5k!)oGi#hE-Z(CNI%>P2%g&R1-HAmsu+>=}{;@^4b>xi$Y|I*V z6k0E2;H-`MbFwB~b8n~%1NzT+AK9LgDG86a3pyVvr@hO%f;phZf*$k}nfU|$Cz!L0 z@DgF-9(C@F0g^;#Pyp2s&c6GU;rYFsB;fjh+B%3<`&)`VDMt3xRjr8%E%+UToIx2o z6HnMOn>KPiH0NI}Gw{=?AaPVo$smmeTM@JfBD$uwE;Zyfh<|T?!|J;w9h6QteoB&J z!0Dw~)JDfz|1|v;;ssGlp~`(?Xh=&BwBw5{lD1vWtfq->vViTENEJ%l=fw$iPT(qz zCMf}kr26flIfb!?O+JFEiv#gW+Q}YUo!44FJ`qbM@SLJ}@DN@=PBsLCKLD(zc}K*K zJZ%;sSm@7}=iO_0O_h=YVig`2$|@?`ZD0w}1*JBO`xJ#8B{@$U%Qy4SS|7JRZq5Jr z{^Q3<(-$JDl{OW^mF0ykY%K=2pPWnX9SvHlpu6bvL2ZD zA|ODo8qZDMu3L+clg+Sj`=?~P`Iez-p~K59u$QzHu%onkI2P!7&gsSeLtnG^+Wkyt z6gqutA9niI=Tf~$gtviZF)7{YV(ZLA=_b3h!i?V>A;cz5T*`XWe zqpo@pPa?o#l!fwlUG>vX$>)l9>LPZuzEb{OcYDF2A`38Z1#b0O0-~55S1V_K7`WHQ zVRjJ+TzVgJDDvy(YJzC}a#;+XI_Q-;r zj^*)0G!2@FwH=@fWTpvS+Gc7{4#4 zXlgsDE?SK7fz78b!?!XnjCYH-nYL4LwbS;90)1u-ET|#$00k$X02Qt_s@0{s$O04g zhHWnR4co8@|I^m@J^`@+lT0nTJEW%l)BheF)={r!v8+km-=?_k{d5ZsN_BX4%&4u0 zUHHt5R{(~XvN#A{Y+^cnc=uh|?ESR0sD#CO{5INtXtm-c1%KS#$ns6TQCki~2AcwfR;d15z@2 z)-#g8sgJNRp-mp7}D;0r!?w-fXgt|mdL zC)Qe@;>Wp#>^y%9)@KXtDHhJWS#962K>>DFP$GAlo_q@hD~|_lv?g}+{!Kw%O_CB= zvQv9g|7j6S8V3##j@-OAHt$?TxqXaSpWUZk4Tk5Auj9%0n2JIV`+vGE$1>Wp-l0Ol zioG@)iZBPN3`0~n!wr$5yv$p$^th{*Ve$Z0I8pL~@7>X_M~`SFul9J!vH%GxJQk@X zlcny;gY>hWF4`&X{Juq+Rb4mDe&MEm8U5l{{zs+z?~ndV@>05~cUf{9DlRsNsV&PF zFZqir>E>?!U8A~p$)_}IR^$kM3(%kms?J?@G(Tb_I6Tnp0<$F%lk>Rel$;hI`tV=d zTB-neD(VAW823V^z`o^=R4qM(_pkjhxUsiwUgG+g!azlMVxW+3y+5p6zX% zrS(@9kcV%Ee#vDaDZt6LQ7+@(!*K9G;)ZVp4frJT7{Jj-`vH}OGj$E@G|3ismasze z`+>B;UGr-Qr7$z}V=p{SOTVr*jm=_QYdsD@gH4yPT?Ghk3-3upUPP9+0Hat)05j!} z;QnjK{x$QTeY3)^Zvh+vHj3spBhkXl<|oX|9$f?^(~zIielOp6#2H5Q%w7LCB;2pM zkmBSh>nL9Z)Y7FpKxTpXbMPipfE_Ku#yE!~g8Ig>vjiVDdM1(#-e1iU6+wG=c zj_oe15w8mGqDnrF&!x*UJ!-ad-!PooBYbz>9Z!GnDLW179Q(hwUN0t|%{aW1VQSRj zLym<3$Kl$ao7nE3A1N~m81NUr4zliVPtyYgU)uqA7D6NbCi@-2H@~$PlnHG8)~uM9HoRJt0OV zX0@w%@0sz*dW}@7t2O1H?7r6|UKG>nTBid94v8-rPxXT1Id_9JkUdo#&(YqmNC;+h zOzD`DtVa`ck4UceV497Mc2Pq*&eU7=-|eZX7J)vBH^ZJEPgTp>JJVUBQmW(F<;fkH z*BxY{Y>2=~;PTqxjPt_`h^6#L?F!)|Ae`OPL-y#A{k{>crDsIt3&!c$u2cQ(J%Ja@ zI9vP&OE&Si4cIvWxl|Ys*KB`|g!2BNU>!-U-&XF2t1)UjvL1&VNg}^tY6_#u^wx-Q zw+Dp;$iz_C5poMNT|+v%+axhD9E4NAzTKAtkVEd4p+1~|`V*2r2VWfgB}k7qB{+fQ z2PY4PF@v`YnNh$$q*iyP{-5z6-sRa)b$i!87UV9|ry&0pV}LjRvwxmet~Y|@+2VZm zNUh^FsYPdh=~ta-`M7fl5c#1Ka}9a;Ckt6O&oS(X1|UgoLB@t!XJC`V-Tpj|T*6H6!2nX7 zL^ud#4*>Qjsw#inGzKM4>Oz08qckv8l;gxRbIQueeg>eZ7Y7UOGFABK-~U?xo; z9P+(uM#_Ibi1osJfNK~IgAn{3=a!`M(uvzI2t(SxWe&EyfLpo}!cTDkA#4OOQ~|@+ zSqQdfg%J%@dcdXT$>^a*v;WeH%m>u0Y}Y6X@hbr)bnrGzVb=QKQ8rgz_xyh1`j5i| zIerR@H3vm--=moiO_Lf#53D}l1f*%(IAqY~Y0(4orU$(_G;XW97=qVCk7kA6^&zWg zDF1)R8aeIJ&5Rcr|5Tav&vIv)M5*t(EtJjM0hk?Z5RkCQ8b1vl=^CDI-Fu!Bjx&0r zKP&_%@5p7IOcp!2ZB0WTAh;o7yBYliJZHamIed<~_bJlWI4mRgqMO@RjH=gp2sG#t z>lzWl%quK?ZhZ9Rr~h})*PcaY`<)Y1W1*DJC=_YW*x-0z;ETl_ZTG+@F^89FiC~Q! zaU^nR1Heynay}iA-hTWQniaHK)0R|xuVIP}4tNZ8JS4@nh98AgOE)V5A)yhPk+JP% zLeRU5fpNC~0HLBbCpCBC1OTCs(1GX7%>yy^2kN&0;XC&B{gIQZ7`QKQ<=cUB7wc#j zck@=^cqR?X{O7*IfWgz`i}jVHhRxLHojM#9Q~(a6%@{$tbA;yfdGaAPV2?<0-UJ97 znmDmrx8i|3{8WQ-9SK{pSk9PD}94dwLu z_ZI1JzH{rT*Xi5(J!B}mBCHj(lD@-KV4-0{mA@n|teE?B``-5b;W#%cT77W@=42;K zI$QV!oJp>M0u39$lqn!T)-$nSGCg7{rbZ;>X^Tk-_Iab1z5XR?6~N;kn^9iP3rU3aZcFHPcKK{sBkv#Nv0NQhe6f1IXU$ffr1 zq1A}V1x~AG^kBl*)Hv`1Q(>2Wcu;Da0GA;psJ(mA9|^3qt09C0w_VgV^0|rOagy07 zt_D5fonJc$;42A7uZ{o&LJc_@A+>^*gtaIj)euy-M1G3-QMq-yCnqfgd8WaJ0kChM zfUfjK!|3SSBkI0wgB+oDUWISGGTOuahZ=vE+;GU4N}5U;MVUIDssq?r!=dDA2ECO( z8$Up<=$I@kHFsHVSb!cHFuiv>E8KStqzJ%6TK6r1ZPGgTW9{#Btatr4WFZc`>^o zpTw;yR%1blpgu3+6Ci1SbjX1OgebHFQ|QEi-h2guV6a}@BF_Yh0Gm7*2EnjX!5cYL zAqs!DR~={_?kL{H+4oMMz{ek92;tYGmB(W~zI*H~i3oekBpqsuuS+iB8~%8yMh00; ztcbfFjR5`a2|*D$LX*A-aAm;D;Oy}?S(QFLmvzdxx1$C2M%~OhEaBSDSG)$GzC?-3 zpli3gfMVIuk(J)uW-JKe=x~>??uAy;TtMo7xNcUkw>yBk=FQCk!Vq8zxX;GH^seSX zByMVReg~wkH9V;h{^DzAFB>8N&OO>zMgjMu$KIu25I`_(NdJf=$P|#4I#0ije1G{S zkQ11u{>KvhK|78E;8@z!eA)x?Jah<9xRIbiQjMO)VYj6N{{bcQk-ryWaJ9ne)&zA< zU0nM9oype@C)ltk(i%L8U_tOp-vTc81BY8|;Lvx$P0J>|qYy zG{M3R?rJBc?y;yAbB0~SNVh@#dl4RC*G~v@qx(C!P9t9MNYnwf>7xa$=&y!NYlj%| zbzTCTruH5m8vXkb=NcQw)Q;Q{_zp!v$`As1Iyh3E#2@cq!5u@ zec|LQRG6e6RE`>a`CXbv`^nd>cbd*gt@kQ*yHjI&f+*B;=j+gS04%>bCHZO~(82$@ zi@XcwD<4yODrABnJSqm@DgS$$`s8NMpU=LObBt7e-Ss2N&3=9v<%NK` z06*`^Rw2N%C0}5p0W)#_4v8=8q^%o*hWk=z!Ui1f#;@{3G*zFp9e#`1`v%9@HUhk6 ziTo{zCh#-!58H0kwW$s!oWgN4rJoSSG2uqMvMrsFSe~;9N9_~Za>%qs4xq!_Janj>3q()3WwQ zk2iT8x@(BbfBG2JuSVAa|54dJjO#S=%b~2X%?>xnGz6r}$a{+WVY%kZ1_`7A4x)KR zDf78RfR_eVrgu|?VwzJlF_%~nKuYOW^(A-Wo%1Y&cVEmOM-J*&etcXRrBSIR#ei=Y zI}$!_Mdx34Qq=#DQSHQ(^<^Kq%6iQO7~M^j8{*Q{={N(H`<7W70n^bRd>8gr&>$Mh zX1K!zvW-9ks#vULpWVK6RSmUlY(#>eRc0bI1n?KzJq-u~gl`3;<<`Zz+e;%?3Y_a* zPtbV!tXX7^3X{sLx=z=~;jr#$MB96UB=!0`gDPqSk=psof2tfNkAu`b7!put(V3nh z*HyFzUD{P!-#WCXHtvSpZ?om^yUtQM+oM{=l=G; zxg996D!!e<3e25d-Qo*F(IAFH6WeY2gkyl?!e>74Ihz*X_t$-eEmjF6oofoSM3q^S zPT-9*KjF^9f!hEO^LID0q4c;H8g=TlI7e_xmO18lmzLEF*`3XrAnR_8elP+`1 z@jj=L!0N!+ZF=^M5uS&j^DG6Ds9;e45mo2_C_E%{ltM$^U7~SJ?0qC2qsFBC_kCNTfYYL9|9o1t>YC-*XCbjfJ zljfyCCsP7_m#@$E_Ctr!t_S-2Z)jplOeJ$;f6?O)%fg<6CG8>2;XVcFH_)Y?D7l<<1 z!3vqLX}Ky$up1JMIbRibo}dmpzhv0p{OF0&?cXP2(NhUNhU4DNEssMY3AU$r1e*U0 zJ44gt|I(5jcs{z)oT$Z!p z8{Kkhz(EbZ42hrQ^hJ#TkzZgKB?L(0LzPcp-?@_iO0bt1jqO>bS3`CYad>ELQhdeQ z6ep5THXveE`>VMK9ydnb1WA1oPuvT8N?xKHT}+GRUE_Koan#nrgf+j&0#{aYu*fdN z#-gZlYW#!pG^q&<6z-COk5a-)z)J#8HLE-3&d&WabQtfTGmk3UqU*Kz};+v9oZ@)y;u(mpleIa0SSs)@wt+q2x+8Lq)L zFb@%GH_iH1Z}mfe)1FxDz5I3i@BYxEEA)65Ia%1VvF*9UyB|O7J{0GCsjx*d@$~V3 z=;MH7L-~g*_kxB6fGG>OB~Hskq;JS^9b4Y_Ii-OV*f=8wLqwo@=r<3nGR8*)cZ_87 z$46CTiDv5hw?H~~vYnqM*M&)E^YE1Wn~F%Q8eG8FcQNDAuuT-nK7kaeY z-qd(ld*aBb9FuFjw-}YV6jTr1Vj+J5_`k4-MB*^$D48qxAt~>NnOmO&f^~GX`9UcL zt%p)3EiAiKmdLTIF9p9V5!W@Nn zn^#{!#ts8tg|UUk6SAwP|AMsXZ+A{CopG#5JX3X!{Z2Df{5vi2QKr1$^>V)E7^$d? z@P}5kBo(JmZihBvcBVNDfVotuh85p$d*NTq93@3YM!?0?j6p@}+Cb;^#`~(;=>5v; zmzY#TwL9jCeoM~*A)fVBh+3igl)%i#4<63nias-N1-_#;^_1U)#nC))1msWEV@@mx z6gnH(G4e_v)_Nx|#`y+{z%}Bw;}VOZeftWe*Bb?_Cyp~$bT2U!~&6$P|a}GS-$Mik0-)Cs*H~to=QD- z%AM&lOSCpEy}>*Ky{ijt6+aQu&`;fCF|*Lh z&P?sM%&RO|bq1pK7L2ys>5+QJ6Y3u@0=y!bvzLi%8k`i&9vBps=x7PQ`=qYSCIy~5 z)q?^Z=1iqP*3lRJMRhg#}3f^iw4BIxe&J136liIzU@7`e%f5G(OS(Pu8StoPg$PfY6V}< zl|m;iU4a%BT*6%&a&$qF)A5g7qhN90Dhl`bLfp~!Frybpr~!zeWC1O*!(VZ=2VS*G z9ex55nj|bFAik-EyM|QT)A)T}&WRJqs@x4RQ=)e*X68n9A!jSp;YX=9)+mS-Xd-Z~l43Vcg}yT8T$SAdsooipXP^8rGBm{< zQ@?ee`!FHU)L<)b+HoXP?__=-1~4|>we+`tQnkhMzuHF$njwHp@ZON10>zu96mFp}sLTWjb6fL(t#`x;Pt zDn94vZS7@BXmkS;Lj7MEiU%^|WRnN1jf1-;A0TVv9{gfFmG@49z?!Ir%a89~Kex*} z6@QLaW!CYxZ71nnTt(AKzaT!$a6rV80^BkrZmqWzAZ%u1aeuYWUYE<4$vzx0E-PvN(|d~hEc=>Q5odc^pudy3ENYVJ&iEpU17 ztOTCIA19l?1dS(<_P=?37q(6wI!ipGQ8xobR&u@&@)_axrW2!Na@Q!fdgHQv=2Jq~YawrZZ2_+#u*-{@)+5o9EM8 zun*Z@BTn_-m`!Jq)*BYrS7*z;=y7*7@4KK;prd{YxY`3w$u_)TLUol0SZ6CsUSZ zpC&=R`ogIVq(?wa0^|oLhm;JfnnYz;gS))B%c`c*5?*EpG_G9cZ&{UAA>NfmZ^h3H zT1JL@={`mu|3Pgkk?>Ub9_$Zqi@FkpYTG{9Mnd1*`Ht5uG%$e=oS?dy%WR%IcRr_Q zKvnGJgF9Q5ne*ZrJ-S)UfHk1Rh9UI{zU#n+D#CEeB;w#d<)?Gox-7@R1eP#cDiLnQ^0BLdw`T zKK0+NA`_OQH}k}fXHg@G>1F{!{)f3iTmRJx@djQ000y~)H)VxFc`n|{r5sJOL=pM{ z+3M_>UsFQh7%WZ1)B5@erui)uYq=XZJ$YHl#YeNo#UsyZ3X1UiZV+&an`t>QhxHXa z8oI9mk%LGo5se?f(|b>_VC{l=>pT(CAViuhRDbQ~73Ok$etv;HQK_YCp$`Fs`2>*O zvI4U5q){Z{hT>%H=i|?UQZ(<#Y+RV>w@?eYq}pGW=bQ^IFXI&_R~WFyY8BMhyiqQ~ z7{TmLc1?_oqZR7T&R4(s^O)TU+8OWI-yQT{8m`cLMuBt}y1kP*l?hcIxr9730a>Xc zOdsK9tNFSZFyQswjH+A4z#kJ(H@13N>suwmamU_`Xwis4i@HnwHh(P@$A5o2j~rJz zwh(&RR_JM0TTWsqzF)|{m0+l~7Ep^;%U;iT zeVozy;SK*ewzEdgO%lWWSm#-;oz%VuNU|It#eC39pYyLfeOlHz|6$&mnp5DKSb-3& zR-u8IwyUKlK@iG7K}a9IKg4g@toE^)tPg_fYQW8XqtHWP(B+#`h`>=^I22E^4ik)0 z**pB0HfCeBTX5fTpt?sMC^5>wB{&APT-B!f@y&v8*HJz6?OkHDu{80wq&WpjQe=uKB-+@7Bd0 zJKg1bXe1#kd_v{DFWa4FCoSraBYK{zW*WKJ-<6FlWC*w%T7hLLK=DyV5Lyu6oj+9# z{fCDc8SP{I$1xbBZ$w`_I?UsDf7R~mfxC+v27^{Z{T9Qqe43YksW6-5@s>gm`Uo!@ zuAY?fU|dWx*tPT}MA|%jGqy`Eq)F%4|2&F6 zj=878o+XBvL!Mg{hj15fu=W&6U(>x;ntZ`>Fe1ht@F1&E@RlBi7LipBQ`vAjM$KEo zO(AU5c;B{iWfluWhIcb|8i(}Lf&ew$SUfP9fg`EBW@jQNln4>t09+66+lwlhM-lKH zX+~CUVuH>*5q1|+JVw2)!b-g+;n3fB-28}7SovXmmHNEmJ7Tb-e#bH*9&b288T*Rp- zE^WVIZ1f3N2(wSyQ;*4G$ga@jz6cIJ!mCECt^Om4H6U??)E@ry1xI|-ktKe{VD3T_ zQn%A!^-9|3-5EU}BLV8ocf}075DQX@11z3iF~h}Z43x+|lje6ipZkqxis8%> zO{EAxK#O~{g&*L!s)P2wJUglQ#7il1qSJ$PnJ90?$GEM9)*J>CO)brLILVDb;?mN? ztadLXcXgA$u>aje!>*p#7^KZvhFl1bvC1JjT;wNPl$tL2u>}gz!%AJhXP?tRdGJh# zrkOS{Ee_4DkZm64M*}VJCzW&wsUk6Q2y1-r#cyK&cvsf!5boIP7s*T$FBb>-|r;0k5N?x-S-tHPGxo-mVsq>jZ@crj0!?%pUPee>vZe=I%{k~?b!qh&wL|a+7x9*G zRFpc_E9y+G?OBGzFUugl)3*M_Ch9Q(@|g$Qx0}VY?E~sht~PreL=1Dfi*~{{+zE$> zu-mu&&g+5Kr2kKv%pg@#&dUaIul+&9ipX&%i`Y0V4-l#D$#PQp|L3b=u%$)@iohUHr)#I#<3O4-D^kcXgQYH76LHE!umNwfhKm4`nWsFc!Yc z1Ue`w&noOuF>ZfFERoj$liM+igJt#<`25`HuU0?a-?nr?I3v=F6ZsnY-2O4!&V1&1 zR4Nnb-a5i2^H(fc6o&+d%rXq_C95Xsdg^wX$<7EnjLG6!)wWFS5obFY8Co5-Yc22o z;X8)di~EdgVQ+Y041Y*(5Tu{+t+$r^F4H=C?Qy`@{73vOJ@>7;HVRAhjh>u%ksNZ3 z(949U*;cU!l=Um{pF1>D#iE)w*Lzg+h_!Y4fB<_#AJ*)(T!w-yN$;vTia&0hIV?yl z1Bbl`G)e6236A_}A}l?JSS_E;8Rkw7Iw!SjcPGuf;qf#NAq@n2TkVg&6?elZuh-r~ zf!srBHgFA9SAXn%=ew8T-6_IX$L|5cZ|1{C+IBrvfxj(9uMNf)y}a*1=CImPY+FgF z9zU`4a66AUP?l(9cBYK2>kPb5ZT^|4anEVz?}?)0;mJB`v}dj@syt4b7Aec-APKcv z{Q-NO(9fDJX@*^co60@*wy4QW+6Ci!fwQUq(hSa@TNk^-tCnpw<)x&oD`=N~y$l0& zv4!?eriJ5hgh&egYiGnj!k-Gt7SX~?knr%%m#mod?kE9X=O;x4mLRGn)sog=A@Uce zGI%-xe9xdZ6(Cd9L%Cr)v+uV90y>dE3Ekqm?Sdi@!}q?v(BPrI2|ufrNz3g-k+r-S zHlO4Fjnw0hbqx=np~g`O6Ln)xuyP2nJ$dbVvL^&v$k?Ds+2Zx6p~#$c^nV)NISWU^9n~+ag;Q)Ct9pYt)l~cHv2kTY&s&V zqIGWVIY@0O#!F4MWZb`>_Z+qIZ?sZ2{5-x5`=mC335-6^i+&EJna7cj4OzEnFARNM zHmS%I=z5+e`5iD9Exj9}#?Ek9=f3iL5X*by*JTuCAkV&qG^5)>x%#Iz&n>wATW-)^ zl^}4RMA^iHBP{>7y!F^7rZ^_KzR8{d=-36oY%s$=I;K5u4o;mjXB{wnKh z*^eh>+qI`>acNRC#A+rjk1rc-sR9W_wzWKmD_Fe5r6NtUA_dK|Gs3MZ3f_nDma`kX zZ!4mU`%VIEufm!Vx9(uLmfGMhH)=!q(rB_I0PXLdBVNa+?eWh1%B6MB^ki_TI5v16 z@rB~=Rd)FRO(sMAz5^YPTUH_GXJZHG0U^^CfN=P)ev(FA)rENMe(X+qx&kpU>`BEr zqO@w2@FCvGLE)hU7Na*j3|#a@k&T#gtNdYccP0jXMD;o(8zbv1b;<3s)vb>6TPJjSr$4SKgm{NEYlZcOGOA=wQXm zA*uQcb=`eTYJxtO?-uThdD7WF9hfmS)h@<&Ob(j1a&I#M5IEPJCVPnmyiF9R^>QyD z&5L(B(>}WI^`1@qTp^uoK~txM4>6^N5tzV5G%1b4I_l{O^+_AdrL8EL_k$KTUy-IS z(2v8X_%W`|Jf^C~1JzI0G_ix-l(xywYgVx*-Ptkms`Bmz67QuqE&t5qNdOUhTDN7m z&mI}k>vROQjPt108rc@8He?|(LGBUkTL(dB)t)dg5b|0-Nl>PY?KnciK0-hY2AVD+ zJO%MElS<8yUSJy8xW0NQ^)I^d)vIfup(giq^aZ=EeC-s<$;t%_joi%7QZ88tKId7a3( zbr_KQyRBU39KCWOdpV|TNjJ_D5t^w|jIL#^&5rNvH0e3_N+7MXInOiHw+DXqyk3rb zKu|zZKF&YChlyrne2}l*8BPDT6rnLdl|V`y=xpuGT~~`&*2tk=Rwr#2-`HZXq<)te zH<#qZ8sU@_D1fAYgch80+FvKd%zrO+TOU3n(`tCEo;b&ru?6o@zc%`|ikiF~5yR zl&J5TWAoc0b|;mcf%5P@rP9A#I!)d0NVi5=)C#YVmS>Bk7=Y|I-E1abg$G(5LJWb? zS)J~&gPQM=`zO0F(vfUNBnp0mXuM*5|BXqP)pKit=zRvU+sesDfZ|@oW)U%Fck&6k zS?&NpWNwSHiInuv!tcl<-^5PGuBq6k zJ$KRk3`a~8N3>S5ND&+05#58HxlA{Uk9g(Ug4B`%$9bLK2G|BA{(K+_ZUOH|-ZV}M zMHNB%yf@@c@luYR$=78W8PjLr^M};vRsK*CJM2!(?qS>ig}L&9-}|SlX)5x}F<hdEdLA{$%LJf^#SKwxmhDj#MQTer1H)G<`piO zoi>bk2Icd}Rp?%*UHyCbl!CgUPsx}ZUlIl;P1o8uT#p!e`jedB79sNZV2U2vU-|AJ zS^z<)L=`jYU=tSqySOe;yLEk$>c@tpXrj9Yy#u`^n81jmh{!VjHlYjnV$2eO9TN@^ zmJauZgyGp)XYW%4wThUpgnK(lr>#7?0a(DHEk;a;WzfIFv71Ap6{9S*TnW?_EHy-g#uZB*61%Mf1e4A8>O}K)HOWN+L>%!B%R&$ zIm2P>`(4d5iT>c+b)o5~^n(LFfOaV}SfHJ1osYB-Qs9k5EI<2Z{9=U6&smH<#vX*+ z=mO7K23VwLJ~BwLfUB^!);#sovAhq3LFM_}m+$%RWpDVzJr_c59y{9L4O8e;O);qq z)fV{b{|W)YET)wnjm0%Z3J}FV%TeG$39mzY!}2Kyo^&%d{3IY1RD=D9h=_&kE8Eu5 zh;V^^-8mSe87-~$J2vr?eip*&+Z3CwM`T`fEq!-ZDg8lbPqXt;IJ437^H*8- zl_85X7F@5;?i?kRz1N5gXmM68pr5W_Ljd}2L3Wo2%GfBp8^q7Lje2>#>JyL?6zWcYMnFY!y@;O3ECIVf? zXO&JlnN{zTa7K}QIGM^7;VJ}?-8Ue23`u-=`H= zyp6m)!lpHmBCbgoS7?47$$ z1A?R|<*9P9fty7A>pd1vO%$x!$8a0Q*AOP?J5TG{nIsaxWi))fB&Fs`&ik- z(x|wQ&zCOn=4x@WVb3P8+|Ep}^A0W+o3g<)d@yT26$Q#!+O^kjAs~CPYdYM(sg`m> z?*(%G!{p68FOhW}Hf{ag+Jd$$KBb5J@j`admg4lBV2fvbtttt3S`+a|J537~!Rx7? z!f#!q^=nS+$>X>lc`!jD7om)tGYndUL8#f=F7uWCt`@PuCpi(?WZb8{MlFv9p5xj5 z)VD(2-QQXY@Or~e*3lp^iYt$d5t2aTTgFnWjC|ds8uH`jxWxFNg7ZIwnV4UGv)q-w zGW8->(o&AO;kz(KfQNG3AdnCLGjTs3*)J*{tsHo2uDg=6U&)3RdU}-wki_#>9F_3E z=oLskmsp7b=MZ4xLEgy0rZSQ;H&<3ROfy=%Gu=J$!}1#H_Cdb?YNtfrR#~nanr-f5KoV( zJxf==j9Fun3PQylhuXEdo?ol9RFFdCSlqg36rH72k*&`daWO-Y;R;p>Nh>S3y?=V# z6>U|=bK*EbdNCs5yq(O}G56IK(M%Sq0h)Fu!}~hnW$ay_y`;BGI}=R@+_{v*l4;vsKXbKZp)vqR z+xUxjaEM{y8fsM;^I=6dHSzy!$h#23bfqwN{9TbQCQo?h;1!eFZ#1X zSY3wL54#>fNCc9XRjKaC8hySZ)NY{QGLSk!_?A@Q%6~B1?^q-FI^au@i60JbUf(`PR+0XAHxD1|ez3R9}r91N=`N z*8HkZ^o!V9Hbjw=TbvIBh9&=%4u~uLDLND%oZl1a#m)0AA(O~T-gNSCt6277llL$Z zwM!P46qQpQEM0s(1s|0KwYPL^o^sPk4Q2 z4(3EdHluH9f>&jD>{}aTF70Lk7tc-E+psoQ0`tAk6Qs&>cWEB=UN>Hh7NB`b{5OV78zL~M|Cyd#$aR%uIp6OZc%Fy5;3b7VwEl)U5piZs}q2uNvh znUQXue2WPWEsoq=njfgyZ(4sK0Km+V0@&6Sgdn2EJaSjlb~!$&!PKjbH@F$h)%WjT zuzWh}p^4mFzJ(HFc?<+{(QF1qt&3()YvzFnf&vcoHuBl*pNPrP&vM^gu(abcb}+j)Mw zZY9K#z$XWt-y9rm+OGZ?V&K9AdR4>1vgN7A(yzER{-m8A18RvV8)x6C&phO*5m#!;}mfs^}T1L&i=fR z?EcQgIv^Y+j0IG!7MYUAIjUyL89qGB`{t#A#IvRbp6n*rW7qD!h9bHCrk|9+$)rwm z4{fpE9+adE61&%mj8k&OE(BH@F1Y`T(+V%v_{#a}v6GbmE+pi~%-DLMb>3u#BXXov z0k@(Ad}(2h$BSw+p;K4N121P;+Rqdp0rUSoE>Qy&R1HLG&~|c%u0!!kX>o4Gy+^k= z_Mvox1$I)8wmEICUk*jeyyQaAq}#0+4_emJ6^3bYELc=SCaeE~kRdhXL2;f4EqI=T z4*_hU04+aFyCbamA~CAQGtWg|4ybu#n%0m;n)FZ9-pAcj+v_Z&u((| z@_#DUZRW4!Q*K88MB)aSP%nO*{V$Q-AM?e>%S-hSV%H?~n)||&JzJC1;mrgNjg z4_rQ=@4ur*m$i+phWoN5uif4))0OJ)s=^@E1c|u^5Hf$!+neBmca|QaB|wqCG2!Rm zI35Gj^m%!E`X+3e{LH#v#pG9QSx>hr$6BIgr3Vuea()W{GJ{rb`TovJ!f=~|6`G*w z1Qs$va1k>Xpi8K~X>C1&0zkbnM;#uE01C)c|5aDA=1|WXgyaZ4IJ{&;XwU16Y|3Yj zk`m7ZM?RH}w>DbGAyabmU$5r(`GuceW5n+5I_Ot8`fo2=f9PidGaDi_>rJm1uz+Oe zp44ZyJ4XKWxee0il*nEDLG~ZMshr?rz1vin_N#-m%;;N?Y5cXdN;u=MUWd>hNwJp+ zYa^dby=XcoR=t7)JtZXmoR&noKhfzBQ%*el1-kukK(dxPV7#ipq{YrkZoTdm_H~QI z5wY!f)DffyzJzcc$Q1FBa@uipbw`2jv#bu^Q-a3kB-qP&Z-uC|J{Z2ceLunaO|Ct?fqUTP$HEY{+2>-2ZT+k zHX??{!TeqoYAA+$bZ z`V!gUrY3J>{|qYr_B#6XN3LmIuX%Yhv{4f8`$WGBvHja+mtHZCGldGB)1L2?^5ee# zKrt%0J@-B10@uywEGUK>)(K37#f_0a9>3zP;&0g=XadO96A;c#nf^D;QG%Jtyg4y% z|9#7W9Y?q}^)$ab@#*B4F*xNXm>i)X>k;zD{b{Ey4q9RTnyj{+rxTpuK`OdcK3}Id z5(kO>)jvaL3J^JCaq^w}_bl z^Fz;LQcAO8>Mk z7w$5bD_E2|pTYnx$0OCy-6PEhqvHEwh>26n|JrL>A~?)I>Aj20-b;MHbqT1U?oGTW z3*=Iw33R_m9Z8X3BpuQ@wPLu_ug;~w`loV+?XT8X7+59XQ$%qRWq%CObhHDQK?(Ed zk?HE%pm5c3`tl}Gu7!)(H^&H^l8t9&u*uhXoSj*g~4L_hqZof4jb~e z4BeI~tb223P8X+v7&+U57T=qzg_vMHLZaP|QHZm@Z(=t8H{uNA*IerWj-o4SIeQv>tE%?h2 zVVx2T)KY47tku8tKlLRXZ~yON(qF{cuRvlr9wNn%W`FkfUZ`b>VZQ+Y9_U6yf7`cX z^nMKC@BUjO9`-b?hVQP7t%~hWU*QvTq@QUC4d%v@Wpti5toL31`aw~rLOwi$r-c(DXbex} z!1}Pe!|TO)W!Mq^II@7IpBdHXs$SOV)BR1y8puOUDb$Yq-G?p& z|^8GU5~0R6td zVWYv%t*<@#5GYF6S8P>%dE#nF=)+|E)Q%S4r;N#SS`bJmWCnL!c}>q(pq*|?Y(y9l zEc94O2!aE(WZq4gBAJ6dp5g8Kr`KA!$;^}|tLTV^Y2sdeGn8QQ6 z>bDGgfJAT!@q7Qr@CE`bP@rqW>Ro*<24EX_H`DU)(g`Hy8KJ}@uh5m#%UN)Iw(7jc z8k1oB&m-W9K(Wd-Uh}kbu$;SzXVajYiSkc0Cx~aQm7`^iGR4uN=S;$&n85NCKzJ3Y z?F4!_k-NJmG8n~)i5d9-N$R7`R5|J%gavQhFaUg-w&EtTu zusPLE?-C&Rg16d+k)pe+M(gr%5=0D8(}OkLbAcy9&IryJ(>KKFQv*_Sogp=7-iMXy zKUqGH402SFB1K@5#`Il@ifmJ(Bo1^_K z`H}v01p{810^bF2TYpy%vT=`E3C(a8`)m4zed)Qe88oqXjRE^tG^_DPe#fru+0{X} zw}zjmnMs((m6=G^JJZ#gVcKGhqf-Z{<_rT1H^_>Cj@nu2(i zMN-#W{~aSe^1$aDEXAm9dU*fUl_L}u>MdH*qfT7;#7Y49={w4xUw1miVYk)b!qB|>lwgR(%MgW+&|Mur z`&&0OdLO3m+wJ9vVFB(uc5k}A<>S^r-Tkd9@d^FQg3r?MLrK=qypq8Jec@t&zm_mJ z5DCb$a7|mAgh4A^afbI1tU{3#F(kq9@MYp3)zPq+M%@C?D9?ONg^~@d=1WfQ(cf6p zc#I^3!eh%_zztPYxym~kJ#dUros|j*1}%GkIqvJGi~36bjx=0T33ld;3oXB$hrE>nQf7 zNVnqiBL(D>1>@HDM{=<|TN}F1_qdVyy;7H-TJ1jjF{P6P;ZGt6H->LukObAB-Doe} zn2jwWmHcX3s88NUF#jmIr3WRf-)`@DKZq$fB_WE)#UN{OX?2&bMF2dfqczj3P#Xw#Lu7c@1u#0 zi@-^d;BHBIB$0ppRpK8-1i?MF`0l|$yW=y0sn{jOSFSJjYhcsi8G2AdXgi$ZcYJ>* zYG+d{=P!0@@uoEI~veP@hZ~G={GD_%V-gGIhXa8p3`=w_NGqstaO8KDAAA{Sh zn^5^}7=CSw126TTW*q>Y3SJw=Vn=@Qya(N< zA;Jj+uzxu=wsfFIg{5e~p*|v%u7e<gdfg(gHO%f~PFQssA#FY;u$~`c|6(0H%Y$}>hYTWuWXd_)6*jyU4IwBxn*z5ziaBBC!oqE{?z!qs5SR}#g zzbz~Pyw%P2iFq#s0PN9ah59`jKD|vn;J~BjTZs2oSCObYgRuwE!*9a^djV;T6Uih` z`sm+cxhMvKCy1qrbziS9#MAjCmdX8LM=C!85xBNg6z9yMn@8dy6-^6T9SX|(lPgQ# zy_gTkd9u|Z*F{>hS5H3|>`7|*X5%}?92M|HxJQHk1Z?HNE0+q@f z^L`Olz~=@PFP8$`{Z)u`dmjZ%Yx48}xkOupjz*+|{-aUahY4Hns!RQ+vquV2*W)B` zc1_=AM!!V_-u7TPaV7NbZQk>w;h$#JAHS#(S|tIc2?YF+1T%69a!Rp#{Ne1Cp2w6e zNEKD4XGIlRHuJuz1lZ*%*7{qrku)cS1txkv{F!i=7rO6wuJ-P~Pk=xVpM?5{CIJ}U zW6BZJkw$xC2>3eWWpD@8&(DG7Yn4-Kt!=4qffF9WNKFCahXN2;`-2Wnpn;>RYTE4{ z6Vfhvmk}Fym?;R3z$BgJRdFr=zKFapz{G!awn=AVln|BQ0{yI>7P#uoHkOF3HZ!>2 zrg>={vSVqb{nfeJS&f`LORhmX@<$OV<{A&}d3C4}y3_;9e~fPC*`JN4%e|`B5U+|R zE0BK2fp;I8P#DiihItSce{uAso^T8E=q6t8?r@hk%D z26PzI4M$wOM2TG8nKpiZ0)KS;aUN~+^RtaN*KWJ<;rs`FRhD|Wj)Vje-|#ZgADdyf zt7m*%!lnm5j{xXOlCV`aLi!3zafyVOh_v7uUsSc&*H6!VO4yWWJo4QkXD-aNWL><| zj2Y!^Hdo7C_j})my#RUKE>OJAG??WOZ`Jj}m1&sD_?-6cc~Ramz=X`_0fM+GL7=7C zfe-+JegdW7FLn_Yc)fKoid1G`sz_J94S`iL!fXw`g&YeS>>L%jW02 zD#b4+Im*t>Gx!UDg#O<=r?GsrYR}1|URRqLI#J*T-^xJm;N-$}jG7|h^kQ8e<4&5} zCLFhm-)j->C*&#bg*5gJ?X!hML%e=FonvzjuwPa{UFvDz(}oYdOe9OEe9wgCODLb$|X zPnrLYPT9Ypm{I`1ft3k2v^PInWOxOvAozh10MAF>4lK}D;$Ab^g$oyxR$C4l(BNZO zKniT<&G3s`=|BopWbeI+Gw!0xy4}mB_pEW0yk^K0vpNSd>=YgMKXW()tE104F2YwP zX~1%I2#iEGNeLY4X1UYlugZUs4J^4!>ocd#99qjN$yiauOo#V#(fWy&r*{AJDJ*?F^wbe_e<)LYjf z_?l3XQ4D1FhxXrk`7vDXpI;QYQ04ZCHhnNvg#T?~{83#>m~lnkKf7p=wT2w{Om-(} zI9|Vq>o>o=5pMcTYMdDCeGr)kq?t}F&J;N4dA!x9vo@Y-~50Y2kvL$t>GziE4889gax+Mp*=76o+5w@iF@MeYorx`OUW zbfA+@gx8;(>^Zbh|8>&j;+PxqP{$g<`ru#_r5U%1t?)ie&+4fU)3w&3E>-y+d9S0krvlK zw1k|#Sn{OwiqK(r22l1faVqbeCo3!0X6Ala+uUe#ox~zETI;eB}{jMeIKl?aDT`>dg#95`~0uk;op- zlT)YeFom+jpR!7nI!5u_lHq0FpK_KVXNjMFLms%)`m(pInI{g{j;CTl;CdngXypdm z2}%VO*R}_^FuYWV;mOW=RjZL@GifPC%&(qbo4H&PSrMZSDp0l(k&-4ln=acM-T8Dk z_0q<1jnGMnIeFtIo~O1?0<&+JaBcZ;`A#-bTqlnfkD7|hPiHG~7^6X6?6p0tl}izG z2N3U~5-H%*!K22f0l72{C0VpAj_g6dRyy+)puloO|MXJWSMaRv`Tny`%1PHVRrUeK zT=rI|^FVp=?#$ZqR#J9^lniSdMmrQgHX*wF>C1ApKFK6LjCLc&HnSA3ypHeBzFM>g zZ0INS*M$h$x+^%Mh@!U<7IcefuxAtcQgnjX(9+8!x#ZsUZyMo&YcdI>E5!=mo}b)0 zW$>s$XGs?19IfX73fmPaGUnvXxjU!0^`qKfo67TUSh&VOCl>SexBy$}r0kltrOspv z%_GE@$kIx@@*D{a27+qVaQHbORdf4P_;x&zAFPCh-xEPv9#I^`1_q0hu5aq~gI7T9 zzaJ(CkbP7my{|2!L72w8SEvJ1=gY-wJ`Vb-g-4PjM^?Q=^sbGyvhO0;_YI4i; zu~^o-fvrU5Iql3%rzFmUCSNa~jSP6PH#~Whb!3MY0&HI@d=r6Jk!CPb*Xd9^0in_b z9xXKV+Rvth7kSr!qR<$V*P6U!E{A~Xj3qk-t|d*7^M z?=6vPm0I=~bqZ|#CV{=}Ao-6HmiuD~&w(YefU`X4)HF>V06rq32K&8zCw5Dh&yVM` z!p3oa07=yV3pwqWu}nY}IMO{3y(9=}W96Uz7K$~2K+U!Uk^=3zwe`HOJrgC&N^Ox( zQ=ktYI|+e7&5Ig3#EGXY`(RaH88*}Jr}$qH*1Vy`%Mza^=8g$zf~^-T;z@h9%IUzu zrH^QEJ{7UdX%*(>-DXo>Q6C(1baPVaaen;8l>MLrYL@V%SQlln}Cw^kpJuw))MhN0LRIobTp z%EsfJ=77A1ej3}7x#m_|!1CW|HjSu&11n;Nfr~-%tdOfDx``{l{VA--%KV~~L)a}~ ztHUI`H=#{!2g;vm>U3RqPJZum`Mb1Oiu%$qBnN49e;0SP+vnAwKUrl2GT-eIP?`u3 zq9N%}Q8Sx$l^aXIo>fX7c}iNX#@Rbh7rQ^%6kxafU9vFfm#Q<3TJCL7?r2-0Tu-CdIfVLBqN&x5_ggVegl zsOd>>%ajXPteN~^h^M;Y%8U6cWB&>ZC#&%TJ{S&AD#-&7lnU^OL{TJ`diIQS9w;q5 zDEojOnFh7RUCUua6bzddlXU7E;zLGfx3QC~oomN9Th7F@K~l^JhoV;;8S4fgLYyJ$ zfdzY22+oxOp06Q0d51&#FJ-y+7h2m|y9{mod8p}e%-3f^my@m!8_$9=Bp(?pfwl-X zP)eMLCQ63o0KcMU$p#KkPtyi#soUqfBy&ZpxvtQoy#UxJNfjPjvhYtn!RQHLplBN?;@mtT~KkXkZHnYr%km zNgWs&7#yG?=oA2IBds6UuhpnFow2JQ3`UibC}|)UJ)t_4h!uS&T_!3zlQYO6ANH&8 zO}sDID1Vj{=GMtqKWE;`rl0c=8*)4rI)H{B;v7BA8i;Qb6l>p{3lK;)ZBWI>Tdo?Y zPS)XIwBtk*BEZ4{2D?)o6U5RE5CX)aS&@gKU^z#?Xw*kD1Wf%a7e9I@hd;#8ZH%QB zcRe_P%E5Zh%cvMmpW2Wunh9%#b3ET=V#^V&i$Fq-SsFT#NnOmrm)bf&Z4W&q#rN1_ zjU7kKl-sT6`<1zm$smf%#sOKpD6tSgg=xHIkJNyt93wekWPf6gWE^K z2AJ8Y|3qIEwgR6PkAs{S&)J=Xt79!X^gg(kd+h%)pV&swVsGbm-5Jp42h$rY<2;bB zqvJXf{G=qkFFlzA86mBiI5-vS*g~JDZ+k@m6d7T4L*<=Wet$BRa;*1(2+=pX0f&@`I5hbrQlM^lR%1?(%YO}VvsVapB1Nc5%*8)=r>T7P-Da5ercyBy= z!ykLfe>YwUAoN4v<}5z-)ne}Te-E*qmF=CAd1Z`km3x) z9ah3`x&8!*+Y|BFVXG@53847X;O?r!i6d^ee^w#4OeiRG3msvafrs7WmNI)##WHE* zx%_T&4f@grf9ukAs67>G%Okf$D586rV>nYPh_F?gw-ZW;OXNCxtFbC-nO1l@`{_jb z+2kwm;FW#ZUucMS6fqUxY8v%{Gq;65sD;^6xhdM)?%!C$Z zWyenf{UL}LN(&Gv4!WAYna%p`W*p-2>KNk)6t=S(&x1|=_3W(WkhnPVO|#HcMBP~` z$R72eAi-KM5p2rI)9iFD<76J#P5-}*o3sZ93O*pY(up;YUG{9}C_;*95>n?-@m{Gv z<`KzEVRC5!Dw?5oHPb2DdI}qY-0_VAds3S7vEbhE)*98ikkN*PAiW*RRwE!Mp|qb0 z^|EVqxs1f%$N``)Hu`?5+F=J^+aZ|-F21X)thK){Zv->I+g0=p9rE7|Yo(7)%5|ssROq+cEHPl6%%n5p_07t< zm(akH$2XwQN?`+6)S%e48=uv=BM^n~fZ)NVob)5V(~r@YPjG>l@t}5B+;i^FUzDA` z2yVxmPJ3sM$^o`v>Tlf+i@%;l0ZJ5+(?7RQ0m&39fp~pnv`L1CTbd+3z57z zLn;u6CJW_h4O{n3Zu;(cFd z2{1ctpEhs*5V_w%z9eB|mTX=1)dB!1EI^PHt&4FHIS||cD208pyKYfG>hgxdr4kGR0g0pZ{ohIo zWQCyvpiChG9(31z;r$|LBE7e^EIffF5*;Zb9#i?bvF`hBY)8G$F87ja%)Y^2{OwGR zq29g64-cU-j!W*@G2J^L@J2Ne+go}*j{{VE2@Glu)_QgR{Pe!JA^WM;XH0{ik+>=M zsijgI;!a`ez()<(PA(45*Y6_RLfVplSJi?`eHHSRw}gyeqJa<4{S_}aI&3tJS|hU~ z=*y)=X;3pRLVu*nS`noV@a6pb`7=WHiILX_ zzMZzrFWOQqx{cP|*Kr0-H-g0v#i;ZIwxwNbtjMoR^Kg=zsOU4q!5ldLeeZX))3!7J zTA)CY1?cLR`sJjg!KbBm6FvK3{6FuG@P4-=EoVVaf(2%&iT;0#9(8sfL_b6XK5w1^ zhOXwG;A^#kIPl9@Dezs-Nd$#wCC0dW40?SR$9DSTY@sy_Y}j(8-4+&3S=NXT$ia6^ z<97Gn%DKje5Jh!UUl*DVH!0HC|C)UcH&3&-IU4|%eqq_dQZ7Mv6CGbHAHQFmZ^kGpVyV~1g7be<%b5v3~vrN=XR zA+80Z`wIcXsd!Y1;?xu64RSW6b(W&4y7gW72T%Ndmp2Ikr%F-EpU!|3ko&zp_#vP^ zFitHX!$#U0|IPv1h|vT{X>{!&icUqSu$*kR|GtNCXWV9Ka92ddH}&j^1HJ32_gX~k z5FHP$^ppfI^^~7mgg8Tf*VSu4LW1|{uU3T+_g_(Wnrl)~*EZQY$^${czkg$fFdkQA zp!?&_r#hLdM570gL+FupX_#2qflCer4VcUTnOP*Y|x?H^{3(*wzbv!>RF?UZIU=pg_jc z-4{=p9hynziF|9H1#l!C>4^(cJmAh0Q$cat)QZr>^L2@xK(D_n0>nph^d2|q02coSk|I`qGY zX}_c<4-w4Sb6V>!M0@aXN9FMOy?Ez#R1!JN4;5c7+w^i4p$fid5Cg`f|3H)sll{VL zqQYk%c-u4Dk5H64<-yuJPO2f)EfBzRN{4oK{xSbO1$2Kj8vfn_erd!+3>y#t#mmSJ z$n&rPKwuEiAR^3UL7a_4>Ab0}H&Qhzy&eo6?h^8nhavyKe1qBGbQtfO2>gip$&Ite z)$aT0WvxB%rdm$Hn!Vt&RJ;DIn6MIK^i=q0;vwgHU1?7FtY)8Y8gRh@^7~bu;*6&Q z_--lH2Q8xZL%JrJDxfq6N0x<^$7RLP^h2&|Nh~*|Ln#eiClCb5efyAqmQ^cGU`odU zI?Y)8oW`0yz!bsK#{NvflZuK;fquBE*J} zQcou#J52s1w_hoNOzD0xr(Ks5+_7gsu=Nwndhtm=w{-HzUp7kpJzYaZi-g~NZ^IN# z&QpM`2axL@CL)s$M7{Y_4X(M5BB6t8QrtOjnRwIIub)JnQc`m25Tipk>Jk@qOFxAv9@$~nzBxe* zsDALAe)yYWg#tiPqLQh0TuRpatq@qm^rgZ;u6@X~#)tM)La^L0FJ&^4UVin9Z!tYQ zWnQ2Qd*LaLbQE)BOErnokNUUUY8v^()MQX5=Cgb>juWRUpLo=S>&yQ3j|)W1f2hWm z6xDT)Bn#SCp+&Z-Qka74JB8Q;osH?;Ax6JHiUfOL?N0A^`tiwa?$AcBNBO=+KC8v~ zzX!WrfiGt=0FbaIT=kX*>iYDQ2Pu1o#uq?~JC~!%N$SDN8u;ko2$#zs5}MPBWsMd_ zl(Z;}VCf6Sj;N$nbQiOsht4WfDa$row4aPvj`kYV6_>l8^H&r(oR4!X*!a@9F`s5= zHwj@`+?3i2jsfkDBmY7#4jgD<)d+WC0l7Kls@h{e)3bueM_-nG#okd=#1(td5Ag`# z!1YKB@Zpx+y4BI2^}v4g-wzAG7L@y)`NS6M+#N!;t+3u07jwGhG{m7mLv|DQLEm)E zCH@|d*=PW69!>`v3Th%NjKR9qqf)n6)afslrqaHjL6_2;ui&mpX_@%70L)2Z>lV~M{LYcNHj?l1UNaZme@0{V{!3~vn}mm#3d20Wt& zDsf;V6$v$8Z`&NLLjf6WZ$zB_*bE1Qt}AX^ad}`nS0Y#|IXrxpTOGVX#azp>Jbt}` zPs&V)!bVX6jNB%2$W<{Q@qwU}$#*iJq>kkPUDqO1s?Yb|LbNu?v?Ll2N+7#%+wC6r z>9Op|{wFattbMkZ<8j9U;2<#7AAuW>rATvv%b&?xdw4m)r7TN@dJXt>B;-7F8gxbE zcmVeFjEOnl#;y_lVFNL-i!?tJ__RuS&W$;_sLDZ;fqYc{!_LzX9%!KUiK?*vuA|w4Lj=fc>^ap9LS|t0Agu5CX7d|Y^hIqm-{$6SWntl=C+d@+@=7&k* z_a4~qjDK@QiNkIjfYEe&t-GHf1L&$hT`hn5wt|0XfWd+8&PK|-K7!o@jMCMr>_k$+ zbmsN%p;z+6U*K|(Ez}{pgZU>*urxF3g@MlkFvo%Vfbu9kJIBZwdh&9=EpioYqKV9} zruZp=sf}>=bZ%+QINeXXrIFt8kD#2FxTQlr(0oJ5u@mO-u?cD+Cg*uMAb|01D|^iI zr$At{)$g!@0R&nc{7-P$$^e)>kN{@N7iZ%(`~|)r?s{34>{5l;yd>Br-Wt6|J9_K5 zR2$dL>tG)(kHq~3ndol;lo#yqGEwfSeVxE&it$s0WsM)Z`;ULhjjcb3df(psT6^^Z zn6h~9R?2S48 z^I0Nr5kvywW;2zw@47E5q0R}Bn-|=U?}C?{^gTcZ+DvQ(t#4IPW6kS(26qd?V_^p@ zNDk4oUAStDl_q~<)d7ijZOsQzur9eQ2f~j zTSdfbt=H@w0w*|-OFloS*`G7ycuJ4u_2Kk6D;lDB5d>v>ag@XK;upXnNWr_lkU&R+ zt7&FLM6DnQC6XK+X=aCj3n%~ETce5Bt@}#XeFwb;TB8`ASc=GPFg$l>FX={uejemY zis^VL@?NbFlAk?Sgg?$UaAmHT9ldj17TDg}-DuPLrdhU)3ACu<09X&{m&<5dEmoEW zumZ01+2@)bszoQ2R7K26V`307z4!_A2wM}8dg}Mubnn^OBPCN!fAJ@{7+mL&Up2?^ zivW@zH>})r#C`IH%@0T)q-VUnLb(J?el^~X#4!tzXyE;P!Re>qpsPvQyr4Z5qV$!F zEDY8jCcpAlolL)SFx!coBZjY&2wx3~S$G*evHK)uTp0ZCEH~IGiq>5-BZ3D%;Xt0OgSL=d)gp*bEI?|%2iADa4%5t=sQN$kz~JDgH%0U z1YaaksgrSDjTX)QF8a=E-}ebc$Xc4;s7y#nfYTruAS__<^iNMNH+YGnd@td7r3N2Z z((|~$yx9(Jl;V&ECdoH!{9-kAOG;3|5q#Ctl%F=K;l*LGpoT)kq;Y!heqS68FX0C9 z{em^Q=#5lljInM@;I>uSG#eI*@%z_|F0NPj5i%3GRo&T zJ(+pAr}>)>19GE88Y<(y+tby&m)^Y>nggYE?d9IG9vnJELBV%4A`xv66@mc}itf3Z zTF3^}gvrfis#3*QBj#_8eDE7>I8DEkw{XF_byphUXqnxeQoMWce7(fyrsHg^OfA2L zVIgOXl}}-r|0p5!l32+oJN3lk>bHethGDap1;WR^|=c}pqHN~Lxu1n})VY)uPekU?xWZec9 z0T8{&64_k+>%2NPTXO{>Fa8;NYY96aLBAWvy($3*;T$J2^UfK^74g{jy*JJs;6Sdo zL1AO%IeRCzWyH+Ct+nm%ezuhjD1WTRjw(M>JKveU2pcqyujA^%fF*?hVxhK@1?huS z&AENlM^Tpy0K@bL8^nGGWzouc3IudY?G8)WLg2Cn0q`^DI_!r=udbmU8pfa5pq^0Y z;Orn2jeh)yy#P=^)l?D4ye!ZE2+0H35Pq7_TBGQWS<;IBd)kr32}-}!aW~S43$z_% z8@A}e8d_nkFL#bKs4il0whysg{9xB42Myn*kXYSmZYlRd2n%1)hoSc(eSlkK=ig27 zzoM+ntyTPJ{VD+r@u&k^wA8)X_&eA)omN$sH|l-4s}EFKoAhp_rQ+dVj$EO!eiv1A ziyWi-23hx^Z=s>t?0{nt^=Yfu{>1!dVD3?j{)V&}@wDvius$c@)XM^TM_0lR=<)#G zkU(BA=OXNH;^&)kA9uOytp*lmZC7DHN%-Qd+dfTlHJvZu%N*GMY{M4-Uzf$Pgwy7> zXMvI!pkzked@oZvLX<5xPGe;Eq+I--uGm`MI3l2OL-;fh)=bzqVN!O_6M*ylQ|~Y7 zmy-53q@scqHESpc{E#8G-(PuD<9A=*jbhC0;i$Zv{KX^whXU{KVW|^VYr1nRS&ARI`S&y@*h;Po z{=0*Wr#mZx**gGKELd_;F5J~6B3}P@b248WZv+~QTOc2P3w^ZO@ z$gBUDCr_6ejHsoL{31G*9e3PY#*kv>x0&n=fA1W#_wvy|j-`9lnqL7piKP)7CG7ju zX>D5q#(~yLz-sFiu0N>Tt}w^r)y2ZX)AJYi4Prz6cRswTFFg(^W=Xkx`6Q^tG(@E) z+2<2)+(py8_n(y?aRAlYwVpO(=10y{rvhg-27!ZfN9^%*iD%%&TRz)Gt%^dR z8i{`i+YMTe*y-=2aZ3#}cSc<>{f9ar2(9jjCT!eS&_C3HFNS%0Jkp^wy%&JuDhv)V zu1vIXo&)tYeV>;wI0Te(IN||H%GeeSUa*S4$PN&o_&%v&E1$Tn(PLAR8+#t5%j5{f zDNR8a2L+0~Y0qYuGKQq=6F2w0nlC}YURYiGz{*eP+tL)%!$J1^eaa4Xhfca9pZp2w z9Hjak71ve+nH(rktwugW=0}wuT=#7_y79L+e~}@zk{NZC`~no#@XKWc$A$hPdqUwD z9l1H_FH&jRP(g5X;+up6=%6_C9*mt%5kzqb+kK76NnjyX?d7+QcRlYIk`kn?de>L? zLSx+2HT26W@jE>^(vDM?xhTkHrZv4cU&r1-7)*Wqlc*miHrbgS?<3`QH7Y~&>{c;X zkyA#wZIVD5SU8LGBaTF!{^*|xI-8CH{~1qP_+TRZ&S)Yqm=)o+l=|w znIw-tEEoq6tZc!KNNE{DZJcw$fhzzZ$*Wxe0Cnc@R<=R@^3{7&`~DwHHheGQ4dNWsT2`z89vkqRX8=bd3T3=Y{c`-rs9A$PuCTzgq5E8-*2 z(C0Wjeoh#^%IVJKq2t8$S?9X+qws+z*NEB+W>QG(25zflIC%A|*rNFzG>*JD8N!mh zggyJnamj$jBv9!g{9uxM-r+w2!%bD1Q%!+hhN9yU_4=}tucZr&4_A&YF!7BqF2A$O)Q1$ux0xtD_ zLS3-nBKzq;zdmBYsanmQ?K3=g7jxaK+%l&0PN2FD_|65=uu15)!(CRL%(AD;vN zJ&_4qesO*4`*QyXW2!`~ZmBl$abh+G1h1Xv0>wkdh^GQl;Q)`LPyIe1p)I=OL0fCg zcHWqe9bx{Pxtwob_UY#4p52yA%e|q3C*acWNCCK8&7s@%5v_t=xlM7p)tAekbDF#a)#EpGJ5xWg_IeH~W?AaU)+f zV6i(O2IX7F&MD$9);n|elgWMzd4e4|Aj<2(Dd&=xj zs!h0mt~%?)z0=&Rk4I;1eDkNg`Y_9+{TVjW?bvEx4gYY~xA5$Y{Rh<<`>H_Gb$iQ! zii?)sOYg5#HNroyu@{MCP@8!Mtb`W_-tf6cBQVkGF&1)QoL>U;t?k_G0G* zt=WNxI@rK&+t1osbNXbZycH4iaZqdv`rRvdk@;Ch?Z>;?lio3Jog~EhIa2W?J_$ZH z@EAwnL^3*50o@hwz#Z<+Us7#uBnV3D@&eoH6u*dU?zJmFB{!0!GB4BAN{ z0;=*Ccp}Q6<8PrF+f)}Ka-&XMpOwcre&+|DO+nbg^-|%Tkc4jE>YcA98^OO@OH0Fp zdF#}bgm4e9)V|foSiaP)aOZ9P!&Y?KF$_1=`+g8H#6FhuIm2Gd{?|+q_q0=vwa)Sw zJ583`GebXRD-r0P(A=Ipc)Go_Uy9elMg+?Gth0UclkNw-5gDmanMNrMBcRu?|7yeu zLTMp*^O8#xP&ZEf;z<)RBT`}j8xV&E>LhGfeI<-;FeTA*O817KZNj!Eku0cL<))Rk z@s&DKxj^fiKPG!k{T)4Hc))ux^Y(l~wunf$n6QcAA-1k7Y|`EX zv@wS{8SUAdQFvuhpgepZ;+Z@u0_YlwFLvLr?7>j{AMFLqGrmuQ!x_WZ{8wJG(5U4|(B zTJEK#{DV?1`)00SSN87Q38zIwnHF)WJU_;|{=_tN%M3dC#n9>to;SMZ+>IWhU#_t< zJi82ndDZA#OajQ(V8n5ufLikBPBxHphLZ?H;j66fp!#hWwOt1u2;ol20`0ItQ9P2t z9tyea;d))!RMjkzHQ~2uKQSm6 zYlX19){ut>fBN#TG|L?RXopZkpsXqf$ak{;iS8NrX!)gLO?&a(QFF%9R%38z4+n5h zm{Eu1Ga&`HHlUjb5-AH_g(~OVT4FCmiYz1i!>wDX7WVLr)dR4Bq8jUM#&9A7%t< zFYN1|g2=#+-wLAg+P~KX!U)C*EN(5z0N0B|7%DXlV4Qt-Q~jaG0raEqwQqdB`R}Cr z!(ydEv_}S!Cl%f@GYI0Jc-3B^$JO)P3uV`Ci8IOlW5=)W6W+ADFC9VEBV(Nu{{TZf#hio8^KSxK72*8|K9YniJBouTnKI2fdP#ut z|3B{8`vkb9wR4=d8<*Z81%TSsW)prCTbs`P=$Go0{3b^^C2>eVtfF<9F7{XM4ThfN zB->?$OHc`&`63uS8cG<@dhWinz?RPM?9BE0<5v3O@#OlsBgA)Q7~%B(;?Mu(a!ubV zXjb@-WmZli=M%e+}Pb9!fhn5sWKuN^(e%e<0&}FfF z=(M2Piwj|fT;Xd6NSY`X#k^~Arg99j_LkrCm>ox<=;P4Zz=oL9_r~@20j8~9$Ah@V zuA)wEFc{vZ5%NHluZX_?XHl|LyuQYKShn}S@noqz#Hozi>D@Qf_fJ894MSXRIj#wO zG}(bW(kF*GKCUXsQ*R!LRWVBe^dG0*;!Ck{II=NyTL&tAeY72QP;G=}RE)04>VdvL z<8q_bR{TK`&`0m$NyT^4eb4BF940ZsLXN4bU1dzr2N?CYr8 z?;G(`^-Az?$4Rl(LuO_zTp?y4;_%UlQalV=GJvfleXvq2P8(@Q2>|2#8>-owaj4(w z`+!Kntv}$`gx~*$Fd9xI1f!DVUJrp+XXIBW>6E0Md%{!jOI30@g^o>#Wdq4WXS)@3 ziraGQ_$t3>ILY5|Xfvt^sK)(R$>$mH_?J7hX$(S^=0}=!}4MVvJ*4 zy<;M^;;{djq}_LMt>wPgju>AG*Zd}#j{Q{T(yv+Uu0;M zr{I6FnwtK}g9TVcu(9^{#37Sh)rjSMt}EdW2MGzphZon(#FT;00I2R+etnsgYoeSi z$+$Cf>1jbT+Ex!_eU_9~1@T(~pr;NDT)GJ9Zg>#k5}NLrDT3L2<P%S~eZ9mPC}iY>AF6_BBCk1mCP=X4T#xSRV13M?HFM|9f& zw=`x+q*CGmS}d-b1|B4H?{22t7}-`7XNL`9om>>hPhkE7q$j2#$M@T|vu$1^OLYm= z&nn;wf=C7l78*9(JfP(p;QVv@#;w%R8kJ|U3H~NKsHXcCVuk60=%uR)E zoZbG3f>~)#t1h3deBOO|bl*4@7H8IL0Av)GhK0ZxVHrh!MQrdfz(~vIOAU%P=j$rd zE+=?S0Q=>EY`!yJsegVk!_ms0G1=|L?CktI4 zU;M^0SBH2gatnR)$Cu%U-Ix8H#0yO*U*4Te2L`qDzRVs#FTRWe{OC+Tc>!_XBX%7= z+HgzGZp{bq)47n#n&hu->~U_YWnCKAIcygZOhJzq$a+#XUFK6G(xk3qAb9%<1Rp1o zkp(v(iLo|P5S4x|ik>vDbI=c{iQj7Rr3zmz^1d+=53-&Rcr+VMI*F__*;{j0o63B0 z`stbX)9f5ya`5vY(`V<8KHStoRfT3+37rx25!|r5GuUwo~OW4k*YQ(rd!l%q5XUK8m!boS0g5UMRdlW`K34&3}{W~7ZV z`$uy7mdSLv`y=!bR=j!eNPyND;vA8tfrS4T`Rd)XA;27fb|@Gy5JWb9sjq}NKf?U& z#{6onS{twqs~O93W{i57KlpjWPJ-O8+g*5sb(L~-- zobdDs3jW=u!%hTE?O)It@-o0;>-lrHA81A&80(2=$IW5arXe*>=v;ldJ?DYppFsz6 zno_|!Hz@1|(rgOpIcEMm#Y46G%Fx4pN?Fv5|v@p*sZim z!k1&f1eCfDNYjxYcFFTdC}3S%uMJ*D1bm2=)_S>>0}J12SF<`(>i9VgyQ+`2_@c_# zkCTH^+2vo7#G#YegYSr418nW13A5}_&Cv{Aa16t_JLcbf*MtsdkAD|d^W+<%n?3j1 zGqmZfEVydStd0DvXj=sVWkrlyE3Ce?c%&%h(>X~v01^h@%J|sh`j~<2;2~P~rhN!- z)BQ^Z@IBgN1fYe6%g^vn7ogapa=!bbiroFx@8@5yg3)v!&j*Z$>SHt*LiO^7aH7!9 z*v^tW+5W828&WZEr((!rwa>r!RIwXmr9N%C_8Kul)Y_+k997rs4^mQH@0E@}UczCd z?*V2aMhqQUz<1-B!<=|^ZlBmvmn3EHeRYSJwrMF&Afsv}NtfdTMsOt85s3iLgDM0* zN%|8(uy7#rdWhM+7oj@{GUYv-75EXV1vMhzoOdpTfB?cYpqsM6?T+|Qrjb8|fo>8% zqUajB=|0PSXgdn+v!MKn-PUkl^UW_45J+3Otg{zwcOAYfe${6u{ll$vb47?eMBC~A zB3PUJ9B~97QkL6Vv>$ReffanL7oB54UIEA6;HfC;!+n@wJ3zMK{3tQVN$`R(@;6mI zYHV*wck38DXu~!({+3btD=O@$0qo66I)7V_?Cf~Y|1DfRHgFqvKlj7cVnSfrR(=w6 z*(BkYoDDm;I(WZds?6T>-LJT0qN7Vf{$Aq}j`Z+A9c6;mII*n9Tvy!1r;;vEm7Lid zH?}otFoJ^9Ry{dju7DhlQg>>jEh60d`w_Wt`v4*xM>lUks|~Jhn#I=_WNVFI8{54U z*8YM{;oH_BMPGznuL~u(v)b8OP#Cje6{!(q-^?3%VN3bjuB-t~VJbfU@YzIv4C0c! z?2$yesa$ZCH${Kmn0NfhvFg}RGqZ-;>2!AfXM}2g@VeQ8jHsDvI$S9p&uwGG;nyfn zB4bVg3qsgH=b$85pNgBlu~*deCw(O=01_qSG?R?4%cyU3a8~>_l6*aJ)$uNVX{Xt( zW>jzmFghnyhkH7-ukMd@QONXupZfCo7o4;;S$r0A;w3LRQ8VHiEyswA*zWfT#TFch zJbrcQwl(Tm@qvhthS3rCN%*crWQleT#F#`zrxz%Q6FB4Kh{)R(j-+QnFocEac}pOI z@Q0<7irZ+D>U{OixeMDVe|-3~B*h{QylH~SX(nMFQGXZI4@VAAY#x3{#kI72?|Q(; zrw8}%w}bNVT^75{Tp>EoX~>@=cM0Wg`T{p$my*Fo0**h1gFj{5pVPZ?Qhefc058am z;GM06Qe6q4>XsRd0d~;c8TuhEQ_6ja`Uf0i2TJ9@4}emd3B-WepqMLWXjryB=K}i# z`@JuQk~x&!CvF}gL!5ys=h0)y5{W3rSaTmg`mapReS6v6o?PR7Kgyan*nvMONylDHBr;Vl?r7wcfIZs4b^JRiLFJ6YfQ~cl zh68gXI@c8J22pRn2gc^nW^s7(0t*_2x(<@JmhPDhew75yOj@)nJw+NR;JcMCGx{b~ z(?5jhQ9hr-EjiV{CTx)?!_0GH!iIddgOUDX1+Fr3;;>Dx1z8HD?%u0CkIs3;nOn&R zwH$D&-XlDs+J4HY;&tqU7?HvTQA1czWLoD#QEZRiAKMylcg>XkA8@jz~$CxQhQ*C{0uMiSgWYk-9-fUd7?-Malj zu~J?!K!!8p4bCv2=#eK|aePnMZm3Pl^J)CFyBCN9>phNX0cR9(YZwJ9ddjq5zJJ1M$f zQBX?n$k;thsbyTBonK=2vMh=6Gv`_8oXUi1_wj#65UOLMo@@F5;zobVrHuzy>kqxz z>pnLWHyT7c2ZGNgeabUJF*0rFHYZ!3BLY%$b9I-SngH&jbCEf<55SUi93m{jvuyyz z!UtlH&oHTztbb6bk5}n!bjE(OA&YU}8-H)M*E`$+ABsJ6b)T`YH}EIT-%Q;Fq^9g! zi2i4LRFh|vl~@fk{n_vu_yL)JD5_pplPw(qbIHA)NFvYYe!SqNUi3yd#t_+P&RNM7 zvw`#Ef^IZ9-tf`Fq65&~Z-6Y#$~ba_OG8%Q^ft?Ze~o&jtTjbm>E@ACP-Fa1Wn%lY z#pHB3qEPyl+|kj|`L$14t)&+g-7`=!@^C@HY_9wC+>C-?VuAF_6Jk*!(zYf31@w6Tr;i?Uo|9ojXeGZF9n~Hy^-BKJS>x$mVx6uBy^B~6KT!fybL z8KQvt2Pd+2q{#JVaiFUWoNA@v)-Q@g`kDSqHmDPZbbU}};^-MgRiXkI%Q9rLW^U~7 zL;7gvXIB{zSj589#%bFwqJVpmu0b8(gfEn3{)6bQD7p#+U*teNB8mWAc)lhBLL~KS z{Y=i-?%0nzb4s`Q<=(Hj5a1t^jPKo(-nTIR;NYFlSqAzh+HskG&NrFq5eYDM&p_tD zkHZoTPdaI9%;)P4C=hXNT1e`R|1|@g$P&L!RE6pjaK9qgeOHh(x5&68`4xR+Wb0k- z!fWKiiN^7R3kT+(QmhE1gGP6yvtrz2&KCVS`F3_hf+Yc{Hzf4p@N{Xo3#IlpvQ^o{ z`~_Yu{fAKxqQAH2xJ0C&8HHth8&`!n>wUv z6qgT%N(VXN^sJ{Nd&SI+%+dahJPTMd@H|be9_T$P7HLDI{DWc|^N(j6+aE$DsF7cS zCAbyZu!9ir-bL0?In|cXh_>?BorVo(ueXAWHunE_?8v=xdH(RnGt0}%a)wW0HCey9 zLtkQmuz1X2%)k}UMwHLH(0(SVFe1#Ft2p`Zd&3_em7{`tm09|g~slV65i ze}Hw_ez94YR!?GdwSm|T2fJI>b9W0KRyqQ;R1HB#UhLXHk20Sk3^a%3E}ss`xI%1zMqBi5Sl{fC1+)NWStUjhU~;k;As6 z_zHz&&<)pKy)cv~(tK9^y?V;8u1Tr#HS<0*^<%0Wvx|ZXsAYBy{aG>(S?un)yt3DY zAW4#9mv_wR*#Z2xum(t;;_$o{Fec?zZWD}MLKgTWWy&v7O^*~%?*4o^d(GU*@lqEK z9^mW(uutz9@B~FA!fkLo{my#*_Ck3|ma$8b6X*&D9_e`aXT1y)49M9vT@x8ll$VFM z-9i_Xt7m3acSMJnynbMY#_0VA00R1`VEuUDs_)b+Jz)sQE>rhB_)o?;-fd?Zpy)?1 zbk!I{odN1_LLWC$!>%!tuksuS#;jwkMDEhbY82lN7 z;d}0P7unw3Ah$g?35MUPNASlL1H@^)>C6ReXm2a~$`^7gr7=qYHiJ9!YJkFsZQqS?d`D5<<5Hq*P zHie6wP+Bg|>tMP^mjKOzbGZD_9H2&IfcLN55{l3bE{wKur9ZB zLw%>+cY1%*d;a{q3T0VGVVF-DirilG z*(JTRn0A9UgNp%x1!dbO9HC945Abo)F<%Q?tpHwjIhFZ!%v2$gV5e?z$t?{vG$}PM zJ_F_19IZifg>m+x7%U~@LJKj zk10LQ2_h!lzU{MvC`H^#ZeYzCY`t}&1F5hb2%hcxPvnuMHEX@v!^0oH-ACzCIDcFQ zV%jh39&-N-mggLrPx^~Wzf;!5b?@)l-aC|Eo%-0#P{4)l=GkNZ_d*l#29$$khNv5+ zAiHppy5%zTgdQ;=a+ci`ZFgcaQ6MWxPiq!k0*~??Bpf}fna8E2?(4{L?Wf2?Koz*l z;42;Q3(#6u%432+fHn^~beE`1S=%jwfp=MfieI8~f&(>yqVVxwt1Z^21-fBMcDdR8 z$s==f&4}7gHFfGCFe(V8;7^sFw{E#0H%sR&)r|O&xNq|aed3vnJ3Z-JL3i}McNWqX z*O;LQ2|)z}Sxb1Ew{Wpv<}LH%#|ufwzm}Ls_O%tKUDa@3um(6bdX-BPJUPT( z?|RpwcjBD))CTbcl6``-pTw@rW^fl;|2FVbCc_Uu`_njYXI_lIk00Q)D z%w7K(F)21;DH^6^rYF>P)<&;iExOFo#!qO6TzeVPRo7H<;?TcRYlg)!9nUfUJMsM? z8K1}YflB2iJzg#6+6T5bGCfV%+s!xX*Bb-+N--p=i?~md&!B;XZY_2S_$+OmT_V~B z;5J>!WdZNN|I6W|mpNIw=KK1UVLsX#SX6j7C{VZ%ovj+Ph)WaH@V)XE zx>Q2Z^WE-n~@<#ukvTMVk^1EDx$RZh5|Mil1qWnu)NUnyd*qJ z5qBd^c|i}v{Us_zPM>tdvY*G~sPV;jbUxIoy`cSr9Z0;Coa%(DFXkyeErSL;AtEy- z03v)ib4Lia=l8iwk7LD(6%hN~K#HIjATY(CL?{6_7NiOSumgm>HB{vCcOnocTiX4? zuY*h5z>x|(Kl@xWV+R%E7Jy?L(f~WBbuV`xjUa;!e~!j$4DiMdy#ytLG2-x1J2Ex@ zcmD6exWrohiwP#X%e-L;TR>DGB?v#*-do7G81A*n1^&^p8|s@T=;#B&nIKTct<>2*O>!EIIX{QY3Eng4!pL ztV*q8a6MwC(*MZ*O@cXoCv9qnkg}rrE8w_Bra&Lo$V{2W9??lf}Q)BNp)(uyN*n^wx&aAv~e*#{agaXxH}b z>p)>7-;NwVB&o?A);_eXBQCt$T6j)NGVk@5z}RzJVJxSLiH-Bu_jb=YzBn6inoZ12M^^TZu1dYg|VJMnxd9(_0Hx60`wM zrUpK@E9B9_I>;LxSm$)69~dm?7Ubyn^@bixk>e{w=&#wu{pA4tT1>LkefS2IFcyfo z4PSSo7qu$Hl~d3O(a@!*#*Yk;BU_iIeFQCVhiqnM2EffDD+R%4Gih3s6`!x6LBklY zod9^|L^@w*KIv*~OVb_fGrev-#wu|9vGTY0zu2u^P*q^kpacuY*c8@~EZR*_~b2jET|yEXZy_1glBII zNyOdgO?z-K=!wSv+BUDn5~-lX0=0Xy6AimY;(%na*5m+?HJ>$IjrzEH$qRk+KQhL) zMLXOsFm#p`2l9kYxWRzCbr@X3`20sRLe(rhC!05We>+BxHA6Y5Ct!hZqcZ(6EoY-gn_uqdM zhhfu(>F1dq$us+E25YV2bUYqM+AH0bDSc>_NKKXGq{bQZm1u%g9VsKy{ z{flE*4E7gUj{0vDwLkq=t=Q$5?(D|Zr4Hq`0j83+w8yrBX9jOfb^I(rZ3Nhzno^ElGRs?0eva2G6u6 zKHCI=6l`Xe8R#VFF$96NxTQrQB%8zci|5*oOv&{do|lZN%^xO9pz3=2J$B?u>?H-7 ze}(^+$5ox;*@juWM94vaSPDXzE}r;@cH2hfHSZxotu(OU{f;F@8YEMHWZs{xvp2{6 zLgoe)sWYB#*7u{VRjxvnxm5jI2D_Bew4NZbC4A?GXui2k9tOM*n_6TDrj_^1w|+vrK556(`S^im=%!5ngF4@vUlC&E3KOd^Gl^ z{>xZf}{_#*3FZnHJR64R}3Uo}UgO*&{cL)VD5qi2WS(?6a0b1`Z+( zoD32A3%ApqQp9~NP8kFMSo~Q9D?30|Swav21Id0$_XV6DlwW=Z zxV=`E{t$9-3%i-D+jBFog#zZbrCZK3!xP0Re~>j@S`z90JNo=NdPlJEyUMw7cLqEf z@Pv7Mzmr0yR0QYnz=8%xRA?zjj@q^-t#~O?1 z_d+D}FN(G0$`sL~z6VJ5K`ej^naco89u?>#hC9VhL~lwevGQJ^JxdJqET);#Kob(x z;B(dJdIg(q7u6Lj8LJ{JY^w$GzQ=;SSp)-cphJHX98w@E>*>iM1C?#v)?8_*wS?7l z5p&8-u~o>ubi_AL`WxNp12Wjz-u@lx`IjhN=|tfg9rv7>To%B0Gw|f#rQi6I#17m3 zmC{Jm!}5=+kIx0}>8sebfFG=xs934)!TX=?&5~zusB~QT|j-zD(o)=z3!?shEhxFm6 zVH*Qq-_lQY5R}*Xv8ci%EEm-vW8v`Ko!yd8j*iw4E_N#HqxFk-$)-#UhY@93DffWH zHH$(<&WEOAX*sH)Q?GU>>izanXws`I-i;^yB-GI&T9kpMAFr-xcgdY1zC7)dqY|S0 z;nFd!ely<`=~Y9jLbg7TZjYr+dI;)ZCpqpG>D@QaOkij2n<~7fDZTsf%CYrg>rK=1 zh_F*R2FUdrJ$7z+lX!Fyo!lkxb|EHXyo3 z`(&;OF)r*sv~mmQq(wQ(i3R|3UXVzWeT9M&|K79Y zGTCPT@@1=Wm}2AI9$7F2SYtFU@IEq#j7~J z@aLusS8W%#x{$P3;Y;=e4luewO?*7E6O}q`)(?J0;QSyI!Z{*?4YEEIemO6CVSY7Fs5C*ENR%>WQI z(O_GPuBTrcEBn*(3Jb2NA7mCdpchYUXnB$BZy(xG75NyBsBeJ^ZE>OJL94HJ`6&Xz zwc%aOz>|%opwRWH*rq^Ve`I1f|6jpC)3sbOp`O2@bZ*8b$?_eh(!G>XUw4MCYfY3D z6=1G^6MIP@1gAR5e$&%Y`7pLU^si)FP}R11FHWMVSAUWq;E=Ss(AS7j{l`m>SO3Xn zwj1;yc&gJc>_N><@f(y<`s6o@GQct><(6nVKRbT8BZ=3+k_cxFmrn@x_LGNFR4CK$l(U0GHys{Q z*AMx(`=Xm7Czjp{*I%R(fpCt%M^n0ztbt42Yb3^8zxPsl|gaW02=Zq&x`GM;Pg+f%(=YBckL4Fra{VO>Wbi<}+fC zp-yy*8h{Y&Yz3jOa+876xpH-8J8Wu$Yz=4xpKkAWvp=>+_}?)7b#-!e%W=t@2NL(`xUve#m7oC4NE^va1kq0VKo=NmTEh#qHLz3Re9Y~syE1ZXe{iJM;Ki)Kn zEzW#8)UB0tw%HC~L@{w!$?5^eI1F(7Dg3HT*aHVF%>T-X?<%wUwXWR`73=`B8U{E~ z#+eGGd|wTm4RRw+0r@vwu|&>D8lclQF(>xoSkO_?HPryATC@lnD$%_hmoj zt~f(>w|B+GK|b%3C(x{H%Cz{_7E8Hw|Y6)ISlhj7Su1U@w+ggtx#WpPcwL z)%awm#$MWQJ1c;z`7X&+Uyujr0gkl?ZMq-rdgt6LnLs7WiBoNEhwIW9WoBv%L6sQ< z*o7T$cW21h*KJMw$AUVV_WmnlTN^;B4O5f&i~By<-F&zgP}1pSx$Ys*cg)uRhdGNT zE|TrKhCb9xYt5Bs8jcf2*>0hJr~{&(-LUNa2m^X;xLL8%(H&e zpnX9Iq{!^qTRKgD4*M{UoUjklYgW7h>F9@XwYX>{kHBt&&y*O0y2xzZf|kJ{stp?@KTXgKddZ%2g1|^^|EHi{s3wzY zJWwg)Tmwm{Cr%wCb4Mmwbvc{=O67pTC+CkhvYY_XnxPDFTRyB?DLP(85O^5kA9Ox%`S<$*@gX>u-`1ZbUvnajd)kG>PBSYaD7L5e|CuHrFVR`aM{K_^Om0OzY&Y- z8;W2+3d%bUoz0`B$2aV@mn8Fv$w&^Hoy-u=QO-B4aC3*M_TDE09G@EBkpqkZc%#b` zwwnCihzaEJWkR@Lr(#-w3{=NOYJ;vG3dh{=!fab$xbN%!diaR(Q<%mKXhN#iuO6NHbC;_-!Kl!GN+C=Hr~!ghvB4*ge9mx-U#rG8e=HtC&QK;FKnHIP%) z4bSi8?yY#Ao{Y`C&5hzAhR402po>lJUH;nFJ9?{Qu`Rms{4>!jDqE=~{9tS;H}dGF z|4E@6IwxBYWd5D*+Tqq^B{8J|X$Lw|JJ^B6Lh1sF2Y}aVb<}Z)ITl|xX<-?OrbkIH|nS)29h#1qNPhU%uF>8jHx+5414=dtC=_U%1w!W9>-K&221hYklzSw(nlJ*R=;ShWu0Kpes0oq`S4Et9j zaus4e9s^}T%1UU&>+>2L6_u&&;DZz{?0`hiV3p&c1PNwsa~=$ww##N6{5w7eDI0L4I?bxsA zTBpgr><7f~3XQ~hf5}Oq*z#`*chU4W7`bWKsaji)kA1FNCdd0O^?m*ayPrx1ubno| zmLKw72=bTlN9By2N~`RP&^eGXaN>c=mVzL32Swr63vJL=0(d-_@m#px*WX{W%;IIIt^a{uvsi7Aulq-j+7n0n0pRRLiV7M5&_TS& zaw<~jZXa8s@ENK+UtCSNt3|W%hokgwb`{QUC3G>lc82?8(!$(QhZ#ke^k4NBtrDU^ zNdg+jB=-~ct4#JGD?AgI9(`GhpszRTW2p5}p}e*cSLtQJNwQS3meQKd+nts3 zA@c*DYY(XZzz$R-V)(I0I1~Vr(SUh|FA+G=M?6EoSC6?VXlMSn zo*0G6hklETTbjvautylDc=)I^1GvTaFiJRlj!xrrB4~i>Xzr}Sq5bh9S_K8tJfhE? zb|jC+P+#vE$^SuW{W{{dJ%Gc12%ytNU;9vhRwev8%2eC@oO9;@`BBWe zOOt|pzudfy%S*8cpH0Jv939{IstF5`A` zIfL6eQQ^7-%o-ix>;m_|1vtt8syQM{tRYBgMY%tww!c;Caw7Ib6}uPWt!?T`iGZ;n zOo;=|A7sUeQdKPwbJ5^!o9VaG;K(SyqJVjO0P;Rpf7ONR>+cNF`5ZXx-O=lRZ<9uW z{~L%R_FWyw{XH@izk(+|60&tIV<^-9tW{LT?UVTtoj$b%KqC>1-Cqp%Rxk7Jmh)m_ zx=ie)$V1_7M9OgnFhOhoLKkWO7~tY)lIMc%Rga_k_LE2c`mKg>>S~oU779b~SqOzE zgUTqVAz7-eiJ**fdJeU)I8nav7;hj`nn6shl1l_Lo)C#mmc1ae;e0|rbj zHg$6wT7?|i(Xxz2uZOgru_j{>RwA+Ee$Nw=ii5b@r^7A`Rav19Z&V%D4LYe=j_c)v z?LgH5L~y*SKA{=ntQGPy>l=1M3jJdw{%rfx$14!_t0Z>wrlQ>yqiVOJ1($qt@!}x{ z@dOVY3gW-tIy!$=Uwu7<@GRRVb(eZp(MEwT{sj2a&N(#tr5#}f9sk_CkqP+!)NE+X zs6JI0p|>wOF}ycqZ76-`Zau(8znHshbKD-j!0v*6xAHTd;~N-MTAdE~AQN5nCJTk1 zPaSVU5ljA4QXGGab{l&Q2HvZ~Ar~GHBJ%V+$>3f%V8%*(!Jtm_CT^1g5WSfJa&$Zw zgvlWnRub4h6)|3{BE}ylSF9tUaK=LKs%!5?o(7a=;3!f$<0ry~(Rt@^5W(M{#(qpb z#M2=Y$maIaWw^`xvhyBH$@q|yHV#+A5|4o_4Wb4}JIF4krtURFE}QB|)EenGZjlwrcaEmLWOWGfVo);V593#XGSPt9%;# zsy^)(@gQKhS|;pDn_~LCfoe_J0f}423K+93TbV|iM=aWi(hV3=fr)w3-e7%;b}^=n z0FN`Fv$h^N;O!<{u#w&4p=97Wb=8WdqQL7gvC7qNJN(tBS5kVmn`U+Ha1obZl~u83 zmfzt@kq*tL)2}9sud|!kHNK(>7H3Mhm%pECe~VmYAp@1w zGYeoczh8AuwP4VP*9D<9E0OD(=RslLDuk~Pbi5M5OVlEY81uAbH81G=LGzsVH)8;Y zAoSB)70ttK1Gx;{cbW{?-m}+4WRLn?7{O%-^w9P2gMTsZeAA~#ycp27BYR3=j%O!u zcDg8>c9R%`X@=l_i()h`GfWqdjz%|9crzy>XDFhZZ+May7gPmq8{WPj9NL(Pj>TE! zUioXSj-5*?)8Y$-we%OlQ;8o$hPZ`;{#2L#5LKCHZ##Kk*2A-Z^hrDje7bXY>qpY@ zIf|4brF3XT5m|9Q!*zan5q)pc=l0BtsrQ2v3{~url20|fZWcfKlYx%=Dh$qciY@xQ zJp0yatWoXPd!2?th2BUpM9g~Yhu}B zOqWi@a1I@;o10LZ;BAZL_5urzJO0$CFmFgD1VRMMsU-g;#E2@ud)4H`mOrGnw~$f3 z>AzlOfFu?X^fC204AJ$$zn?X?&Cg#iWUDw zdbE#vY24iyIBA*;I~X{5kVdiAJ=&bNnZ|YGn|8A0HYo~l&;KJ%gtekOcXl(}=OKa) z?r40oQxFT!D6Wz5MmWI9$h;pjQWG4!-%ITsdc^ypNu|o}bxa>M2D7afA3k#e zE}IA*V@hJ^Wfc4)csr5y!jYq4Y|feKa`_|oyc(;0=y~Sir>V>{m5~fQ9{89z2Am6u zkY|;6g7LYehfq!KPaXd!sM$iXUU#slYTT`P@mNleT_vV4Lq)JM@>1Xc$-xZbdp?YP{-N>~4|)EOdhvctzKEgzKp(piGAtu7{bTKxCK+OA1gy z2>zaCthSfY-Wtb$hGLZjnU!?-hzsYasB+u8`PAW|wr@GAZfZHXC3F0rD72eiA6rEt z?$_fqURYyxVRM_yEiO+pH)K!Qb?yGK@~;%?51}XjA!f3pHkp%kmrRE9zH^50h|J-0 z;`;XrD~gCHCG0yrGChJoyzMT)S0rkGnHBF&n7SSxraLKH!iGo0VAwc;_P%@R@>`}aMKF_M>XK8hjrC+X|?h8#`z8Dr#`@M(x z*OC(2FJ;`Ky_q8)HKG-tCv`*QJiNSa|MRzB?Jj~EGaT7-dQT?evNe_Zd-qMfUgFCq zvirfR0Wyb+yvqEpq|K#5S>!CdAWOR_ixMGvEY3wKPn5Fq(AsedQTfOnV| zMiE0$V9JAw;-AEy)6Fz`4pDg^O0_lzm}r3;GjMYPS#&3%FPHEise`DVcAR$@(J%j% zQF1)!TlsK|&KeSvVc3&GaMqx3zZ~hiZT=KkqI;IUhBKAuOKM-@y+=dxZkw|LO%E^IF(g}(@UYgBZye{8ID zDC|OPQ-ee7VW()Yn?F-__FD{q{oyI?wymRXW*-9=akK&;RMzha25OdVfXC_~8^qD3 z9MLb-dD{tNbPV*Ug?oZ#{!M}?b zc5MQv>v{iUsnoHZ z&t4J{9nFTQId=cPpP9@RWu4(p9!A8+w=`o|`1>V**bRizC2y+t+}`GM(li?`1Rs@* z#1%9qbkq)oC+I@{2>f8bl}LU6T+FQd6)VP?chfFr5g0RDv8`x96yb{y&C`m=`$mWF z6hp*5mHb2jMX>RLwUE{M^}AQk>G}O_pY9KAYR5sHvMm-b5%tM?&E+on;Ou%wn>y$K z@PYq%fud2#k#BX+EV@tiz!-uKC<3tL*uz{3z;lw3BoDnmbTQ`iDJ269JW;?$8<4*0 z*ymnmV{&c3<7!vh(<>r!%eC@&`^Y22$H9jNfg46#aT<6B0G_EBcuwA}{WJHsfA!&G zo$!tJB!2t79ThO_9P<+%;#f*PFOHxv3w*k(F*h)(Y!QJe)e(|3tQ? z;HMi7V2-GYc$Fj-iLMkBxGWkX{7(J`z)3>H|E|hTk?(iuTK)(!t=($aP;B|KY12It za3}BvAgwPnE`8@2SK&8x$bd=#uu8o5^#U)O+r4Hf-ao<>g$%rL1i^RbPS0xkY!x&A zPIPZJqfq&E?VDP8qLPv2rHp%Omu~ldiSl53Eu`K!>pwtgf{}xWZ9&J)-=14_g|(D- z61-(%R^CApTf}QE;WS>?UM)Kr6z{ds>j1-wJRSW`<;`MP;%{y#4=QR|V$w7`Wb2f@ z+o@0(sk_QpTp*$#kz`_Ocj3Ox*w#GEkB;=*yh7rf)zxE;T@&C8I|4_C% za=a^GvSp8ueZp8@G8mE1TxQF=#9f>`^NFpm#aFMN9>sM@*{dfbAx-kMi%po&-z-l! z$)iEtqHa81D$P|LdT>O8CC~4Tq%di5%d?9NTOv~<9kEw*Ol{3lW8vuA%fguw%}-nW zSOGr54R?v5KfR90WH%~bOir>H3}CRE>GpAl&8@2?I}w8!A9ps>Cc81B>}LUQ>0cpW z27sF0>y`M#T|WG~_t)SuzGV0f+j*6foMWc) zZqL}Oujm`1^)>ECT?*&XyzhMZhlRMEBi5%Q-8lSsvOohy zc19D%&&_PST>(gO6mxZp&!kL03w7zJuw8EK-HDd=BlPKp=lV|nDHxJDTR0kZ4V zJWG+YI)5d`XXsP&I3BayywIr}swA@kT1{Z02QCn}n24>2zh=IK&8rL@&$_ow3D&F@ z*10Yn2B0u6dWE3dtSA&j%-y_vybTE)LW zC1s}Te~dQ52zOk(&mDWcFDX&%`-3latFUAteO44aw|dRH!DB>@Jz;=WCi;+ESJl{P z&vgCqqrKqYOEi)Cr`^x9pJmNLLeVeFC!h-naUgCgY_QGWo>N^EIP1^JID6c^`$3jb zY$%Ku1eE^16p081g~Ib2_ukD})fs-D=Mo6XR0wX}L0Eo8UJcuHXz&1U4E)G1gA}K% zLO1YdK{-2EwF!MIj37v2|5%0ic!j>Pm1_fTaJrK0GrMam22pN0mtPtR;a1++ZuNX@ zN$zu6zMT>iK6de~ye;RyhyUhVtS75UDrj(^v~k^cg$f6GQKoYcBTmQ0p34({lTDdF z;|=BbcgXdR-r}uA(TIsvt(lk%fkHr^*>#8}Lg*~UVXq807K}S{U3=m$j2O<*@cFg8 zk5*jvg}Y8&pTis_&~OX9_`RdX$k>;`B($FHG9H3|?aj!x`i45(`rI#xSNqTfU**+# zT&*eTk};wFUrfe)x_DR<_f`8Nw$GJbx%Jt$aCHkSykf`s5`XE2gLwzbRSxBjRsHuQ(ocgn`rnvKPtvSQy03)RtfMq6||uCEpzoJU6)1!)z9Ti z-xKK{&zh3nQum}CAb1@MvCiPZ&z07zoIS z%8I$zBA2%ICg~%sS-^*%TTi4vGS+$g3s|6dHv6EcF>E<^e`_Vx00I zwMDy>L@8zm<`3;}?BLt0LPuZBD*MK9Hn2wpq5{QM^aKEd<<=X?_cSC~R9LI1c?x3_ z;~4>J{er&lMRA3Q`|6IOnb@b1c@YTyNArwV;{oNRGY%vCGEnEi?H!AL+Ndvw@hQ%? z!QMn8(nkDwmo8*yqCELC1q1l%5djhScD@HS#y-LkP6J>tz5K;S(-DxiUddu{(AsYF zmtVhfR0mG+;Mto}o648Z_|U$^1FmHBICnJu_0Cx!D`4Wvq8)yhhU(9!h0gY+57F5K zCzn(N@<04Immjs<%tEA=$;ypkA+C#rqK~1blkL*+?S8gy%YO<$Chta+O92TIB5rjn z0bM$vB;5V|#Fj68D|B^;1mUq|ckBA@6XQD$mzWjhimWE6farG?@McrugZjCf)iL4I zw5|ACiXVPkd%jDLYo))C*AwqWh|RDKq-AOgzIox_GY!?>yT3i6e?u#k-SO5CN3F#m zyR|z3pd;XMM#%^6DG`_SKZ9xW%Zz+yAq<}~!HeZuq*hSXV(+LXN;m7~ z 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

xhG$SR$uEgz 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 z z*smkHm#)yWw3xo9cT5;l%%84h0*8%zp3T14!kpx~!%W=Xm`I5@|9M;=EA1*s*H(-< zm{KGWx8`DKXvDqd4dr5gyGn^$3v~DUf7_MyJ8~2H5Lc3A5zNwjx=w;(d4$-~e7S83 z;c-Yw&DOm^Lmc=^nU6B$RfSalu&QD+9gxA;s`^~%q~1&b@qMN#eT*|(Qrr6`V*B&l z+vdYuVB~5XxXp$_8D;VU3tPxl7)V@R)Z@lW^7PE(=5AWhIXsb6YKA4OX}FQ|n0c#F zzWNnek$!QF2YsrpzESkN)__EyB4;v{)+skB*@wS>!1#8FuvWz%L9ZsC>P!K#oju%q!u0gZMS4|Xiw)vHnb<8_Gx9}E519|aPH zz@_tS*pVAeW+WNX5!OKBE^-w7gcB~y{y2RcRsTVtHZRV}B@0sIEX5TanF;lAmbeM7 zy|I-iHuHAG!pIyZi{^XU?DOxg2cPWTuMw*@q&;QUuN>S5t6!B;40@k?Z~7_Te5TD{ z!}7)BJsH7lAqH+ATq@6{<$8PH!qp8rNVexZ)iCAbk*HT`G0*-0k8S)G_wd>;q~-Sp z6$xN>EjfYkP#QShAn@4+QrV?p|C|**KSewH&GKjPBSp)b3fMv7tyK5(0FgRpGp7}H z;!0RRgFz~k`dr}@E`^{t8n=+moRtA4lF5YfYkt-sJAh>sxx$Ax}y-RZ^gn&s+W8TxjT;ax0H$+Dg|?_0++q zU6RGk{P5_SLk#@DT*-gfiFvNF$g{x2`5FsPbGx2G$KzixYAy7*m;9~BmtFtWMituG za;Y-^SJ8R+Q~iH&{Cx+mJ<7_uMn?7sA@|x!MzXRMq7>N__hu&|3XuqnZzx0*y4OlY zc6RPXW;Stg-Oum-{)Nxu^EmJKd7syLKEK;dGGT(!;77`E5ZTFhG2!Q9Bi*l;P%EDw zYT-&N(U!1o7cCfGiGnflo z#Y$YY{~dlpqjsS?9Vt4Q$p5&xHjLi9Z}7ZeNmOdb{YMq6m6N+b{H2cI4nW#Wc}BJj zF*{w7s~UE|j@vkW(6A|QWMEZayJ3M3`vzDXKfUGhxozgqc##L6aY5>M%uw9Ky7pE% zOB;`&h4^Q$9mI>0+j6kNU>O zmu|YIY$@js*wcVTEN=Ar54YcrpN*2Mtp|3;FhkLnd)RwjJ?LSI$AjC_r;Fl# zTp2uSvwp9#pFHA?Mo)1J+RR^~g|hS&6c&HBnN_l4R9XK1Q)mAZ$8}JO%_fUniD#5w z{o4DQ(@Bo}SI!tc#q4lNJML*no019tDeeeFTNc+l=E_PNK_hS;py8g}Xq`AV z;N$k^BNO?%G6EmQjEmv`JB7L|9NktpdUo}jV%x)Zl&CVCSivZu*5b{Cms~rln#o-< zFCo8Qk0~8g7WtHYmijNXQ)T+^8{BWNUF+{HLHg8dsGxiM7-OA|(u=a>+6JxP1gWD1 z({2^lOd6a0z3jolZrD>)yXmt`;T``ebbpt;sX2nBnVkiC#k$$M_S~e5>C~RVd+&+k zEo`nopt>x$Yd*Z#3a`PK`6b~4et|A+X$*RZV|v*T;uSJhbA31li%&~?|1ILQ+S~W^ ziG11*4jwS{*JCh~B=u*bVZ+cq{l|d?Pv7$Ft&Q}>iVKfwa1MEhidy)F)BR^_zu&pY zuo@q*@#o_YN5#mr3yj3T&eh|iZ?^}FTK$F9yu_#1&$P@vsSiK1ZygcqzplJOO(ly( z57r^*iz!Xe=<*1u#q*55rG-<#XTdqcPaeK7a@w3&7ftCVEjaY}haDUPAz39!uqT~% zuy2Dsfp>T>#CB$|^4>EBEO|!uh;t-k$I>)-DvAewB~b$&r$zb9p+_En2U6d@V_n7v zk?at)YvVsiFHcs*A{l^jEW<(|8|)QFkk`z)Nuu|z*n{nJ!r@N$5ie>=`8=m*M8Wl! zvYu#exn;&(ac1)OHy>K>9T3YH8wMDJ2u+3;aXO1$f`F%@7RADtoc5-*m*Atb!aIO@-O}e!1qEN zCtHkY8TC^Y;$MAdx|vT&5ybCEUVx=JKr#yJWilL?=4=&jvOI5r85)^q;itBfMcx+;4JE z;gR|<_=yiP<|V}ELM=~|8NfBEZY8=D9CG(%fX#!dleR1jxTqdonTM(8_~V+biRz`K ztyncpl8g;iLZX>n_GhO5pj8_t?BIgw!-Fl(uX~=dA)6lV&ip@?V~L{|HEChnj_T2D ziQ!e7gc@CDSMazxI9A|<1Uyqq*&mj;Gi5S>*JgX88t}Jckih)%ZZNHYCMG)99AX+H z)vVNCuDG+4T;wcd%Vh%}e!+_FfGZ+jv=+N|s5e5lhS`Jcs;`cU!|jIXyhEZC=r9`^ zaU4d>7~Fk1?3#YTpaG5-#K%Xs`ZMXVetjLS(J?J%?I z%l8GNl)v^0HU*vxPf-_Z`eq(ETou9})VOWxF;>}cJd)EJCRy5_&PM_^ZG{L8dSoK= z>{%t`!5a=gFLVl1!!uH>KnDF0caLV0gn8It;tD6OyrAD@9hiEsI+KS_>hx4jjqrw+|= zcU;;WD)?CV5)|rr3NZQ!51+fKv`C(})cs2vR1mUOT!Q+j2GCjg1`lRumfr6?n;XQfZTRmUb-kR$=~e&KDjV7@ z_u*DPlIEFX<^Mf?!(lf590g~w^?aFP|NIPX&-TdrGo>_F`2BX>MQW};_0atXv1?Zq z9y;9;NnFriTbO{!vc;{IY%gHsGE5U>f*I17EW>{C5!*F`ADlFKps#tl17~Telxx0w zhByr49n;g=L_r3b!%JRNqRSJ6q_+)q0DVGb5|Mhr8Y;(#CHj;qEGaXtBnD8Ncx=cT{$Ytmar<1LR` zrd)dC#0$f!`D@O7Uf#j6{h_X&@ya*@|8qUfZd20j;9Lal;<12eVdWy)bpC2w4|Y z!ixW4U;Tz}zMGBRZ3anp&r5VeFNQu+vYyC8f^A5#3O|x*tbJVgznjeXQYh#h3ld)| z-$N;v7+_`QA{Ve0W}9&!ku>*r;A4#6tsa=?X?fUMAcr6rEk7=B#N^MEY`7QGB`6Z1 zN=*+~ye+F7u-84a;7T#mCxwg1_RzdeVJ!%PYa6YnyK3;z<+`m~*~ih`ta20T-B3*C zQC$vcGhd?1qhOFk+Wz4HZ5Q;z6kco7KCu*?p1+e_ycg}TcV>?i_Y1f3V6gTLHoqOC zs#q9(s8o3}bY?I8%ojBro+FPdsKPhp*ad@$pl8y=Q`@*|WYB1Y1;CyNrj)0K5eqHh z=Gq3~yO;B>^77D~g)26;Z0=HVk3N9n-&knIVcA^vmb+W+NhDY1o5u|TK=T@m?9Tyc zd$c)2M&eocik<{LSyeeU79g`L{rF36B6+a-!uGs|^SmuI_j03mg_^&yuma_2A9q9H zP8@9u{;vDldk8;TQ23Yo29r@*1|=Ohe*IiDD=;IrJ|xek(222tg`4_T{MuN%sjJc^ z5Zv_vS9wdQDg|r%XXlktGk787DRzrnM;L%@=+e5mfee-t0CR@r@b(4pC2M)+1d- z%(oF7PWQl51>3FZ;hq4NK<|#?AZg}Id*T%%UQhw&Jp!RR6dQ-0V-n=B z+@GS{FCJ#=Y8TPATlX&@g8J3u^^Y<>6q4u`h7L$l=W+KT?ZZ#+)vb&sUUUs8{6R8_ z$Jf+3dojnW*6;SV5md*h%3WWLS(tHo6ednJW%WFETo!zdGR6YT_pd6p93)5#T@x{? ztWYt-@ee_Qw?C&qe;a7l_RW7M_c`}XWmY_GST4N{T))yB@QBOCLR_7&7*z7D%c7UW z8tk-kgQ{ikgDG1=$9iUgE#c$ef3k-hv1TKKI1x{t;L};};H#AVV8y3-q%vU?d|bRR zH<`w@3|>fXB5v?tS3D!V@6r7|e_k+0hbv|YBY*l0-iH+jp8*XRg*|#60S()TGV(HM zes_*$&qa2c*SU6^HAocW6ZMh8nTp|Fb>!8MJEYUBzAfoq`zLb3^^y~-C{u9Q`UOUt zo?Tj(#ZR0f2)dcYjjrFfn8fHqOIG3=oU$6xeQd7dxNq%Ok+Qed`!f6EBj`nc!Z!j~4YM#3tW)^JZ#t1)GYm^#sXqs^&ydayaQ-|sOY`qN&kGE%cP>(3p{S+1oRS3er_THhw7oR(ZO?X>iXI@0Rt zu{8#DLD3NrIB0~xgVeY}oH)O6I2)u}vv$ww*mcXTC!E3$A^rD)U(ZJ8Lzi|v1onzv zJic!<6kA{Oe8-_yHFe-+4zWAnwESw2?k_gPLlREh)52=Qy{-qA7X0wKGbBfg;P-o?o)rV z@tN&m0w2(nMx+4116E*^Zch_oWEVqp6ix|&9ebn)6il)J(Z68z8T)IhPG&7l%?fiE zwTUt9#1K3}x1c=ICFgEhHSA40&Nl2%4}TFwR!BAx@6Yz^0o1%mOAi_A&2m$J#!Zt* z`juWU&_aR!Z@k;{Sfgz)CEyX9)3SmKY{lNUfjOOZwy7U_;MTPKp=nRDMZHk?5$6S=bFg*;*PK#TdA5?9_%C#Wn$jA*IC3oX zVR!3_;WDr>9c(zV!>UD#>M~ZxMB`(Ic`@MAM7LI59_YT|M#stFv78)>++g=32f7*L zuE`uG`*v1neiP(E2*QYp2&@;~0)&y)HF$6mOXp$6i6ujyHXN;+2V3>YaXp=S`Mn@M?AGD#J{B08x(oa z)PLcGG}d_P;xAK~$_YBQyVGgSnvK5ig7S>1 zTXcGV#jH}|>W#(MaZ%Ev;~y0qdc^*#C&eChDz}||3~K&E_mg;yGW`|Q1+_+CVR$6ft+9jl zOa)Tgg8ZouzH=@BgY^+!Zl-(LnURZcZrUX;$c=zBna4mta9Rf;1_STj!DXrPjYOB( zw0@min(`|=e(G+-eiTE{zZZo-w7t5K#|{)Lz?ne^@=}Nmfvq;{G}82*DST6|7Je#N zF=bp*@7N?aW33WhO9$Xhyz0O&U*_?#22tP_ZZoXQLmJ)Z#Goz*4KXFe<^Et$Ui334IVyH!3sXxR8pXw{Dr&VNDdxD;n?Ym zw=sA3W*dbd<(+{Ec9Nw&D}_HYH>!LHz%*z#WXd@PdjA**zawk&p@`iCrPRc!qUG34 zYOnSSsa*^sD5G-PfiTX^m+UnE3CM#>3OE*3;aa+r@xvT zO@#s+K*}o9bWOD&UR^1w=wPV1^esZ(z zqcEwxe0yWaZ|ma8ByVLM1gwv15-XW0Iw>P&b+Ry99F(%dh}n?HX;={hcoa-J={311 z^ok4OR*rNU*zbQSc6ncSYzDK{enK=uXJ2eLHzzhbuXicRf>0R#boRy9mup3~5YJzY z{VT^%MV9^vxLuX)ZDwL)h8SsTr6rK+8#ao=W{p%5ZnjmQI|j}`6YatcBmcrbhwxH&>;4P~*9gG&nza zfam`==Z{vV+8{RmyZs7IlmH{8Pp-O*xsXj?-O{g=f^ESZfTg4&_Tb(DgLZuy{@ZY1C4orwG8FM{^ItNjQjYi^O~%cX2{ z`5w$krJ zo*+VaOAx@ZO)#7Rzt$Sd8wo5AEvl8UpEq*yA8-@eF&jE+(?WB;n=RVY7 zVLN{OLweamxu!uw+v->U2(m(KL)1+!%j*l}vJ+y^(?o%+-`YdhT2m0-u3V zGTU#Z-%YBbrG_2<4N_z{d#y&Gal>ugS(^WfzAjX^6LB6sQ-@A~FL!;D&ItMNJ05$z zcxl-A7d$;kC4v{75#(&!?goa`cRjSNnaQtW8T!|8_78oln*W_cBNxx%_T((#+PGT- z+5tDI>s0Xz&c#=BSvF}UNjEfT#>uI0;e&lqc&3MI2Uie*2j!O|j&+9V>PTt+t(q(b zTuJ#)yz~$Fr_p!5+&{HwkN_mWhP<`WCoX8=5GGFL2BKfLU#KhU#3*`0UwHKUX;YC+ zSGJ1WNSD6^T@=2oPg9Ph{rQ1&?~top3w*E%<*?v0GU3$C-|V5+$)w!^EyCdp-z=#> zI;YYb=r7Bp;js8J7Qc8MEWulFIbP^7!E0?&Ft<^gcJAlQIB z)R3R4L+^0BjWfDw2xgi`mgt5*7V=`6j@3t@>#q7`@LroOYGt05CvSt!bruTSxjWGla1|0ix!ZjF~Ic=VO7a{ zzxD#Bn)Xjz!68v(QLF*3uH{#+X{4_A-LJ<`;&n!zKoDAZ)@i{nAuc{dHql=x^W!%Rb!5 zNI(g8)L{>t7O*#Ylmn=$yf6T-K0`dZw~D_eh;7WH7NtwbGpo!w(6XgHm1xZ)$^IPq zGX!>bkIwS@I3I@rnUJ~H*|r%;*92nSQ*q{JsE--`Rxb z|D~M7L%FYVniLQxzMnrf;~-k*GCGMd`!WgtJ=41?n6Sxt1=~$F963f zx@z(g2)m%&kmhyIzqKRmZcyw4=KW91{m-)XUlPPqy^^*XmDkvyAHIP zDeT>|!kGy{zDp5JT(ma$`W~H9m#RSPDY~|=^~Mvnt2k3C5Owpn=6Pu1mv}191Kiyy z#ac5^c9sS^e~-}r4brMCVsz$vcP9aj{RVRq^*rAL>A@OI)~&KA#e&$uSD?@M5NG1G z(kx{j7T7DejuB)IS{!CAnH^0CFh+V-J`&4guzJLhf6ru`foyroi*xva2v!c<_3P~( zERB(D6~GxDs0Z`b!&{GEJlK!XP8NsB8n8{`s>Ofe#+f585>$ZA8*Tos$lp_~SGYo= ze!StWq9<(AK>DB}q;vvB5r1S#_j!X{vDM+Lk(%XwD7|iP{5t0t8#$_VL4n?6Ud1CS<1`SxdjX$t7jwpS`*~1tqr6wV>h`uan1SFHzC1Y}ZQ=rNj0Z z(DUU{76tT?&!_|7nB&m+RB_^I=V^M(oV$1@;zL;ag+s@OwdqxG*|*-Smm%d&CY>@Z zR?zzZnx+(Ip)c*I8}We)$-VOPt>$!6%g@eFN6M-E4f+v!RwJU&ru6#0g)(AW>kLgf z1Q!;4ZV3|L=8Mt`%)s>?1v+XG_dk_V_E2~cEM;gSqe#CwKH_^pAl;B=DuoP7;+%ZS zxhXPvVmkg~h9d}J3gZ5X|Gv*z?T-rLDjDv2&A~`YVjv%k=i%fz6r4HhYnE&V|e6b+|M`@uVrA&s|lr3+KOJ7(Hsij&B_oD2bB+tkc(=Kx=RdbYJk!Fe~a_ z{{^Jh4FK{G+QWP(MLYn!j-bs7hUW;qhnKE}2c5DeO=Ysl;qy|HDlJ7e=7v=(QFp+T z0Cl^3SVg`DGtr@V^41oLi@x8La%T-CGGyPD40*<0|JIptZqw_|JhwW?Ut_4}RHVg^ z^@h|y3nI{CIGdvmt!CAF(cbu(N$KI~v`2sWg+JaA1XwEJXlKbol}0*{Bf6wP$t1ea zy}n*I4M#?V88W@b?cYF zrq$pYg^?+x99-ime--+EIfRx4y@)84&<12lYg9xy8toT#|6J7~`9Bu(Sre(T^OIH5L@r|EEF$H&T#Pr$fLBXt{+m#FBB%5^1c~XP8cQ%J}u7acKVOSoCk@H z3Jd7yb2%6#IDrC@>cPn?n+x2Ydu^`*B*Lpk=I5n~i+|}gloh{J$}+HGVc^r2`ere*l+7-E+Y_hwYTg zfR+}BW0`g|{k0y?sl`N0TAC=L?Ed>Zu^#we+LF%E?-$wJwy^P~yy#M&U!OiDIu&!A zoHZ|fY*h!*`HqH-?@!bIQJCQ9BQ+V!HZt$J$H;<|x&1;dxybP}m!pg{tR<}Yg#otQ z@C5)A?*KvaAL91fol9>g*Vk#Xl_v8VJ83iU~ofygygS0@n zzDB!o!2D$_Bgj-4GSEckwMa4)B#z?BSn;YBtzG;)4 zxc+5(ha@(=2<>d*4kj84gb1uv1j3k+yUI<%ejp@rivZ0R1iF{zWT~c~Pf~&jHZpWr z3x6s7EM3&dEQ&V_hHTyIH@`CX zB%YSctzgh98#B+H{H4cN{Wo!CCQ+u)uJ%98i`o1xxm_!cACJ#VyWsH>Kj_7qg%SUC z4tS<-ChgH#uUxeEU!Y(YlYuLWe?X&HtnAXGe3ha$jpAVT1yC*x!yAsoT%GT|RB^B8 qFIV|1o*Br3A#~dCZgq&m9rr<;Csa z&vjN&_?*d6yW@vFEp?6d^BAegS{xEnR@iSVE#!4T%>&KicC|xQV2_sg~0TwNpmA-j{A9`#HE6it^(4LJmsWDRZUh$%%>Ymz9ve zp)I>lMj`B|WWK3V;>mrE7DgBBjn7{Q4LhrUFU%?8q-^$a1vM?zB(GDq9OR`B@rL_H zKRKn6cI{k}p5)boGB?fSQbJ;K9TmJxlt1K0xx0qu-H6SP_BgD`t9kHf`59GxV?Bg9 z=i(Njc$ELmxg!-R-c{!`{XOm9cxy|`Ym`Nw$+}`UP#7C#aU{a`Oq89%t*A>X2ec4` zk$lm}M@Oz8#Io_8@4K|?FRe5RE~``~p0B(e)R693;jQ}Nb-tOoamqQJP9MG31rbAK zu&frZ-adSHc|?Aq?>&F>gGaP-jihRV51E^vyKG^Wqc$;akEZratw&)4$3wEM4_E{?sgzvbK+rr#f|8t&~I9~d^! zkUElbWS|IkJnIu_BQ^K!zmXilN}nT@IT3cM`={>dG@Mn5^f z5$3<1+nOCSneDA^EWg>Atk-c~{oC8zR~8c6D=(fsOk5bq_!P_&e%^lQS)jFz$HJ?C zPt9fDJIWhUEi%22j8t1&+uFPgGV^ivI%ah0c1+xto|i+VF+bb$?%8X1pEvHblem+0 z%T$-Dm+ z`f6xkY0Q<`rZj3jPf>AnIYCSJnArry`e#R|iRdea+tt6zx>3!@akjp6bcGncn>=qOjSZaO0Vm%JAyUjOUF( z)x49nqV~+}+S@?_leMAO2FrY7T0c+nRDKM)zID)+Y~G?B&Bs7RWHV$K=|7L0o;2M$ zxOKjqfteZK(rt|jF4}*L`>oke>m7EcM22bh2OrJIwR=IS+7H%?=*x4dFPN0^@o~t7 zwj3QxS?&$0oukbOKCf>Ve$G1K9OT;8aC~-Y|J;!?Z=FN!`n2Gn3?(S^^V0iq9S{P#o_A9qX)c^>mZiJC;z7)Q#Kv+x6%hb^~b zcf(#x`5OvSSFEw09AyAqzn|@dF>Aic5N$bbQa5!hHrD-5J81{oJe}{JQag;p%8Cu7 z>fA6-Ah8nKq=WWhX9`YC;h1VrfAtO0t3F(O0Eu+>8+MTdpGeljsP9{nJ${!#No z5y{#<7c$%MKawdI?K_D%=e^a3bkq7Af3Y=T>9yRon_4`+zc;Md!8Op0lE><_mJwrl zqM2=dd<3#(jH>$#PoKW@uz8bI*XnBWLuL}h|5KcK>;B0`&URcz?puDyhD$?SZe1~3 zO3)^x^-U5O9CvYtbq^DnOPkTRWr#9x{T7DwAX`$e)@wBH4SOqQW+I*pd{Z z8cZXhfy=FVtt3{&kpiSi%TudUlC^AR;c83^3~>%IEqSi)la0ZRA7RI_o(t53EL9;v z)uUVPVUy&sU!f1XXRza@|ho3TgeB-}S4K7zZISTV?BB18SlMMblHEu&) zMv-nE7eyoo+c_VI6>~g?8xy5#IUQ(KpIKCngrWV&iQlII$|@zv2anz@v=+}!BNnD|O3 zOe1j`#7+VR^d0@xp;W8G4IMSW_-O2hc@6*SRbpY%+*XKgV z%BVsPj4e8e|LfcaOr1KWc$g%C5)J&v^J=jxg^&#CqRvgU zWKdJER6(p;b0MzPn-%=*g^3(^7e$q@`Dg23mDi2RhK4Kk)!jOLvE(4#FqVDI#(=W9Z ziME+T#-LdcpX|X*LWP9i&q+Uc^NtJXB=f={AsLe*T!r83)@%-de3_z>PdV8mPZu0&vWUwo|#SD{p;6YDNL4;d!BLl zx{BG~`+|%px*X(5@AB;38RT?7QTL?b8dGsc%~V8@s-}x_TUXCh%+=IMNm-?8KGC`0 zQgs3gsYi!DxFvA-4D#03$JeZ$1RI7HdfF;yCflY+dF94kVDUox+t!lg?g;WDRN@ z1c>)g^NO2KFeB`Av2Ox~(a!DCMm0z8Wf2to(B+1xx`{KP5K#fXyy|`9nESjvSMW8v zo|U_%9XUI2<%%HgQe};sV0(1Q7Wwndd@kdIZlx$6DL0J#g5l$F`MYu~5Dv=Xaw|(g zNTpaet}dii_+9Kx(iIF~c~;3DoZ8r>3fQTkqr}i*6nZAnEgggBqGgFu>#Yefq$qzE zoj5T(IlMaRwZSEO+fxOzE= zcBetq3&;bG%#c9Zypt4@vowcZgief`E^1#UDr!7ziF?VHOzbxWo6L_E8g8tuaP~ME zeJa?xB~X=Nwcb|}Zh6<)La1LD(s(N+4?h;3f9o?)%R5fkUCHZLh`Eakz(_+jA@Z9l z;G9Q@36YXV_!x+(D@(*@6OFD(J%17=iQzhe=3bKTMf4Y6HzvE!c&0d~oWj#e4ql7E zRm#`p@Sw&XBoUK=&0IT1V=GsH*n@#55lJ1q5$U6rMujXs48s1)jN3cP6)QrR9s5o{ zRfM_fuK%GR8;+!$CBzA3Ln{)a%Cv-MN|4sLkm%1sNYV5bGMSdP{D@>tBPGI7VWGoQ z$h=q=f~Hr93&s+c*6G&*Ram=E0;RZO)~r_1v(=^JTk5Vy$;zJz?m$_sk>;9-$b6<54dpiK2i?c!!9f{$DO82FPKidP~I| z;ogkq%wcGTY>duYA-~u&HGQN{i7bstph^_{wcrCj@QLS4Y4?Pnuhxi&F~BYPB~b*0 ztJaG&gHKWZ3r-;%*arBxoT^C1nn+vk=qp~td?LfJ$QO}dRD=G>R6%T|28bIKfbHUS z4~=pE;6OIlgUXzR#RW#3QIz|{Odx7{1d^{>Qie2WTWxPiJSY__|M!xB`9lb8xql*G zPi?@V>N%f(TDQPC&XQt$Soy{Ndp9qiSHkQE{19%+mRspFbL=~1Lx9+cSYqA&vQxnt zGFt9x7D+u!-}w+}aM;_(^koKgTK8vBDQf;+2caC$zPEvp--ry8yxl=&vi2froLGSU z4X=BL-vPH(p*mbe@6D4uWr`mDShvzt%In1X!?LjNgG=eoKdH_IjU{`%mC`pvhlOgk z(V%me+_RLJ4JWhX6;C^qCOmvNLylw|=2*zNTBmfJ#RxDcoAkUB`0UI99thH!9a%C1 zYFeU-#JPld5k|f6k4f_7YtTB&gYOT-fnSOJZ#Gb=07`hifX+Qb!_jZkVa}Ga+l+NJZc;X9Qf`>5@#OoKOmP6HvjFpt@Fgk@mf>biW7Rub>{HeQW1?r zWrxp0{?AbOa!%;sqhDC+hv?%16f4|^>Y4*A9<9s5)Cmnr_3FOE6!%UN!sz3p{Cf(p zrzSq9YLJF;pkguYt%B+7QQ^l8T;sWN;EID7Yqtz|0!DTxf)mxZj-&G?o}^!zU2&b; zcZ+`o&qX{*lxrqdp#U#c=JR**`&E0LMSlm}qca6M(_}#;f8!~@WiMc+B%z;Wn3i2E zku2a7SJD54rj4;Uq0&LHGB7sy!|Bb3&d0)Xg-`E<)`Bd;pwD{UdmV!8UX5@`WSdu3s%L-W2)6Oy4c2vC>-yeMG4a~%3~ zlH=Jaw`V9U^l(<5`k_e!6wTg-_St=0&SBmNd@pDIm0@_Ly>9mIBii01|i)wbaSG9b^TKc~~R*=VSB;k4uREsGCj8`Dgtm%=nc6i`&1g!OK-P<6m#!C`rL!Oh%)n#FZ|sFq zl9{QWPrM9VjssHPZ?WU=G?q{C3N(c{J>sG7gG3wDq!C7kvZ@m8@n1I?U?=l^F^K^y zparRG2PDfVe%RKcBi0|%1@mR$M3BFmlN&t%ZLm{r&$;Vr_{V(yF!5U+WG&($u1{~9 zuj+iOzT4wQ+_<+`@0t?#lB4@8PjGes$Hn^_v!RcZph!cG?Ia93I z*Yz5%n9Jt&_9wv0g3zz#%Qc~mptVmx3?Vc2^HGLL+qLHq0#6HTNPV}Kx}`a^bYLy#zGv%1`QNhBM@ zbASCb8Vm0HY_4&eAl}PF+!oHE!m-LCGcSN(gr+Qsm zk;vV#BOGkY4!i;f9z3aiX(}{0f7f-pb|{=Sb7uz;-} z`yLklb;s1j{^Mf0@bXcVH(3mox@DB!;W(<-7TycIdtjvPP5{R>MHL}qtlpV5(yBIZ~J%RhwdoeY)>CCq?0=2^lz z|EKA+VeCqcV&?UlbD~#psF8kBXaQ{k2S1Ei6^f$IkuENdtz$vG0MQ3oOC=G^hQHig z?~%@6-eSG`fq7Z=PIc%9^XVIPjk=T4hFfA*jdwk06S>N6bUt`dJ28vn`;+Yl);)3b z&vY#Q&r>k-AYAW1qbKmJ1UvrhkkQc8?~M$um&Nq?4~c&W=3K@-zwcu5{U`=+0LOax z{@snN{svP}mN0=v72{zq=CI)8rL0v)C<%#poElP@Opj@ ze3vD1_3IB=)H#Pq#G_tCjS$h4F*U({)ncEE{G0USC)s~y$;K&inSr>fIhhM_B;S7) zQa16i%3W;L_+qkRHE$MlOF1y|CKXKOWATpAoC0*t8`aIi zyugM>ckA#+dCy62FT8_Z={ zXLx4s$HC%A0k|SHxkY|l)x^oLc%WwDZ#=vnN_Zxfo8EMtkEqTNVF*l6caCV5@k`Uy zqBdW$4$pnbpd8su16;Y2KZ~ypkf&VJnEb2`wCNN%y}_eyvAb^>BRdDH>_-DZ;8QBJM#xhKE=bj;!NIu!7k7ERUS#wMm45AYcM@N%no44*rN z*3v5&AQvrSsiUXCRayG54DlJt3k9~+m7rxA=u?nBs}7nb0NF?dJz`^OqSFf?qHw5$ z96VgcxM5}BmJ9G`ore&U{GN_fkTx^b>vq}rz-xd-cyDq(T?^-AC;DAG=zd1tLM^~- zQT0ia$>>{o3LmV`>=4CDXAUCg!#{P;IZ2j|wq-U&PE@7Dg%#LTU}y{|Kj}gMXE1*PI4)Ut58RqSF*(l0!Vq@?^}Aob*^m8sISH8zqZoh(X0#+-?ufTfXT_5kwwmVuzbaDDaJZ@H82 zH;eLrzndm?6qRH?KifdJW}`jgQ=BF^r5tn)`;?-!F>@ktKAUx6GOZ@o=93|7iV7x^Lnfa?1;rrO#@XTqzbhcNo}N$UMK&lU`ik^PBDdV7CUP z?l^tM*%-*}2Z1O%b+;H+Rf<^a_v5!$InnsN&ZVzW!bcSL0NrSXLAJ8AznK+CYA51V zpLqm9^okIKK9F`{k=!WHp+qO^ zk{sN!3>Pvpj!dOX=2i4JUTYo~+l7qIpmDuEVHazvbw+-Wq?xJ;4wvGM?WFX1bBx)Y z+?&#gudGHB2MBn4er-H0Fm|JWA@DNM!w6vPaT_13kOARXkPwx zdL5QoXLqYmep&$vI5jYJ#!08U3@(}rs7fbK|0hsVBCxTUjMgg^J^lKzk|8WeH&_02 zFZv%?%EWGQG9QO)0QiN=M!%-4dSGu0j$?9A-FDR|8fkwdpJ+h$8M-dCd49l{0 z^S6nKC(PiBKMNaH#4zRr-8#9z8X*zsLnftN8T8Tskc^={umrq??mH9H$ow}e7#X;e zfjHk`-cN4~_qfk_DdO1!1 zzV^!DsE!+Mo87SPDp`Hkp2qi|t=X*UZ6NN+ZVmnbNO0Y|)|I?bJXs<2>5jS`nfiN8 z3iII07vY4lqx+ZA#8+A?2t7W- zEOQ8LJ;zO@%8DNUdm5!wb7q!Mx8oNnWHDS(du%57Wj64%G#|ng9Jo8= z5)U8bVS_%!C4VQHHC{aiGpx+WG9Z`932+KyR7pEN(02-7> zCr}mswwPA@K(3P8*%??%LM!D5!2#iB5-Qe^c4^Z3Rbkzz5?W_L}{`c^O!}cYna@04c4ZlDQJW;JgHmG84&;|5Xup zWT!dYD@uc1iLUs*S^-C(jTFQ^TwNf|#axDmx-4=3Xt%}aZ(bKbJ_^*Fv#g)~+hyA> z%40?H_tf0zJIG>CNZ*v+c<0CRy`M`6ArE9JUT5CgFkCZ%#TUi{rjG7p=7 zuC;J)U)4aY44m8<`mu$~{5|%3#&wo3uC4RE3Lj%|uA_P6ju`5xEa-hMtdf5}(7f@X zgJ}Sk*u!kL#b!e}r)6~RK6xVpnln@}{AukkoBqA8<*bc(j#>7Sx~V&LsA<_l22@}Z z=SIYw_@YwZ{Wff|VK+R*q49i{kliZi_Lz^-fTPg&Xg1M>_+#@yDZ9=TDRq-Fb8hEs4WzH~p=Lp@1dK~y`@R8oPr|4MB zp1v`f^5X(jQ1g=$jc2to))vy0n)w{9jt@S;J?$h*NI;@<>W-}1ry1X_D?UAV^B zOLuDj(~A@(D@fgYMh2!PLmtrrOywr;gdzbK&hCUbT9^qq`H+S7r}w~(i#Ljws@Tf$ zZsKEi2?da9cH9SL)^y!-1BcEYfgz~4mrdsp zQ4s_I;w=C}cq~A5i=W6s2P~J0og06f!Bsc7hR~k05(*LNl`RB?1$`t@#M_z@@{^lM zJ@}d>b5XwG)O)L2WA8%m8mQ&}B&x-C4A^Cmv^%$pj>1(sS2T9jzrN}Gv|D%TTL;_u z5}&B-wX#Ya7GWA{>8=Bv} z4d1xGnsvg8=1EJr%o3)L1&0Wi(Zm4ORUeI(B2`F-jVySe)^z}@TN_j`|G+~e>sLNt4+XHcB&1TlGlY6zm%a$S;LbUc7ffb8n?a=Acct&{ zrXv@yiGi-#%Y}!b3-b;%jw!_X!C=Pdb*8f~F+<$@Q|V}%2D^EyIH~sMHd%^3Y)4x8 zX{%m5D8SizAmQux>V|~+lKbcUGA`ihycj6@vy6U0g&Kl?AdYyWQlEV& z>SlxxIww-*40}b(E3?_Q({Grz7Z2$TyeJX^w}bg8!7?^eu@wT1&&4Sbz1i?xU?ZV1 zO*%-Q=t9hFYST#?24y9lBl z!F07l(WX$tyW=c|Szo|P&vWXVb;j~!k#&ogx!8pZZvzW|2)k<(MVs?}S$@u5Jj@9H zy6gEd3S&E*t>jeyGw#q>E)KtLDxBd~_ewx~dOLw0)`EQFeX1=enC3z_UqO*U)m0FV zC>q(nZ~h_bZB`ojvr8Xk`REg2psyWA6m27X49{zf&Q@~!aLLN{li|?w1F74JcWrDc zWy>E69eu&3&hgCB_~fY^V>WZHU^~x~vDd|p+ljG=^4fySjO>B3gPhb;RsJWT2tgYR z!T&sDPMeTGZ?4s2iiX5`**sZ`J@AWg&jP86i>5=m6~#MOvG#p)vU#}Hbx4&eELL2y zCcT1ucbsJ)hq!?~E4an{{Eqxz4wkr5WCdlOjb#gV{`Y?OyA$nxKzP<|8#ylF%Rx;1 zo1OI;^=t$^Mi#tqL;Y*jak0T8laQ`=yRX;D7if1-nC-KJu?PF;7g2iGz0{3IJ?yjx6xG}LD?&LbJl zM|^q3_(s)J>T7y*?tH1l55B}rqGqz{yF|SUXJo6PKPY=uIUk8&J3IJf5RVOa+eMD7 zSj4V)cfeR7P6ORoq!@Vzd}AApCn>-euy_(>NU@*2`0xY{*aBYG!e4|@M|1EStx+LL z#q}ZjgwJ%OX9f`w$+JVfKOxNlT>!Lzjo%!Mdj9a?o=<){`B9$N-;ccW3>} zEVsIHT+$CfdJLtqi_O;?KLpZ!JVfip8_JUViZ_e*p5G4K4v!=}-iKi%rmIjlb>5=}s8N@rx;XE!%n^1inX>MfQc1}{Fx9TvPG3x`S_0Y7e4 z9*1|tcCEkppt4qY{ZCUBR@eVC&+?B^!L(e$!oTBAOAlrI@~+)y5Y4R%4pGFD6IP?C zlkTyUda?pzY0DZSnjV`(I%b1{m36o<{LI5p79$+b5D|;5pJrHRbUipdzaa`^2I z?kcxDJ}f7DB7t(NhRxD*z#cii+ygP52kw|u={wLXF0-IscZ#enaJlAU@o#4)axwW~ zdizA5U1N>$>X=hExg?Xmiz<+N$|}Ad<78zX5{Kr4!&x7S3c-hY$oo*;%5W=zpR(ID ze<@>!vgsxF6v#r|YZG$!@LP~9?Fn13Uv5&#z6dJ}txgpkVNza_-R>kT9f-88BkI8r zVA)P2<+Bh`@Cgvgvcj17O(C#!UUBkz!s8hk%x*ZLc#|ELgt{TjT)f0F@u(Kp<5x4c z;|ew;f0pnr^6%?Ot-UziqX$o5igvX-eh)7J!uZjZT^2kF1{Gqr`NC==m1=Fe4 zhatu`OD}TqDWW}%bfitV*;6G=6U2}vR45j)%0N16K7Cu!YiC#f%6Sw!mjr~%kdlbD zOlH2@g=n>?7Pl*!O8=cITVIqo{{29E@Qvps-dk$3yYqu2XJO0z#!4GnH(vS;O{cQ8 zRy{UcO?xYSUHIC!$DvIhPpS=3uIjKU2^=kveDHjwGTCI4QH!Pc$B&(q+&}TJ2H5VN z4RcKbsU1p=9F;ip_m_z%FjnI$dD^z4|6fNk%e~H)NZXyGYX^$c#p{3+CiY-eXLw zXi&lQFs($mP;ipve*gM`D*~ML zA7fwFPB>g&<<$Wvg(yzxowF~)l#>Hong~5{69sy(r6@{K5CyJ-Ow_hGT*S=NDSi(^ z6K0R>LDOT{?o;?rW7aIldd*DVc2JUM+|uDe$Vn#aGLVOdqT5F+YJIHf@AlaFpCnu6 zkj=u%glqJAp7b3={W9P|e6U!NNz$1jglmJMSUJk!^*VsH(AD?BYl5h1)ubKz!qdOf zW33Oq)$Dr6JANlETFG(^CA@f#bxZ_jTKn!XD}T+uoL9(kZ|C2Sah9O|xMUu={qBj8 zI7AuX9U!&ye#I`8%?mtoQ}o@#M;9h3Y=LbrRNe+12{_AZSY^bQ+?7oN{)DkkqG@~QE zJPg9pG`T@S$KM;z)N-EXYL!;>5NkRD(PFa}>AW5cKJj-~<>;r%G>nlUmQBljFU^CB zB}ep`k3O8f7IIuqyiAR_8{K~qRHm~jN=HJ&g+qo#nL90;{B`VgK zXA87(!5PWa0Ct|1@h{+~0B=3J0A4c+g;?*w9BQW`e%-vj>&9GcUd$Juw6cc)lGKn zB8U8w>}Fayk>=?lj(^J?TL1ILC428C6f$j9*sd%pu}+9#zx=g4vu@4FZ?`&X%8iof zM!e_g1AaM!Iht^Wjtc5#J1sDvx;b5O84qha#fxF`x(VX$uE&49c>s*<9!5L{Ewa}I zpYY8eY023MuT)}{UkMh(H>6#e*oGWpDcQGFAg$l(vkfbIif@3U>`lGrx9?mgvT2Av zE0e%Wff1=qOnGu∾gg_X|TMm!;7+LG963|6-oe7+njl zFfywf8FRr!g{jN}KcklaLeBJ^t{_>KjsIxS%?ayyPFb|OdH=PcMF|3bF@NK#-MguM z#$We4aMNJS9e?7Yt7Qz1=2E5hc{TQxRbLi!dm&XjDgEVcwe0h<Q^MqE`;g4(ZY67zwT(?TmQ{LlDK6<_*wgY zO}^zvYLQ_0vCGQ@R-@+De&>;F&l2xz@%UPXatDeOTP>gBwcGKKeC$=|fe$y~k7rwt z@JMjCN*vwsbmSEq``V0Z_N}mEktAMG>6JF(jAz?qY@3 z0~26PWAxD{9C?gT`56V!Ls_@Bn1uS2f8*qTbvR0PmvtRm)*Sn$DszH#_YT4zbsJ$! zm1Y{eomnFU0e1%3hEcTl?(fVNJG_q$<)Pdzjyf_zWTN_=o!!q=hdb9Z+WnAZT2YxQ zuED$WQBsfkN7X-8yZ=Gf;Oq;@^|X>C>zB6^RBOKW!2bFQ_FH z+gE5L{uK3B9vH?x;ia(~U($px8V|ldkR74T*WWSEcqhvVH$?bc*m-q#9t(tT`sEZY z-M&b=QSjxMo~`U0Yf?1Jf4=utc;A7q$K#i(p|U1k;0KB^DAl1Yf(I(!2UCop3PG0! zc^);Vbr5C2h!7L=|EQZN;)Ce!{8NvOAuZ3UW@4lnhi8zySq6zhCtaxwjwv8tv#hwBgCv*5pUkQ!#MC)Dey!Efpg zFvZn&kJ!;H#;@U5%-x+D3l^=}YV^!`Y(#jrD(&8nCd;n+v&wF}g)*)sE?-+asrfi7 zayMD$>pruf?Sq?o>{cXc`pF}#&n~t8sLM2&L{-7gP1NG?dhUO2-w_E?I(_M3wtOhh7yaDz#p-lIO;og)|iw?-ZYWlb@Y zv_CzhRD{Vjfn$Dz4O4`}6!J8ajL@aGu2g>%At`SVh{x{ldLY()q&UGmDnAu4Ngr__1QsbsZ^KYU0U`?w!Nyd7k@zmK@L-JH%IM zW9b&gv5^aw&tVsH;9)bM)cvvdqAnQOm$ODHdWo?2aY5~^Z__36HEY>hi2y9iUAf{++pdD6%q&+B(2fckunH-pffTO{%tDOw_F2ko0} zDR!E;#862q8Gfv}P&WljO%hHHPS??2%luh>EOo9^D0Crav6k}PmXST)Y}M-Yv-%7q zIq2&UZJ$H9Oq;ka^>Izfp4ppeIrDCtoXM1UcOo4f<~;TE8eFNi$UPDs5yJ3&B^Tny z@jKKg&K@pQc_KggDm2FtDu0_>d+xbC>PEnaZ~G0;U3=T->UxTeD=hNhwe@g{{s*VH zqF~#)b~TgyEwd@vzxH8|?G{Cse0A97t=TNU$j(Q~0v+lt(8wf=_Z52m7C3>(K)si7`6G0lw&wU0UAqyXzX*>k-k$3aZRM~Ex4tIIWZS+f=?vn?X@9)Lrb znQO5`ke8QA(qK9E_MJ+|;xjp z<1ip%q!1O72Lb2Dx$Yx#(*);3Xs%xB&Aw8FeQ&GTKJlyFVx;bkc>iJ*_|#n~9s>I9~R z&VqWxmw)_@v2knCH{vd;FoQgHtcAm0U6yuieTTucCvWNZkd)6vq0?5A$DjW7+%a+)-6?}RcWoxGwW_#Mgg8B$8QlWPBhs$ zij(x&Vt-1KSdj9-3m@-{baV6m!GjDj`g|sT9d85rA|`lB^Peo*V})>rE7zh>>b;mt z_M8afRt^2d{-}+ykl;*f4u!t?r_E&~l}oXba>c^Rv&8(wt%pCXn_hC%HzJe}p!Y0-zyVM^s{5 zHNLbm4+s#MqU*a!!ahn*yGcK{_jQo}aEXq%6fm__uKT7u+c6jZ$-_J6&_%NU`9|FP zqhoi8a{GU#*C|ypw+1^7jdF7QStyFMC%wJ$vCVZm`K*u+m!Y`-ejgLVi2g-|7bil` z{50qWm5$wLy7a!+CAoYf%wxXd$?Ozs!NvY@0OiZ>3!PS)wsuTKcBeF={MTYahf40s z9p$$BB2=oF1OWYl$y$S@TECLJdHsYvx={tClnYGo53MJb zWI#U@g2qVzEl`&LcsQ6HihDLPs?m~hsF$UNKxa1VzJ_>Rg&D|{t7{XT)^Yjjj_%-! z>lgH@hm8^yO!sKda?3 zt^3*TRa(c;97B$OCE6WXKhTWU`%pbk_`ta8%lX4Z=EH~Z&nuZ?ZKF7%?yj@W?qT)_ z6zzW;orgb_|NF<^_kD(A?@f+P$=;Q7kWGY2QjS$hMGFzln;VX2fy0{pnPl(r5c9BlS z8?2IaE7$9z+v=mEi2fg`nj4lfX0Nbw>T-&VQm|dvHdGuEJJI!1eD_-cYayW}kK=;a z3>-LDxW%W6%XZ+YGP$5g_5-)LIs{rZrUXt4TwdKa4J_6;zvAU@VQlJJz)jTGry!aY zfTmllfi|?Wt6*_E>%ubnshi0*9u~VVgQo5|vDo`l2-oa&6+NFl*hpjdX%{pbl3NUM?&XOjmnz=cGnwQa$&Fgm+x{#~yFD-#3i_GM75+|qEqVO6 z&<{Zea!S)cd@q(6ozpjEU|zHxwpZtn`i@{PbdHuM#m{+)NR?964?fDaOlY!dc8CcPR>f4f*g&wF~0t>gW|rY0SQ?iLR4G6$*Gutq2IR;4;ulFne9 zmq-0CQs#7WGJOsncDS~)b&)nfgsD@n4UMr=Wjt1*7Yk}kmV4|2h=;o=B9fug(m%&r z1u{QoQ-hr-+jm^}&E@GFjeCAG)AmQYdHIO)T00bMBov_v-a#6Ye}bp}J$#IK62OSG z5=iO4lprNPrtPg>M_-e`hPh`!_J+58uo>4MWhf)ZWGGse`2X)*=SlG}@f5D*<+;%E)6IFLomc4m2YMOv#bO^fH0lDsh zE#FM}9gUk7P|E9WqswrI{kXxvKQ|0#JJ*XzoTEJD3!~W}?gCPsJP?HxCU66@_=mQu zBoTFeySDuwSU38N3V(NE>CDlq|DykP7u#Hs!K~%y*$4*ypc=6=W#v{}*g}Da#6`#* z7qj|#27=b@dErWN%U#T|p}l#dg{ATN zM>2B0cb_BvMRVPD=V-^6ZB95zI|yBl!XNB^Up883Vl;Q}QbqDXm%LM(cfV_A5Q16- z$tLkn#z*OqPSmPxvi@V+o+|#?-u)e7c>0Dw6_Ta0 z((k;#8x6#BIybYlT733^{e2|B5VT)th>pIbPy8qMnFk6yOw?tF3SmdhqR~v(^Ejrc z7rYXZhkjc_<36B|?xMSooas$$L6u8=S$YY*5+~bm^41qx`qo|GTse7@H`) zlI8l)?G?}T;ccJ1=G>NDjpJ2@_ln(4S^LDDL*)`p1CJYmU^yKwY4bb3+2!TIiEn&N z?e(8z&)g@5suX-8BKeY8OY}ez!Id94Ht>;fbM$l8b2?axGUAr%whPWUlh>3*F+5wS z5W)Rq>#6y?sCSG&8P8QX3yw9ynmv2cIJ4!WrZ}{}CHXSHDZlx^_OUNh2m)F%<;NHW z&|aaiqgdh^sf9)Qi0$ITAOpLqw6Hh#Z0lSNzLZkH9+Cq}8d&mR6GcWt5<_QUe-zH6 zf@W-WmT$ohcBeQhCU#{qr4vo{13!`Q;A`m)Xqk46H7g{wF^V$~Kr>EiQ{QPa?DM16 zo5eze_y064Nt;^bf9%*GT5(F(bKBsWcP4>yzj`?M;N{1sChZ*W&X8UwUy`>gllkQH zAVfA%EWa&`o4cARowr%jyWsTMg5PbGe$MN^fK_1xFY58!sH#`r=m}=?>w8)}(bs`3KlUNJfiOr}1)Rhxa zY*BVMdzIxg?;8#e9sRFfS&}#Q5o;uY=-blt@WA7NCUkeKq zM21CzJ#U70X63R=emoY63g0s^403x8-j%>mxsx&2jH29k!LRw}Y+(&s_D2z9Bl6ry z;_qNzqupAj6Dbl}E3Y;{3MHRFrwK%C*D5wwYPqnF$Bl4t z4^|iBLXB|V$++eW{b~lztUhTp#7Dg9?P8ZMkcs60fKud}2_I@HGaoaZK_UCkA^HX` z54{&OEZL71SZmDX-q44_?u}D-+yg?vgXJ5pnUED`Yn*mY7TnOY57luKW2sk>y*e~t z0F&`Tvi}~FWVDRI8$aiV;l>VvXTR8YP)|mr@R(FGxV`d!}aCW z3ca_W?3;(ZjZ?-S7iGD~u6)(~l?0lZ4`XHArVKrd*ARX0h3Sq;P(-Bs=fBHjNg8^; z8T_8e#+!E@}>wUt8{n7dp-vbYyS;ZD|7xMVq6oUAAR7iHACYA?3W< zf<_}DhM2(S{8~1FECWPmP)i=&(S%D6Uh{>8-9NFF0>;-0J2`5M)8sVO6lk`vU<55J zyt4AUGj`=kCj-6r_pKs~tQTImwZ#LCKL82n)vS%rd6gmDeUFDzC2;?BC5u067w{$K zOi0JUMNR=}z*g#$k=GU3UK~C()7rIZ)K~JjZ33_J-%6Sg*yUmF;npp0Jmg7eOp^}z z@k~v=iF&qxLKEJ9Iq9ST(K-hI@XLxXV3{P}c<*;KEpD{&fswc-NvOw{Ng!?%$%^Ba zVp74rPeq|20{3|!t$Z6dNaX&d@b3hsbI}+6=MA-G@>Rz*-gIM}0QbYhH-;+LwV<># z_caeV+mnwHk@#nj48GBD1@SWx5*K)hC-G!{unn8n_FkBgHDi4_HCqwc^OC>aSN{nj zgsyLVbzNlpUfi^KE%*k_^NoT{lXHmgN&CtBH<#x|zi%-fJmoh&%T=3*VqV5I`x$9j zCa>9XBl@o)=Dj|$zk+TM(sFOAIA5*z{jgHWqTKEsSfMue0wvk)F&E9Z4kUTvsT&Ui zI;bS=ifxmRHQeH{u{=S6rnV>8T%1ZIlvxRLGnT>NZb1rxR?9VTa=QvBQIo3WgHlZ0 zI)cnrmRTkRxbfZ~k*IR$&Nw}bU$}1XsAX8phhx~TZi-M2*3!gMllg~089$U5bxP{d ztPBC%!^lhG7<*M1W6zih;%{}QF1#Av=C+=0VXub>F-||uii^I&o}4~GjX~er-Mi;L zW4&2+7bS+U5RLcffrpZ_zktrF(Hz7C2TLuFs7(I_vw(HxOld= zP{v*7=*~w*2lTX8hLRF;WRJJ8e(!^`uOGF4M&z*x%`O_S=ojl8eb7Vl+;k{z<8>cC zW9XHBP{PfddI#@pwpQXR+=9Ns+22zHyKYalXqv$(cgrc+;G(#Y-1F`b*4IBJ{oHpw zE$!s9oHEt-R-%)0?|3rLMVr21KehrkF)6j*{xXKT9}@jc;cPxH+(FK~_d3uenC`3P z&LAMNoZPAp3{pmuVn)3&T?{6YukUu?;kSz>cZqtrrfW~b{nE0Dpll;!#UF$K%O za*Hb2K@9@l9S2;{dC$4DIr?9n1t-66-ef(xlu?^q*iL@v^LbTuI>ol_@hkjExU$DV zZ>q@ciJ_c1yUm+y<^Av841sdWDRo(7A+QD)GWaZ9$!!pMfII%?8m(*s-!M;A!&QDY znESBb)rwS#7y)8~&9$8m6Dg|+uUyJ>X89m3DD3s^ncY3r9jwbvZr67aXvG@H*^yR< zw#MwJ_}V`Y9Fx2886l~2UXR^r#t)Zvs;L2Etn}u`!YDG$7}sC{XSW1+V-FIL@T=nq z3XULH%Dj^gL;+18rwhpi`w4ksPAfh)q2B92T~Suu=pJR5xH)>|Xz5b&h&joh6{-UD zr=tG6{W2$Leyn8A75wV$NUJW5!lkR=JWmxDb}m@KMt*aX|0Lgd?apimcgKh$7!TD^ zr?M2P^&g|WWNzZes{J{$CIK=!k!K*+O3*M zv0raR)KXy63YEiqfrk;H@V*%FJAsk@bCtj-3zK@(CYqaZ<3r);ng95)BI{QdM@ChT z+{~W}XxmfY^|6a6C{i|T&raDP-YP#}X4()3)LOPzxPrEeE?C`mHL@Y@GnV|sD)^A8 z+Qy=R+v?Eq=FT#FZNZ}KchM_$&U-lx-yFJH$R4eHyLp`e96{~O=JQ~xI67*{l7zk7 zwz;{WTFzWmuQ%30hx%y8mJ5~6SBEWQ$-;ouQfPIMv8%~2HzUaVfD_{c`YP#c#I*-P z5v2mt1WNfJw0CQoC$ce;=k-p8<*toNLxShpMWsi z#5lPb0F)*10d-LX7OEJtgeM-)ka9g5>*m6~TSd16-@5Uhum;446qE+)o4*7*v%%~h zpQh`fexUwrWe!M$G~iYfYRU%=wZB!viMT;f#+b<)>an+O|L9x@wF`S?a;onW9@Nt! zgwRlNwn@`>>f{8Mdat`Os8xZ6;!J`s}XW-zm*nBeq^H?bjXBWq;f?l{ch6ku}jDe}Ij|V99wHFVzeY zvg}t>xok`aUCJA@&pT!b%$E;^;(QCTAC74Mo+&jr;rDs-O5M|dT?*3E*KU6b`S4{N z3g7SbJX|?Hipx@3_uNgWaE9_U*j*CZEC3jsWz;`&WpEzKaU+m&_p|74FSv3uN9sz} zG1JT5f2bF@A;;~+jt5+;x-4{^-mtnc%y|7gCjpdf*!Z0R?5@=IOmZEZu$)*j_8&12*; zz7>H%il7Li*KsY17(SSEJ+Nwx_f(2or)Dd&-Pd6?=1s^F+xOrB_hAqXF-6q6< zggFQdil3*ppwa){#%|4h-&Wnp4>F| zfBk9&F;;)}mAY?6E&FMtHKn#4_}t;HhV&lcdxxP$jgRTvARukvu~^DC#cbFm`U$CR zHeD)yI~1W;d|05owuFbgP&DHCIx7PI@gljzYrE{T9vtH%4{H8{+ZxE}ErngvC;q|| zWc1;W9p?YVO+g5(7Gg_LANL@dyj5}X7?cmW# z8#3n4@VjlmbG^r~N=gMMvsQd(RFv_vYQhkp+S5k{-41g7?ju@VIV^W2h)1X-HGjQ( zW_WqrBb3WQ?9x8>{#+YHwY^;ldltO)&awPE74`VbK4Xj=^gWvM1soVrb4RgN39uHV zMVH4S+>DdjXb=oEiA32~sN&qWTGS(*eIEqJu7&Edlc#_1a5I&@t@E%upTUT%r9L}! zKic_&zWjuK1rUW+?}HEEYn0$Y-jf5dx20C^!@C!Z5aEMR+G=`F>zl(%XKX*+IkP>h zP)twd*pGne5RPE2hqAJGKtJ#h%k?FXU-06C8tLl6s{!tXapU)w&bA$5=L|FANRrTL zi9~9&G;I3Nf~K$}xicX8N(5*hB?l*oK!R3h+m{pI9P-}OaKFXOjHX|y~x@nCiT zD-p-=^+;+Xk`1Oy-EKDagDOeQ1MFLls-H_TEehGWvNwDLK8r*5aav*wP4F2re=obQ z42X|h{%fDN5|QYC6!4nfl^AV1Cy&$W(G~C7OF1wQaMUmJbfw!4oWoArPq%MR%#JF? zN>&+`HiZ^9Ns8$ZIDZS7KN2`xO6GJbXbE(-uAdxP&2YQsGJ`$`Esj;%<*czTupA8Sculh z^+CWkJ!qUjS!daG+G)%rZHG<(%v8yq90xfxKTN$$vj6Gf#eA&p#F@8cf@spmN2eD~ zUo@7^Otm*~#7xx;UYqH=9ULG0_+#mD-*&~0)mO=?aO+fO_xIE$Sz|mcw>2%x3iQo> zI141BAN){lyw)r$bLE>hQ~eL@em&l42Y$B5!+7tqh|9;by4q(t#oGO?lzs$#)Oi?c zno&YrDtXAA_`zWa>uha=?6`L|W``0u4|gt*;9XMG&w_yqzNb*i`du@M2A2@LR`X2? z4H#syCloTaI#ts#z8X-T!hcdIW}aGCg>@rti;NrX=wKo{gN6SFHXmtNu_q9H_ktJa zjwkqtG>bs|m(59y8>J@Jvl1Z=D^YeOk1p?mv#mNGMD5LzUvT=eYc*Q@;xc@o{09U+$&;~=)gLjo7! zF$+I5blf6Po+~fkgMM^Z*X@Hdw27Fb$77n|heG68l!R}pd~vCg&tCN1VKQZovG9k6dZP zUiO`NXn*HfZcCqRK`fwaP4NzSiLG(qyg(HHJ2}AFu)MSx>^T z#*=i@gew?U+qxkAk_uv1M*yB2*^%(E^900LFld?PbuG)|o6+R^{Nxby*^SWN2#)i? z(}?f%@3ya7;~3U>&CUKE--rje8f(V)#4k@qc;nZ3KNLCP$-L}&1@}|G-Vs^J3LWbp zB+igiSc)sps37A`iO%@OzsCbl%OFliy3Apt<2D+G()Wi);+%9ee?|lxHTSw5@ZhPy zzPG^|N2%M6H%HOF#Qn-Du2DvwOHV~{lP3X$hV*SHFxFkMfMdxseSd~|q9nu#T)2hn z_%^{BJ!=4!&XNSNM}IoHHKQ-?3IhR7AG;PBFOv|3&v~q zLeNc_8vW|-fo)@iU@@{g^~mp&!uVcQzXqF`Uie6A>? zdc=Ku&)(UkLzT1#J#>dYswwV}=+ZXgFTTK?qPdrZ_`ADDPw^nFbf}j8j6r|MQKwnd z8lBRsm6zHdb>=Hs9OrDdIJr&doA8t0dnGp(&xd}+^tVHLUuz7kWA9c)e$-b;k=rPV zF?5O>(dg0C1jj+0GDv4XSD)cv^e+-NOSI;K>`y4T@t}g^OP%n84{kWqgq?^uPKfRL zt@7=Twazn)HiaD!4dt?r=V7-8EXQg0@ODKZ^4(9ptY8?|U%Q<{9Y~q$dHi!!!XB(OtwJeWA1^5s}SGMEc9Z7=X4Sr><7unW_`x!)9%_u04Vhk`<>>@RUvY9g2%g=6Awat9M*ryv zV^PL?oGLmXicLZW{){o$1xIRQ z=fntz5^@_Fmz{jRpe!Tc9{mNnrd`R)KeW*_roheIsf2XvLfPg_#+YiR^in+apO~1{ z;rPc#M0`Bl%75Nk%`gl+63=*u8MXl?Vq4d#zp-KXu3rxkDINmy-?x%ihM{wvCoJ}h zB`Anqx6PbS6K8j4EjEt$*1z4{vM2&bXiqW7-cnr?^FBTKDWgKt-1a)Uk9Tm> zB-R_gUgDG$#oveoWS^5?p*i6Cxnb~)fUy1Wk!Vbh0I|>X=%@rM)E9=B3!}VZAY=1G zw}BiOk`ksxemamv#5}SL6&*^lV5bIqrJ>!*9J>;D1yf*#5+XvjQv4u-LP}DNA(T6{ zeY#q_5(SM&edZjxwzC|`~s9~w3^PZ6NM%)^+?;agEISmY5TBD?|&paU@ zFv7oX(iP3y2Rq2>ih`?w_F##2VDn1Xdr$lgRhU_;@N%`~P432JCz;=eW$w{~CZub3 zOY8GWz@=(jm!2b$(3J$QaE7r^y_cAGZ0$LktQ(&2$75h)nV&#B7Q#<4F1%-{@D7Dc zz={9|nB@iEyzr(Ci|mG7CBYK@1WMfj)(LnmE~B@BJsz+7MUFX}2i)@shD`hwY<0v#}tx(;gXp{sx)o5FztxXgRC!B9Yt zI@14blWX+RPP&!8bk21l+L*(Lm&p3~9cuTT^`497|CQkGoqfq+*J9s%PvE`&%G5p$ za^NPGTW7mC)n{rDE^FWzLiCC)*?|<)5l-Q}0~DR;%XO9{(~X)cm|Q_k<>%Of4gPSs z?+lAc5)1n@Wyhiq#V!elqHigyg(qqXmgh&a=BNg>68)*z(w@o->~pidkJby@<~Ji( z0>UZ{7;Sv$WI4}w*UUW}->yjM!53QCjLoK~ZIUk(a=5`MWUP9c2jU2DVlTicXL`i` zo}~_4zAL3Wkkdo*`dV~B*xq0Fu@%ETnAgTsOn@ULxgn8K%oa}yRmCxKm${i?*&yB;{U;S7azBY6(8LjV(?IaIppZ`UBIvBRt4E9!O02qbet9Q&nmPR zBu`!$$$~P#o9S!Ni1fdp%}#aKU#mM{vZhelnvA+zF^;y6n8A?VE0_Z;Offs24LEk7 z_f{?1gc+|Zuv-F5k^%At&A?_KE4QAjykq%Br>hf}d*Davdn#j$gn3pBr5Y|^=j6B% z^@OWn+pV2*`X#u_YPHeVvAXa6ru$qsNh|)tC5Hep^rHxas)r-vyMzNIcOLo`=)aVM z&vWX>H^080_}tLwTG-*8vo`~RnXLsVrn@uM3Y0SE_-JnwRgmy(Ahva8Vz@QH&i!<7 z)N@(sf9b7L``;nvFk?*q1Xtvw-H;2gIo^MWI|H{~eI)C0S89aewn!2q8W<<%~ z9e~^+)<`j;Cjj;w9`$u1rE^pMQF6JN`2z(3;1qUz`VIl{j$cnmH-LsP>fOiHCQ*)x z-FJdOHioS@cs?)Hb7oY_arNKddBMV;W7Omw_Kl>(v5Ol$ckqd;&0selOS!%!4`xl7 zJ=?2>Oz7``SM1d7fpQ-2PlolO#PhAGS%tq?b}SC*G)%nXEX)D=z}a{6RAJb~HU_rG z1QL%TXE!zl;gNx2aS8{l8a3(JBLV@;X(wsQ(Wf42p!U4|+*vhbaM~HBoJV7s*+UBb1`*C$<3Bj_c(;%_*^xnr8-7@8a6_F^JFvEv< zM{7&+3US{V3F&thEGhilZ z>n1l-``#@}MT|_d096+?T$c?99k&l>-gjVP0{ZMh~u~M~@EL#ZR;Y02q-A|C$GJ0R~ zl>##-f6cucX^>N9{%yBB;k}hJ-;tPs*bLFvF9*=nyRUt)w6{PUM7vdOQ@ z_|f(^YU|Gldw{TgFbq~OZ`y+^WjJM z+b*Pww5!j@Ys8eDVq7KADH&l|R>=76A_Xz6B)?Nt3QKOG*T6y?{qTPq*s!Miu$;dn z?aYQS`OfwKUY*&_Ww)_C(0E)4JpWfhpuG^_O|*>*F9a#Dd4Pzq(KT{DTy=sW@{OS5 zaG=Y~T?l3x6SJUQ)==j8x31+AzU7-GNuJ$UHC1Fb>J8#xbLE0IMj}E`1=(W_4v$?p z!az-vfjb_Y6mlW_A|Mqt$A13D{#`8Cxz0J=z_%U9Vt17xQsXxcSk|_nLAsP@(pu=Z zS7dRv=+54JifYCx!ZgfinU|D5+PBf&gP9h=J(Z z0uw%{`T5;Mced@{{M>`8cEQF;hsI>jYH%?WE*h`ve7yXj;oa05(5HcI-t}IstNB~x zi{oY)Fs(Hsm)&g#Uhx9g8-|t}(fMJxj5|o?En)oY{m2gjamD#&tiqv0*67{!WmaM3 zH6YN(B?AGcso$0Pz!NRfH9Y~Z&R@Of0qO_rbkf#X^t+2xp3Sl!HAVihb%zHYF%zi< zQnkMiqi#n-N;HZ4*w!?9_+_S#8QP3mQp)ZK-H&0VCe%==*Q9P-^j_x!-; zU62>tzeZrlCj6ow(&hIQCTrw=teqaM)-Pu4Z;8Li5$}~>2j*j&)6UfQJ<99GG>3op zic}YrZ7{|GIUws|M@e7}MlzK42sQfhOYaEQ)4uLM%Gagz7?Z=Wz5UrecYpkQ1!tsR zI=ucthMWUTMPbujyWI3LegU`52<+V2QiTvhQ4CseDXg#M#fGV@6o%u38YOl(%I=&$ z!dfiovS5D|kL(gpoO3O{@^j+`7LcNRuy|}0ht){bciu*$8)d8C34*=^9cQ^(8oFI? z&W3l#Y+puZ|D0nEJoR%EfJ$u&-y!YS;^=F^4o7L{Tr7okYmee_?BhMzUda-j|2UJp z5P_kEV}J-w5e&<*3)A0cwDpYS6Lga1I&nYlRzhBF)O`(gnsuz)N51>;8Rg>sACKS) zdXG>!#^Pvj?_(m5JH8^_HTQNHkFF!;1>l?nVHh&6c|USK>OEgK3w`>WuC+0?3RWWe z4Ag)SYlp*7mI%=R5dw$tlY%$R;7INugw&cwjtE^?QYfOTF4MDaK=vRDx*w0agziYm zlRmq@^c>EzNKGhRtmzScF8Ff2&b=-EaWPO+WbsFo@kNx8lBexHcUC{lqo+v~HqEMu zH~>f7#MGHn2zo2F?A{!Lui+ytFK0~5A+i=@#_`-iX*GJVPePLQ7`8eASaUFk)Op<#KDj}mWL|wmsB+eKd?h#|;@0z|z?H2{NM=`3` z2Gy`MQ*a;gku=>C9U1-#mqJly2B{%8sq*XzVH!&?K(d?uJ^Od;0klku_H>EssZ8Hb z`pA5!z`SZm^`iQhXU!l9T6rNvAW*c%8~eG|bVN~s%eiic-|nZmO1^^5T@q`D1L3L1 zy?j$?5gd1uBTT3bQhwZcG=;Gy_4OpYL3|5WtmmcP|gb)1`1OWB2(M%ZslG$RLoH zfYK_vpwHo(jc%7?CD{otpndO&{gvXqPp|f1a)&8DotB~&~f8Rfq%ewx+W%73b_wv;km@<5BXabjr?Q+;pIuL+h zgc;2rK<2If{D}R-9z1`yp2~ohC5C>$4t*n~brCr}vI|Q6*VRd()kFqo@M;H`; zmT{8@YFFU`c27hgQ&#A1cKeKPllg<6=z(_J_a9Upwu5xI{yz_ab2(qip(6x}aj_WX z^1^QP)?Va3_u3J6{`q2VDZY*tL*v>6K-;vpA;@oI@*sS*JLEq<*zcI5)$X;Qfg*W@ykRWQ+2>XvxZ53y*8p7MIJA}7Jn#D3ceWpDEwT;|_zj&oT&xwTnzAAf<{wKRz zIs?Ao9-rGm6ux!SfH9M&lrw^OKZ>6kzJ(vggd%FQiO6r%}`rQBD$kuF|>Z8^3s`je{5eNZ}=e^T@8O~bv2*c<(Mc5FHY|K`w!&+9&-_xnOmH2N(~t~xZQvcz7il}_|+k|(K$XgG9d~*Bn(2iH`C{=xXDRz_DhS8 zhp&h4)1BY==f%%;$1?_jK5d`(7n9gL81T#z4i5KJEVUEa?o`@Iu*cD$kyK zCJFenhJ_fx|Cmd6oDi!rM0)!Ftl_*({5%42XfjyVJx^TQv_^rT& z+$V?qgu;y2`D@=4(D%CanhK(@22HBb!gcRkA)t<_;$aE@0`|bk70i_gF-Dw^C%Fkm zE|fmxwg+nm?tCE3 z>juOLUj&S*QGQ+f$@ARe>prlKb;8b#2vXN{ss4${1hGE#%y+<@?R(mJ z%XP`ZdhG*&kpnM&xCOjlEJYNa>-?azwG$88RKI}~kRn+?+FnvG20ik>Q9qv-0$Blj z*wuxHc%dahn7j|daN#bsvX`yd0=Ee~QLfM#VgrNnihK zY^<2QW(7<*?dT3&MZ^&ktksAB``-p`m@qzy5?}&fHz_3M?~dapI`89#8Ef+sX)iq5 zVlPg6Y0$=E{mV;|^)+WST0Jg77l9r>AuhZcsM|>F))XdJ7h#?gW9rCLxpv@1Lyr-5 zBX2NN@bfw~jJ!7as4<$$O7xBL+{fRd-z5at6xTaY-|Bg6#x$aQMK$#nI4_i;a|6Y7 zqDm{z`0Tl3;sj6`w({b6;N}ikyC(J{+B<`!=ZaM;G2aSC79Tl4D=nwDH5ZN_ zqp2bjJ$A2yO&Z0R{NH*?-YbyBEqg+p!SU^GXX>1M1V#DUh56ae|-{$zQ+n$qhIc9PP%Mc2`sgrf5E1YAMgj z+6ugCI?b~yjsEPXq|q7XMgI@4Oq7&4+VVCn#@9WFqGr`c8yc!2dp%FtpY>N2^Ln-6 z@qW4w-qcMb!+&&J-i6F-kx8NLy+jTguQlr=p-W$EY;p!H|DyK+?LXQ-gU*L6y09zp z{5{nM&aUjwf^Vo+q~Cw&!;R6v0JLKI8DEzkhGL|>AI_lis+)p}t8XXMRTP+<+DCp+ zMcms*;P_l9f$6m)woZ!ZfUgSCo=Y_cN4T6#o9;!a#RUrG_3|KgF|xeW8a>)nEDu}s zsiB59MGJPvBGj`({VpKfNJ>yZP9Pi_D%vjzaZbVEixBUdq`QIZh7}m?9>gc<;jqg0iz-n?q3*WC*k~+S`tA2vZ@Axj zEnU6d%<~>bVt>n{cQG7rDD64L17E>#Fo& zW>Jk!*FId;zsYkFs}uYrxpfcLu)|KG?;kE03zV(egpGKh4U!0)4MBH~$DK|0mVsLb z5`-Adc3@L{&7+Y%4a?CR6p%_7J7DV-e%l_SyX=Yvx}qvUR_o-WO& zYSkf1Ww^^3^B-@k! z-{@ty_Pmt6G@`Z@KEuU$hOLp>&3~4Q62dU7dYY@L;+aHraWVqe!6{f*oMCP8>E-ow z%--ZPmAn+K7CMJxPx)hV;G_TYg~=CRPvf;C`noM|i>(}q^Hg^p4l{ta9#v-J><`(; z1yyUkxvI*p>r-b9=16V3_36a%yGTEbjS;dzm3!OM121Kt1>;7It`B8(>3a?x6&eY4 z!4g%cd|tjGofKNSyuCI!VgG8wNqM%(^@Xd#=;`gO>G4qwh3^mlQp*o876f_bcg;m` z{zXJuq6PfVP3F1(F3_mm1`5oWQE?!3!n~aM4gQwk(mXy}L!X^~rJH;W^82J%{h{dzU*6CEO7cW!^Vc4p-oLiKy$}t?O zRYUbe$N0y?$CSe9Cl}8m#mX4eeeT3PNQ5uQKcCgG z6XKhO20liw9%r}YAE#`unpt^g@BVPL zp4%r6+dd-p&&B;A-l}?ZP%*-8RfU!%D=UkuDfjC=Gk#Wu2RCD@h(0iv>>sV7mRtPj znDoA2gS~tEujr@bZM_L%lU@NGX1}r-<`?x^d(;*Ctd~BRQ4aDxcCpMMM9LgAxvI?+ ztvfXri+3aaaTu}4Tuw{5m;It7w*6mkeo7M5wN~|+U7BVej`Y6TAw*=vj_C_}(pgK# z=ClDtpekhJgU!V6e|qX(UmmDyk_(jz?U7V!*!zk**g2m0y}Uvfka<&YoE#C1tCeYW z2>RB?#zaOQTM~k_69}d)=*?AZ^_Xv~rM4otzR$>9lK`nr$IzFv4vk}-ghXh-l*inDm zk+=6`;z~=rl4nOlE^!XVnC`ea+O3ZSn$V2#&Acp!Vx?>xa68oHs)zLPSowp~)2y!6 z%0Vkd2mVNJ-KF(+;y3ra4+I#k9HlfXD>lzQzosu~c;LA@xlw1~dHi zF}Mp705s6%d!70jPTTl0COGfA)93w%9hpD^|EI|9B+l`3;qIEpKLW7GoR{Pz511@I z{q8o%LXRAw9jNBf|B3dm)I8@@8y9gcBnY&xj0s9hBhI+4rH+L({~W%zH4*=6gjO{E zShtYx?}^+A0Y{Zn$CR>7AWAs^(N|->IzwI3cf?6U=|aG(*@`1g;jLe41iICyh!$J9 zPoSPH(rH1**`R^6xqnwj{v_7j(7v940nHDONiz~~Xra zvhJ#bspkUrJVOo(W%_1k-iWeKVHtliFG98)Z5B1G9o>J}OFZg2}_n>Xi+{pGKA2{oo5)|DG-?8Oc<7 z6Xodx69!23aku71hezI0byjrO7iJp-Pr}pqxc@j`6h82J^4L$eWawqW*iJzHM6T}0 z+F)`{?R5P;Qe~9=m;DtB9$Z=u11W=sk-tj5irH_(z9Hlp(Y3gowdi4HzNafHTK#$f z5&{Dy#`ra1jNWSDo+FjJRxtd{%2&Fg0jBlKsubR>ZgZ!eeT!S$UTv-m`No7@qL_i{ z5-pnEDdi*Ys<@ax^@&3yayiQo4TTwdG#ToN~$_4gvG|&>z;qIKJlXMZYlMh*PQdP zW$_yIxuZmU>$>Y#x?f-NRshB44j>1eM*)b4sEL396EC1iJ|@d8Xh{wN!1a=AgY~fH zK0bz2JQkm^$r)*WK80NEhhLhbym;gx@0<`2(nDTZG<1IdQ5mp1M|^AGd*Q2E*&p=# z&)%1s$>YHDJ5WY5mmu}5(C5C+zD}7wn%_r-O}P3L;L~(9v#hcq=lqrGZzrq0o!vob zZU1s1bL{1dtF42$<`Mc?hciuVw^R5x!HQ}V7=M9$2ct(oK8;-0#JNoA^aAs2mI(dy zVQm6(V-UxDx_i)utu9$x zowLY}voVcCg^&73(`k3Tk&}xgahyw{{!-Fe?3b&>`#%EOuVbDV`}?40SLsH;NF^WT zP5ofGyPH~gt6APdM%bv)d+)U}2#8>RXIDu;dbl}7NJ<|S1VU#JEdtHNYhtWtUKlX% zK!y^S4{J4dNteI`)9IZ;?sH?-{Iki#AKO5rze?jp_ohIm0Uvc6uYF5=WWKH*a*&@a z-!k{4{~Tp_J?~ngX-GJGTkpmx{Nwe!=93=pn>+46@P8$g!t=G6N?rU3$&_|!(4A(i zn52|qdu1Xl`g@U*LSoP;zwyN4D<&FGeRZhKS-r*lsjTN*62jLd6 zO)vcJ%ljsf1R*q16EjzJdK|o+`uIbV0E&wjo2Y}MI&wtDbvxT4-+pIjaOumpr-C1j zC~cJ-YJ8QGMjZ;Vu#m<9qFLA(Ze$+@j|Zwq-Cuvd>Rn+<*7iJLE-FmsH^(D!SV$j{ zt3yop$pPBJ{50Q7ZXq1?5-(^~oI3=A8&K5KCPl5@wJQN)UFr=~&C9vH)S?SHGiEcg zk7DDy6)GXK>8vjy&R*y4cfWt`pZn)N@5krfuh;AOdXD=_ zH1@ZZ&>u)QsD(t)huy<*V-9NFIivW z`Va8m?VXtC_T~3OWkY1i)6{cpQ9xS|u!f5+Dk8eiM+w)%lL|#JqFT5j{-TD1~xzydEt?lLZ;cyK>p~!9~Yx1ZYmbNc#}q_&;q_ zeFA_V3nEYBpIhb4@c|9A_j)jPwDY)rE=DdRT5f$bp$bwtNItWEla*Nq4+%S{gIU?- z*S%X(Kx+EalXpbtRWa#n<&JJt(^)G;)&`UCcSk3H3-VROXoDSK>X!m}nY#Kt=%duD zcu*%1+l-EGPoR4($Zh-)1yVQSEnhcwiu%|yIJXH)n zhlmlc$#&kfkl{Uo#!&E-p1Ps0PH|T+UhKU(0GOEo9snNFyTzUK4=1H?bVII7f&ISV zj5PTUOXtXHZTY4T3Me#PF+xhsNnxg>(*Q5gkePPv(vz9+pciT@4|;BmoMt@45%Y%a zchf65--8U#qJsi^2V^kh=&Wd-m-^3U8FD{Ly_+(3Rh8v&lCI`h{(WBL zbESiS`ZvIjkQ|XweLEKHOSpOGXAtiIovMURsTHU@vvmwbzgieK6_@EtL>ORT8;Cqg z8e}yrcHD9`XT4Qq>=gs8bWu4zqt{)4$$CGzuImws0?gL5^NSJ*{Gy2qHwhHm2zd+G zgdMaX(2HUGM|z`;zORIwq5%!$=&Yx)!o|-qk0z+cr!FAx*CT))xNN8g@+SWCI@tmw zB%j2ogKm9nb;^jY3JAj_^}#h@Kcv6|bV6sKR^GbTV!yQ5xQSQ+PJesN3#Sx#A77TS zG@W>AE$i{vh)|EvNag^X@r!usO>>d46zqr;G#{mA71r8TMm z20&?-M&$t;_evjvU#XEh^5Wi7_*#!CPuKSvR&Xg+G>C;;SXOkI*1V^)=Ba&7P zkFwlB_3JRjV3nO`$Yi{fw9+U=3KVW&LE28xo^}c`?Eu~gtZM>V36EnGs_nl5eV)0F znmeccl1tJnZ)qcb7;tF}@d|9GpaRP)$wj0Okx8Vg1^;;=u5Lbb7Tv>U+>SK%xL4RC zBqF2LgW+i_qFhuTXxA78Ji1Um&BljbKN`# zAU(9yv|9O|OY;A{xptFpTY-WVuqSBvBMQ3sI zQ*eH)&+jtgd?1Q4pktkJhl0AAPLs>|y<4x-s*U8>Uo4F|_InY44s@_UM?)AT1MrW9 zd^PUNIU>Tg(cX^i;RbGSJc8bN@3&2eh29LzD5!Z5Hth8GfR`8qf+y{p5aUlL)rsFl z_LS|x(kF|D+;&TVWOcAC^U(Tun$^maKVt08@(JZTzR|SqAUjQq6m`(GX}O*5LWSe) z)=hUqJCNOb=N2N}t%QT>9e?ZEk<=}3Ik=9wB)|_W&1Rww(&C;b=F7eGnzdFoeWO$N zdXJIi+Cdlj-R#ARm~sh+P+)yqPu!kz?Bb|bU1$R@$gLDo7yPDyBn#45gq))j??>Ff zixE|8Mem{?Em*7ALF4>VM3{4}hp{A@($Aja*0^Fw4>B`X0x*fQ`dK$<>Ao9ceb%{( z{9}hsthFb`C?_v3Ph>k=#xqC&F8xut$Gsg$ZY@=7g~|M~#DhPg7&V~v+?$Rq|DAjc zM01tGv|++&mMaP7|Fd!Uvm<^VkhnSB_T$Z6gtaXF^Uh!tJbD&n?M)p2?=Qi&(;U7$ z^UNPm4DK&{LA(2S_)c|tL#jB~Zo5ZNsyUy1CV=gvrS)26oosF0(NKzxHozCs$qmux z&l1n4I6nD&zq@qePUP#%;Rl=H>RaYPNe3U59J(l=s!X4iTk!%k(yes&X`^y%{HHcR z&Qkg4mu!>Zkyv>9bHiQaR0?pO9LUo?m>&qlw>Wi)O<^h&Rr2=?)*P)*tNO?+5T3pUF+I(lEDtM8`yGAtGmx=PWMprB_ErwRx-Bqc_czE z-<8o^@J*aK->*yEDr@j6@H!Kiz0|p1CRX!=NDFlj07mh63PSky?SA4-_^E(YVu3J4 zSPkgIC-y-Ra_dh3oXdH}uO~2J>9~k{x!iiD`w&Dg-;~sv|L}rx` z#s1xcDCt6e-$}e2JC;zz)7UmNS^vv(i(OXg)JrSwYs78s5+V%e>AA$4F2 zo8BjXmAAHoMIl&sbxm-!9(gQp3Gb#?&LcuW0Sc2T->5336um5QgX2?5EbjWMbNxoe zP`G$HV&`dz^e&8yVs2MgY1g62yAOX>G)l=+#9QBXtP8~#uth0@042I`j zU{87+67;M%y|PfViOGIiW&*ov*>zC)Nna(ffjy#Tt0a(ZWp>(!4NmT zR4wx*WRfa%h6nkN2OHs?Dw3HE)&6IB$6oAoMK$wGI~O{52)y-{jI5 zp7s#rde9q?Uj|K39xCA-(sKgzjca$xFw&if zRhj>2_1^bR#l7l#(YXC~N`^2uw0}9!lsLHkd~uMEQ*`{lO38WFT`|~=e?7jz81dS9Uid6qq}h-W8Kt-Fz7w;Fe1)S_Lr{?&BE>*di3qf-`n!Z=BCYL zp#ro&z~*tx+3VKH<>TxIDT#v@H?H0h+PxX@!xn)1HDRhJ7*PjR}hmTj6i1pnpMvR)M&Y|7SZ6%yN~zvB)+81RGNk(wQ8 zaa{e`B7G;IS$*RNM+SKMe9B*v@dzD>M=I6jPPJk{p^tIltTep9lXAc^3F=l;c~}~i z%fh9q}hxPc@7K%89`I)06s#o^zkPq37E%f?$bsk+1C-@IX^O%?2XpFDIWNd8 zfx4ZYMJ`_#f*rv+<27ZltW!qvF8cjnzc+h!lgZCX;%s3|{wLNS(Ua`{Z^{eGw691~ ztht_j!~S?4r*Fwut&_PXk{$VeE)(z*zt(9?-7KDHv zNdQZE^CE)PTdU04C17Te#~eFs1kn%}rqFfnq_g%wxNcAaAVE0p=}!7@3DbC9Bn9M% z?8Vo$zsKlt_4N!}Nl63!J08&G2cmoe&>ep5rW|J;AeOoRZ=ZxV4zZcFz83xC;^Q3> zXV*s4weJUoUJ5t^Q9jzx<5QCv%l4f@;%w5DQx$QK*olH^Hm@OPO!;xk>o}q-yWsna zf@3oI#-l!=psvt1cH3p4%k^u&+@_c;gtP`R7pm6OX zb3}w&MTrp5Q2P}u33nni*v<@a2YKYfNk__IO{7#*5y-?Nl}(7gNTh6npj*WS-)D`w z;bns}_b(fio#6vE#OqEra8Z{UOSDL61yvw5FZez+c(!??zW9AXlB?BI_4*_8gqlPQ zB;y4us;+ql=#MZ14QYXDGIkU|3tNbKi+&+ciaKkJAFezh^>%ZQTuiun`Pb&<^&(67 z0bo347hpJVZb-XzTa?<}G8!2$QMQZ?Q+WIahi4>fN1k6!>M^0DQ@cKAmtEEqD)k-#d*c{XhS)TO@vBnIfBOk**K{|42J3k$GY7aG3j+IaYsxIZ$} z?xcEZ*7!C%k8@;g06n$$*hdf{B2D%bKwKiDKn0@vFioWv`Kz#$PM4ZfMpxI4JsPpu zV|ygJwV&uZgWVH$%1jNm#YBd%Ztta|2SB@g%e6b?gU!_f>kk1%>Q`ezPnj4~FUL)W zqiMPAUKu^z^<@SF43NO`2rKp;HzrS#7|f2=-jN<#d^ghr5<$Y3Z4uzU_QuctWE{AK zz}_zJg_W+$WBwI%Zq??*wzXO0HBJZf-3vxVey9q30=|D88*=^j{_F1;9Y^G1UoJIE zAnTH-e7q9MQTz(-U%{sz=T0A2-ZFp7G*BTjgQ0K;>Fs6vkn^t}mA2pBUbRe^n_TB_!?_FP9$r4F%ap0yl2$EQ zSXYhocyg7I`iEgd|K2aRAE&Tjca?k>4W|NfXF~|i10t@V1<{GMhXF|6t{n~QaMruK z-yQ{rC_Yf^JLrZ0yFHQsd>NK=1+E!>D26wg4?My!b9jY#MaIC3emZZ)(TANgQVhRe zuf5A|uZJV)N&IQ@UZmK{*LPxARM3k^hℜ_?Ej#>SN*~hOPZ?EwkTJNk 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

na}rP4 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